《开机次数记录器课程设计》由会员分享,可在线阅读,更多相关《开机次数记录器课程设计(5页珍藏版)》请在金锄头文库上搜索。
1、例程6:串行EPROM 写入编程练习电路原理图:参考程序:;*;程序包括主程序,24C02 读、写程序, INT1 中断服务程序以及显示子程序。;中断次数计数器,每中断一次加1,并在右边数码管上显示,系统复位保存计数次数,;计满99 次自动回零。;*SDA24 EQU P3.5SCL24 EQU P3.4ORG 0000HAJMP MAINORG 0013HAJMP INT11ORG 0030HMAIN:MOV SP,#0a0HMOV 7cH,#14HMOV 7dH,#14HSETB EASETB IT1SETB EX1MOV A,#00H ;读地址LCALL RD24MOV 40H,ALP:
2、 MOV A,40H21ANL A,#0FHMOV 7BH,AMOV A,40HSWAP AANL A,#0FHMOV 7AH,AACALL DISPLAYAJMP LP;*INT1 中断子程序*INT11: PUSH ACCPUSH PSWMOV A,#00H ;读地址LCALL RD24ADD A,#01DA AMOV 40H,AMOV B,AMOV A,#00HLCALL WT24CPL P1.1POP PSWPOP ACCRETI;*RD24: ;读24C02 子程序PUSH ACCSETB SDA24CLR SCL24CALL START24MOV A,#0A0HCALL SHIFT
3、8CALL ACKPOP ACCCALL SHIFT8CALL ACKCALL START24MOV A,#0A1HCALL SHIFT8CALL ACKSETB SDA24MOV R4,#8CLR ASETB SDA2422RD000:RL ASETB SCL24MOV C,SDA24MOV ACC.0,CCLR SCL24DJNZ R4,RD000RET;-;写入24C02 程序:WT24:PUSH ACCSETB SDA24CLR SCL24CALL START24MOV A,#0A0HCALL SHIFT8CALL ACKPOP ACCCALL SHIFT8CALL ACKMOV A,
4、BCALL SHIFT8CALL ACKCALL STOPCALL DELAY2RET; -;开始准备START24:CLR SDA24SETB SDA24SETB SCL24CLR SDA24CLR SCL24RET;停止条件STOP:CLR SDA24SETB SCL24SETB SDA24RET;应答信号ACK:SETB SCL24CLR SCL24RET23;读、写数据SHIFT8:MOV R4,#8SH01:RLC AMOV SDA24,CSETB SCL24CLR SCL24DJNZ R4,SH01RETDELAY2:NOPNOPNOPNOPRET;-显示子程序-DISPLAY:
5、MOV DPTR,#TABLEDISPLAY1: MOV R0,#7aHMOV R1,#0EFHNEXTT: MOV A,R0MOVC A,A+DPTRMOV P0,AMOV A,R1MOV P2,ALCALL DAYINC R0RL AMOV R1,ACJNE R1,#0FEH,NEXTTRETDAY: MOV R6,#4D1: MOV R7,#248DJNZ R7,$DJNZ R6, D1RETTABLE:DB 28H ; 0DB 0EBH ; 1DB 32H ; 2DB 0A2H ; 3DB 0E1H ; 4DB 0A4H ; 5DB 24H ; 624DB 0EAH ; 7DB 20H
6、 ; 8DB 0A0H ; 9DB 60H ; ADB 25H ; BDB 3CH ; CDB 23H ; DDB 34H ; EDB 74H ; FDB 0D7H ; -.DB 61H ; HDB 70H ;PDB 0DFH ; .DB 27H ;oDB 0FFH ; 全黑END调试步骤:1)线路连接:单片机P3.4、P3.5 与24C02 连接2)下载程序:接好通信线,运行STC 程序。请参照“LK-51 系列单片机实验、应用学习机使用说明”。按照使用说明中提示的步骤,分别选择单片机型号、打开待下载的程序文件(.HEX 文件)、选择通信口和通信波特率(可选38400 );下载程序,先关电源,点击Down Load/下载框,然后再接通电源(冷启动),在左下框中出现程序下载信息,并提示程序下载成功。3)运行程序:中断服务程序对中断次数计数,每中断一次加1 ,并将计数值在右边两位数码管上显示,;计满99 次自动回零。系统掉电或复位时保存计数次数,在开机后自动读出显示。