3093|0

399

帖子

0

TA的资源

裸片初长成(初级)

楼主
 

???????????????????????? [复制链接]

:@ 单片机与单片机串行通讯+键盘扫描+数码管显示 写程序这么多天了,觉得最重要的是细心,电脑很挑剔的,如果一个地方不对会导至程序失败~! 发送的子程序: MOV TMOD,#20H MOV SCON,#11010000B ANL PCON,#01111111B MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 ALOOP1: INC R7 MOV A,R7 MOV 35H,A MOV SBUF,#0E1H JNB TI,$ CLR TI JNB RI,$ CLR RI MOV A,SBUF XRL A,#0E2H JNZ ALOOP1 ALOOP2: MOV R0,#30H MOV R7,#06H MOV R6,#00H ALOOP3:MOV SBUF,@R0 MOV A,R6 ADD A,@R0 MOV R6,A INC R0 JNB TI,$ CLR TI DJNZ R7,ALOOP3 MOV SBUF,R6 JNB TI,$ CLR TI JNB RI,$ CLR RI MOV A,SBUF CJNE A,#00H,ALOOP2 CLR TI CLR RI RET 接收子程序: MOV TMOD,#20H MOV SCON,#11010000B ANL PCON,#01111111B MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 BLOOP1: JNB RI,$ CLR RI MOV A,SBUF XRL A,#0E1H JNZ BLOOP1 MOV SBUF,#0E2H JNB TI,$ CLR TI RETT: MOV R0,#30H MOV R7,#06H MOV R6,#00H BLOOP2:JNB RI,$ CLR RI MOV A,SBUF MOV @R0,A INC R0 ADD A,R6 MOV R6,A DJNZ R7,BLOOP2 JNB RI,$ CLR RI MOV A,SBUF XRL A,R6 JZ END1 MOV SBUF,#0FFH JNB TI,$ CLR TI AJMP RETT END1:MOV SBUF,#00H JNB TI,$ CLR TI CLR RI AJMP BLOOP1 中断显示,数码管显示: ;针对实验板的键盘扫描,显示程序 ;使用中断T0进行键盘的扫描和T1进行显示 ;显示缓冲区设在30H到35H里 ;***********************初始化程序****:@ ***************** ORG 0000H AJMP MAIN ORG 000BH AJMP IT00 ORG 0030H MAIN: MOV R0,#7FH LOOP: MOV @R0,#00H DJNZ R0,LOOP MOV SP,#70H MOV 37H,#30H ;把30H的一个缓冲区第一位保存,以后作为指针来用 MOV 09H,#30H ;把30H放到第一组工作寄存器R1中 MOV 08H,#30H ;把30H放到第一组工作寄存器R0中 MOV 0CH,#20H CLR 00H CLR 01H CLR 02H ;初始化位地址00H,01H,02H MOV TMOD,#01H MOV TH0,#0FCH MOV TL0,#018H SETB TR0 SETB ET0 SETB EA ;启动定时 HEAR: AJMP HEAR ;*******************************中断T0键盘+显示********************** IT00: CLR EA PUSH ACC PUSH B PUSH PSW PUSH DPH PUSH DPL SETB RS0 CLR RS1 MOV DPTR,#1FFFH MOV A,#00H MOVX @DPTR,A JB P1.7,PASS0 JB 00H,CP SETB 00H AJMP PASS CP:JB 01H,PASS SETB 01H AJMP KEYSELECT ;*********************判断健盘的具体位置******************** KEYSELECT: MOV A,#0FEH MOVX @DPTR,A JNB P1.7,KEYS5 RL A MOVX @DPTR,A JNB P1.7,KEYS4 RL A MOVX @DPTR,A JNB P1.7,KEYS3 RL A MOVX @DPTR,A JNB P1.7,KEYS2 RL A MOVX @DPTR,A JNB P1.7,KEYS9 RL A MOVX @DPTR,A JNB P1.7,KEYS8 RL A MOVX @DPTR,A JNB P1.7,KEYS7 RL A MOVX @DPTR,A JNB P1.7,KEYS6 ;******************************键盘功:P 能模块************************** KEYS4: AJMP PASS KEYS6:JB 02H,PASS MOV A,@R0 MOV R5,A INC R5 MOV A,R5 MOV @R0,A CJNE R5,#0AH,PASS MOV @R0,#00H AJMP PASS KEYS7:JB 02H,PASS MOV A,@R0 MOV R5,A DEC R5 MOV A,R5 MOV @R0,A CJNE R5,#0FFH,PASS MOV @R0,#09H AJMP PASS KEYS8:JB 02H,PASS MOV R0,37H INC R0 MOV 37H,R0 CJNE R0,#36H,PASS MOV 37H,#30H MOV R0,37H AJMP PASS KEYS2: AJMP PASS KEYS5: CPL 02H AJMP PASS KEYS3:AJMP PASS KEYS9:AJMP PASS ;************************键盘功能结束****************************** PASS0: CLR 00H CLR 01H PASS: ;****************************中断T1显示*************************** MOV A,@R1 mov dptr, #tab MOVC A,@A+DPTR MOV R2,A JB 02H,RE ;*********************闪烁;P 程序********************** MOV A,R0 CLR C SUBB A,R1 JNZ RE INC R3 MOV A,R3 SUBB A,#4FH JNC RE MOV A,#0FFH MOV DPTR, #9FFFH MOVX @DPTR,A AJMP RE1 RE: MOV dptr,#09FFFH MOV A,R2 MOVX @DPTR,A RE1: MOV A,R4 MOV DPTR,#7FFFH MOVX @DPTR,A INC R1 MOV A,R4 JB ACC.0,FORMAT RR A MOV R4,A AJMP EXIT FORMAT: MOV R1,#30H MOV R4,#20H EXIT: MOV TH0,#0FCH MOV TL0,#018H POP DPL POP DPH POP PSW POP B POP ACC SETB EA RETI TAB: DB 0c0H, 0f9H, 0a4H, 0b0H, 99H, 92H ; 0 1 2 3 4 5 ; 00H 01H 02H 03H 04H 05H ; DB 82H, 0f8H, 80H, 90H 0FFH ; 6 7 8 9 ; 7DH 07H 08H 09H 0A ; end
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表