将键号串行送入显示缓冲区 十、参考程序 ORG OOOOH P3.#0FH MOV SP#60H P3, #OFBH MOV DPTR #TABLE MOV A Pl LCALL QL;40到47单元清零 ORL A, 50H LCALLXS;40到43单元的内容 MOV 50H.A LCALLJO;检测是否有按键按下 MOV A#OOH LCALLYSI <K4 PUSH ACC JB01HKK;循环检测 MOVCA. QA+DPTR CNEA SOH. KK3 MOV 41H 42H MOV 45H.A MOV 42H 43H MOV P3.#OFFH MOV 43H, 45H RET LCALLXS CJNE A #OFFH, KK5 LCALLYS POP ACC SJMP KK SMP FH MOV RO.#40H POP ACC MOV R2. #OSH INC A KKO MOV RO, #OOH SMP KK4 INC RO MOV A 40H DNZR2KKO ORL A#OEOH RET LCALL XSI CLROIH MOV A41H MOV Pl, #OFOH MOV P3, #CFH LCALLXSI MOV P3,#OFBH MOV A 42H MOV API ORLA.#OBOH C NE A#OFOH KKI LCALLXSI SETB OIH MOV A 43H MOV P3#OFFH ORLA,并#70H RET LCALLXSI KKI LCALL YS1;延时20MS,防抖 RET MOV Pl,#OFOH XSI: MOV Pl,A MOV P3, #OCFH MOV P3,#0EFH MOV P3,#OFBH MOV P3.#OFFH MOV API ORLA.#OFOH MOV 50H.A MOV Pl, A MOV Pl#OFH MOV P3,#0EFH 11
11 十、参考程序: ORG 0000H MOV SP,#60H MOV DPTR ,#TABLE LCALL QL;40 到 47 单元清零 LCALL XS;40 到 43 单元的内容 KK: LCALL JC;检测是否有按键按下 LCALL YS1 JB 01H,KK ;循环检测 MOV 41H,42H MOV 42H,43H MOV 43H,45H LCALL XS LCALL YS SJMP KK QL: MOV R0,#40H MOV R2,#08H KKO: MOV @R0,#00H INC R0 DJNZ R2,KKO RET JCO: CLR 01H MOV P1,#0F0H MOV P3,#0CFH MOV P3,#0FBH MOV A,P1 CJNE A,#0F0H,KK1 FH: SETB 01H MOV P3,#0FFH RET KK1: LCALL YS1 ;延时 20MS,防抖 MOV P1,#0F0H MOV P3,#0CFH MOV P3,#0FBH MOV A,P1 MOV 50H,A MOV P1,#0FH MOV P3,#0FH MOV P3,#0FBH MOV A,P1 ORL A,50H MOV 50H,A MOV A,#00H KK4: PUSH ACC MOVC A,@A+DPTR CJNE A,50H,KK3 POP ACC KK6: MOV 45H,A MOV P3,#0FFH RET KK3: CJNE A,#0FFH,KK5 POP ACC SJMP FH KK5: POP ACC INC A SJMP KK4 XS: MOV A,40H ORL A,#0E0H LCALL XS1 MOV A,41H ORL A,#0D0H LCALL XS1 MOV A,42H ORL A,#0B0H LCALL XS1 MOV A,43H ORL A,#70H LCALL XS1 RET XS1: MOV P1,A MOV P3,#0EFH MOV P3,#0FFH ORL A,#0F0H MOV P1,A MOV P3,#0EFH 将键号串行送入显示缓冲区
MOV P3.#OFFH RET MOV RT#OAH YSO: MOV TMOD#OlH MOV THO#4CH MOV TLO,#OOH SETB TRO JNB TFOS CLR TFO CLR TRO DJNZR7, YSO RET YSI: MOV TMOD, #OlH MOV THO#OCEH MOV TLO, #OOH SETBTRO JNB TFOS CLR TE CLR TRO RET TABLE DB OEEH,ODEH,OBEH,7EH DB OEDHODDH,OBDH, 7DH DB OEBH,ODBH,OBB H, 7BH DB OETHOD7H.OB7H77H DB OFFH END
12 MOV P3,#0FFH RET YS: MOV R7,#0AH YS0: MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#00H SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R7,YS0 RET YS1: MOV TMOD,#01H MOV TH0,#0CEH MOV TL0,#00H SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 RET TABLE: DB 0EEH,0DEH,0BEH,7EH DB 0EDH,0DDH,0BDH,7DH DB 0EBH,0DBH,0BB H,7BH DB 0E7H,0D7H,0B7H,77H DB 0FFH END
3、基于LS164的LED串行显示接口 设计任务:设计一个基于164的串行显示接口 二、设计要求:设计由芯片74LS164组成的串行显示。实现(0F 串行显示,首先显示(07)的后四位再显示前四位然后整板显示 然后显示(8F)的后四位再显示前四位然后整板显示 三、设计器材:单片机,万用表,仿真机等 四、元件清单:164若干个、电阻若干个、AT89c51一片、电容 若干个、晶震一个。 五、完成时间:一周 六、评分标准: 项目 满分 完成方案的提出 10 求完成硬件的制作 15 完成软件的编写 10 完成硬件和软件的成功调试 5 完成原理图的设计 完成程序的编写 20 总结 10 七、原理: 74LS164:它是串行输入,并行输出,其中管脚1和2为串行输 入端,QA--Ⅷ为输出端,清除管脚和时钟管脚为控制管脚,当清 13
13 3、基于 LS164 的 LED 串行显示接口 一、设计任务:设计一个基于 164 的串行显示接口 二、设计要求:设计由芯片 74LS164 组成的串行显示。实现(0~F) 串行显示,首先显示(0~7)的后四位再显示前四位然后整板显示。 然后显示(8~F)的后四位再显示前四位然后整板显示。 三、设计器材:单片机,万用表,仿真机等。 四、元件清单:164 若干个、电阻若干个、AT89C51 一片、电容 若干个、晶震一个。 五、完成时间:一周 六、评分标准: 项目 满分 基 本 要 求 完成方案的提出 10 完成硬件的制作 15 完成软件的编写 10 完成硬件和软件的成功调试 25 报 告 完成原理图的设计 10 完成程序的编写 20 总结 10 七、原理: 74LS164:它是串行输入,并行输出,其中管脚1和2为串行输 入端,QA---QH 为输出端,清除管脚和时钟管脚为控制管脚,当清
除管脚为高电平时,时钟管脚为上升沿时,才会有输出.因此,在 为了实现这个程序的要求,我们只需要将单片机中的数据送到 SBUF中,再将硬件按照相应的制作好,这样就可以实现数据的 传送了,然后通过査表就能得到需要显示的数据了。根据需要显 示的方式的不同,我们可以编不同的程序。 八、原理图 弯哩嘎 击错
14 除管脚为高电平时,时钟管脚为上升沿时,才会有输出.因此,在 为了实现这个程序的要求,我们只需要将单片机中的数据送到 SBUF 中,再将硬件按照相应的制作好,这样就可以实现数据的 传送了,然后通过查表就能得到需要显示的数据了。根据需要显 示的方式的不同,我们可以编不同的程序。 八、原理图 A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 EA/VP 3 1 X 1 1 9 X 2 1 8 RESET 9 RD 1 7 WR 1 6 IN T0 1 2 IN T1 1 3 T0 1 4 T1 1 5 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 3 9 P01 3 8 P02 3 7 P03 3 6 P04 3 5 P05 3 4 P06 3 3 P07 3 2 P20 2 1 P21 2 2 P22 2 3 P23 2 4 P24 2 5 P25 2 6 P26 2 7 P27 2 8 PSEN 2 9 ALE/P 3 0 TXD 1 1 RXD 1 0 1 2 10K 30pF 30pF 11.0592M HZ 10uF A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 A 1 B 2 Q 0 3 Q 1 4 Q 2 5 Q 3 6 Q 4 1 0 Q 5 1 1 Q 6 1 2 Q 7 1 3 CLK 8 MR 9 74A LS164 a f b c g d e 1 D PY 2 3 4 5 6 7 a b c d e f g 8 d p d p D PY _7-SEG _D P R ES2 +5V +5V
九、程序流程图: 开始 初始化 第一次显示 Y 满四次吗 下一次显示 十、参考程序 ORG OOOOH MOV SP, #7OH MOV IE #0 MOV SCON #0 XX: MOV DPTR #TABLE MOV R1. #4 RECYCLE MOV RO. #8 AGAIN: mov A, #0 MOVC A GA+DPTR
15 九、程序流程图: Y N 十、参考程序: ORG 0000H MOV SP,#70H MOV IE,#0 MOV SCON,#0 XX:MOV DPTR,#TABLE MOV R1,#4 RECYCLE:MOV R0,#8 AGAIN:MOV A,#0 MOVC A,@A+DPTR 开始 初始化 第一次显示 满四次吗 下一次显示