单片机课程设计报告-四路定时控制器.doc

上传人:李主任 文档编号:3262671 上传时间:2019-08-06 格式:DOC 页数:16 大小:236.02KB
返回 下载 相关 举报
单片机课程设计报告-四路定时控制器.doc_第1页
第1页 / 共16页
单片机课程设计报告-四路定时控制器.doc_第2页
第2页 / 共16页
单片机课程设计报告-四路定时控制器.doc_第3页
第3页 / 共16页
单片机课程设计报告-四路定时控制器.doc_第4页
第4页 / 共16页
单片机课程设计报告-四路定时控制器.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《单片机课程设计报告-四路定时控制器.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告-四路定时控制器.doc(16页珍藏版)》请在三一文库上搜索。

1、湄洲湾职业技术学院单片机课程设计报告微机控制与应用课程设计报告书题 目:四路定时控制器姓 名:学 指导老日 单片机课程设计报告摘要: 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新. 在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以玩善。四路定时控制器,可以更简单、方便的使用。本系统采用单片机AT89C51为中心器件来设计四路定时控制器,系统实用性强、操作简单、扩展性强。目录一、 设计任务 3二、 四路定时控制器设计程序框图 3三、 四

2、路定时控制器的主程序 3四、 功能说明 16五、 原理图 17六、 检测与调试 18七、 总结与体会 18一、设计任务(一)、功能及技术指标要求设计四路定时控制器的基本要求:设计一个四路定时控制器,要应用UNTITLEDISISPROFESSIONAL实验系统(二)、设计内容按设计技术指标进行四路定时控制器的硬件和软件设计。(三)、设计思路及关键技术 一个完整的四路定时控制器想当于一个简单的单片机系统,该系统四路定时控制器设置电路、单片机、显示电路等构成。单片机是集成IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。 二、四路定时控制器的设计程序框图 开始设置时

3、间和路线开始计时 到达时间响铃所有线路定时完毕三、四路定时控制器的主程序 程序如下:16RS EQU P2.0RW EQU P2.1E EQU P2.2D0_D7 EQU P0BEEP BIT P3.7ORG 0000HAJMP READYORG 000BHAJMP INT_0ORG 001BHAJMP INT_1;30H-37H 循环显示;3AH键值 3BH是否已进入设置状态;40H-47H TIME0;48H-4FH TIME1;50H-57H TIME2;58H-5FH TIME3INT_READY:MOV IE,#8AHMOV TMOD,#11H MOV TH0,#4CHMOV TL0

4、,#00HMOV TH1,#00HMOV TL1,#00HSETB TR0SETB TR1RETINT_0:MOV TH0,#4CH MOV TL0,#00H PUSH ACC INC 38H MOV A,38H CJNE A,#20D,INT_0_EXIT MOV 38H,#00H AJMP TIME_0;* INT_0_EXIT: POP ACC RETI;*TIME_0: MOV A,44H CJNE A,#01H,TIME_1 DEC 45H MOV A,45H CJNE A,#0FFH,CHECK0 MOV 45H,#59D DEC 43H MOV A,43H CJNE A,#0FF

5、H,CHECK0 MOV 43H,#59D DEC 42H MOV A,42H CJNE A,#0FFH,CHECK0 MOV 42H,#99DCHECK0: MOV A,#00H ADD A,45H ADD A,43H ADD A,42H CJNE A,#00H,TIME_0_EXIT MOV 44H,#00H MOV C,00H CPL C MOV 00H,C MOV P2.7,C MOV A,41H CJNE A,#01H,NO_BEEP0 MOV 64H,#01H AJMP TIME_0_EXITNO_BEEP0:MOV 64H,#00HTIME_0_EXIT:MOV A,3EH CJ

6、NE A,#01H,TIME_1 MOV R1,#40H LCALL DISP_DATA_LOOP;*TIME_1: MOV A,4CH CJNE A,#01H,TIME_2 DEC 4DH MOV A,4DH CJNE A,#0FFH,CHECK1 MOV 4DH,#59D DEC 4BH MOV A,4BH CJNE A,#0FFH,CHECK1 MOV 4BH,#59D DEC 4AH MOV A,4AH CJNE A,#0FFH,CHECK1 MOV 4AH,#99DCHECK1: MOV A,#00H ADD A,4DH ADD A,4BH ADD A,4AH CJNE A,#00H

7、,TIME_1_EXIT MOV 4CH,#00H MOV C,01H CPL C MOV 01H,C MOV P2.6,C MOV A,49H CJNE A,#01H,NO_BEEP1 MOV 64H,#01H AJMP TIME_1_EXITNO_BEEP1:MOV 64H,#00HTIME_1_EXIT:MOV A,3EH CJNE A,#02H,TIME_2 MOV R1,#48H LCALL DISP_DATA_LOOP AJMP TIME_2 ;*TIME_2: MOV A,54H CJNE A,#01H,TIME_3 DEC 55H MOV A,55H CJNE A,#0FFH,

8、CHECK2 MOV 55H,#59D DEC 53H MOV A,53H CJNE A,#0FFH,CHECK2 MOV 53H,#59D DEC 52H MOV A,52H CJNE A,#0FFH,CHECK2 MOV 52H,#99DCHECK2: MOV A,#00H ADD A,55H ADD A,53H ADD A,52H CJNE A,#00H,TIME_2_EXIT MOV 54H,#00H MOV C,02H CPL C MOV 02H,C MOV P2.5,C MOV A,51H CJNE A,#01H,NO_BEEP2 MOV 64H,#01H AJMP TIME_2_

9、EXITNO_BEEP2:MOV 64H,#00HTIME_2_EXIT:MOV A,3EH CJNE A,#03H,TIME_3 MOV R1,#50H LCALL DISP_DATA_LOOP ;*TIME_3: MOV A,5CH CJNE A,#01H,EXIT_INT_0 DEC 5DH MOV A,5DH CJNE A,#0FFH,CHECK3 MOV 5DH,#59D DEC 5BH MOV A,5BH CJNE A,#0FFH,CHECK3 MOV 5BH,#59D DEC 5AH MOV A,5AH CJNE A,#0FFH,CHECK3 MOV 5AH,#99DCHECK3

10、: MOV A,#00H ADD A,5DH ADD A,5BH ADD A,5AH CJNE A,#00H,TIME_3_EXIT MOV 5CH,#00H MOV C,03H CPL C MOV 03H,C MOV P2.4,C MOV A,59H CJNE A,#01H,NO_BEEP3 MOV 64H,#01H AJMP TIME_3_EXITNO_BEEP3:MOV 64H,#00HTIME_3_EXIT:MOV A,3EH CJNE A,#04H,EXIT_INT_0 MOV R1,#58H LCALL DISP_DATA_LOOPEXIT_INT_0:AJMP INT_0_EXI

11、T ;*INT_1:PUSH ACC INC 3DH MOV A,3DH CJNE A,#50D,INT_1_EXIT MOV 3DH,#00H INC 3EH MOV A,3EH;*DISP_TIME0:CJNE A,#01H,DISP_TIME1 MOV R1,#40H LCALL DISP_DATA_LOOP AJMP INT_1_EXIT;*DISP_TIME1:CJNE A,#02H,DISP_TIME2 MOV R1,#48H LCALL DISP_DATA_LOOP AJMP INT_1_EXIT;*DISP_TIME2:CJNE A,#03H,DISP_TIME3 MOV R1

12、,#50H LCALL DISP_DATA_LOOP AJMP INT_1_EXIT;*DISP_TIME3:CJNE A,#04H,CLR_TIME MOV R1,#58H LCALL DISP_DATA_LOOP AJMP INT_1_EXIT;*CLR_TIME:MOV 3EH,#01H MOV A,3EH AJMP DISP_TIME0;*INT_1_EXIT:POP ACC MOV TH1,#00H MOV TL1,#00H RETI;*DISP_DATA_LOOP:MOV R2,#8D MOV R0,#30HLOOP0: MOV A,R1 MOV R0,A INC R0 INC R

13、1 DJNZ R2,LOOP0 RET;* READY:MOV A,#00111000B ;功能设置指令,8位接口,显示2行,57字符 LCALL WriteIR ;调写指令寄存器子程序 MOV A,#00001100B ;显示开关控制指令,显示器开,光标开,光标闪烁 LCALL WriteIR MOV A,#00000110B ;输入方式设置指令,字符不动,光标自动右移一格 LCALL WriteIR MOV A,#00000001B ;清屏指令,将DDRAM数据全部填入空白 LCALL WriteIR ;* 显示make of pp,time Time Controller MOV A,#

14、10000000B LCALL WRITEIR MOV DPTR,#DATA3 LCALL LCD_DISP MOV A,#11000000B LCALL WRITEIR MOV DPTR,#DATA0 LCALL LCD_DISP ;* MOV R4,#00H LCALL DELAY ;* MOV 30H,#00H ;mode MOV 31H,#00H ;beep MOV 32H,#00H ;小时 MOV 33H,#00H ;分钟 MOV 34H,#00H ;是否已开启 MOV 35H,#00H ;秒 MOV 36H,#3AH ;冒号 MOV 37H,#01H ;序号 MOV 38H,#00

15、H ;定时器0计时 MOV 39H,#01H ;循环显示状态还是设置状态 MOV 3CH,#00H ;按键 MOV 3DH,#00H; 定时器1计时 MOV 3EH,#01H ;定时器1 MOV 3BH,#00H MOV 60H,#40H MOV SP,#70H MOV R2,#32D MOV R0,#40HDATA_LOOP:MOV R0,#00H INC R0 DJNZ R2,DATA_LOOP MOV 46H,#3AH MOV 47H,#01H MOV 4EH,#3AH MOV 4FH,#02H MOV 56H,#3AH MOV 57H,#03H MOV 5EH,#3AH MOV 5FH

16、,#04H MOV A,#00000001B ;清屏指令,将DDRAM数据全部填入空白 LCALL WriteIR LCALL INT_READY ;* MAIN:LCALL DISP LCALL KEY LCALL KEY1 MOV A,64H CJNE A,#01H,MAIN MOV 64H,#00H ACALL BEEP_BL ACALL BEEP_BL ACALL BEEP_BL ACALL BEEP_BL AJMP MAIN;*;-;蜂鸣器响一声子程序;-BEEP_BL: MOV R6,#50 BL1: CALL DEX1 CPL BEEP DJNZ R6,BL1 MOV R5,#1

17、0 CALL DELAY2 RET DEX1: MOV R7,#180 DEX2: NOP DJNZ R7,DEX2 RETDELAY2: ;延时R510MS MOV R6,#50DELAY1: MOV R7,#100 DJNZ R7,$ DJNZ R6,DELAY1 DJNZ R5,DELAY2 RET;-KEY1:MOV P1,#0FFH MOV A,P1ANL A,#00001111BCJNE A,#00001111B,KEY1_PANDUANKEY1_EXIT: RETKEY1_PANDUAN:MOV 3AH,A MOV R4,#15D LCALL DELAY MOV A,P1 ANL

18、 A,#00001111B CJNE A,3AH,KEY1_EXIT LCALL KEY1_CHULI LCALL BEEP_BL RETKEY1_CHULI:CJNE A,#00001110B,KEY1_2 MOV 44H,#00H MOV C,00H CPL C MOV 00H,C MOV P2.7,CKEY1_2: CJNE A,#00001101B,KEY1_3 MOV 4CH,#00H MOV C,01H CPL C MOV 01H,C MOV P2.6,CKEY1_3: CJNE A,#00001011B,KEY1_4 MOV 54H,#00H MOV C,02H CPL C MO

19、V 02H,C MOV P2.5,CKEY1_4: CJNE A,#00000111B,KEY1_CHULI_EXIT MOV 5CH,#00H MOV C,03H CPL C MOV 03H,C MOV P2.4,CKEY1_CHULI_EXIT: RET;* DISP: MOV A,#10000000B LCALL WRITEIR MOV A,37H ADD A,#48D LCALL WRITEDDR;显示序号 MOV A,#10000010B LCALL WriteIR MOV DPTR,#DATA1 LCALL LCD_DISP MOV A,30H ADD A,#48D LCALL W

20、RITEDDR ;显示“mode:0/1 MOV A,#10001001B LCALL WriteIR MOV DPTR,#DATA2 LCALL LCD_DISP MOV A,31H ADD A,#48D LCALL WRITEDDR ;显示“beep:0/1 MOV A,#11000010B LCALL WRITEIR MOV A,32H MOV B,#10D DIV AB ADD A,#48D LCALL WRITEDDR MOV A,B ADD A,#48D LCALL WRITEDDR MOV A,36H LCALL WRITEDDR MOV A,33H MOV B,#10D DIV

21、 AB ADD A,#48D LCALL WRITEDDR MOV A,B ADD A,#48D LCALL WRITEDDR MOV A,39H CJNE A,#01H,DISP1 MOV A,36H LCALL WRITEDDR MOV A,35H MOV B,#10D DIV AB ADD A,#48D LCALL WRITEDDR MOV A,B ADD A,#48D LCALL WRITEDDRDISP1:MOV A,#11001100B LCALL WRITEIR MOV A,34H CJNE A,#01H,OFF MOV DPTR,#DATA_ON LCALL LCD_DISP

22、RETOFF: MOV DPTR,#DATA_OFF LCALL LCD_DISP RET;*KEY:MOV P1,#0FFH MOV A,P1ANL A,#11110000BCJNE A,#11110000B,KEY_PANDUANKEY_EXIT: RETKEY_PANDUAN:MOV 3AH,A MOV R4,#15D LCALL DELAY MOV A,P1 ANL A,#11110000B CJNE A,3AH,KEY_EXIT LCALL KEY_CHULI RET;*;按键处理KEY_CHULI:CJNE A,#11100000B,SET_DATA CLR TR1 MOV 3EH

23、,#05H MOV 3BH,#01H MOV 61H,#00H ACALL BEEP_BL INC 3CH MOV A,3CH;*SET1: CJNE A,#01H,SET2 MOV 62H,60H MOV 39H,#00H MOV A,#01H LCALL WRITEIR MOV R1,#40H LCALL DISP_DATA_LOOP LCALL KEY_DISP LCALL KEY_LOOP RET;*SET2: CJNE A,#02H,SET3 MOV A,60H ADD A,#8D MOV 60H,A MOV 62H,60H MOV 39H,#00H MOV A,#01H LCALL

24、 WRITEIR MOV R1,#48H LCALL DISP_DATA_LOOP LCALL KEY_DISP RET;*SET_DATA: MOV A,3BH CJNE A,#01H,KEY_CHULI_EXIT LCALL BEEP_BLKEY2: MOV A,3AH CJNE A,#11010000B,KEY3 LCALL KEY2_CHULI RET;*SET3: CJNE A,#03H,SET4 MOV A,60H ADD A,#8D MOV 60H,A MOV 62H,60H MOV 39H,#00H MOV A,#01H LCALL WRITEIR MOV R1,#50H LC

25、ALL DISP_DATA_LOOP LCALL KEY_DISP RET;*SET4: CJNE A,#04H,KEY_CHULI_EXIT MOV A,60H ADD A,#8D MOV 60H,A MOV 62H,60H MOV 39H,#00H MOV A,#01H LCALL WRITEIR MOV R1,#58H LCALL DISP_DATA_LOOP LCALL KEY_DISP RET;*KEY_DISP:LCALL DISP MOV A,#10000111B LCALL WRITEIR MOV A,#00001111B LCALL WRITEIR RET;* *KEY3:

26、CJNE A,#10110000B,KEY4 LCALL KEY3_CHULI RET;* KEY4: CJNE A,#01110000B,KEY_CHULI_EXIT LCALL KEY4_CHULIKEY_CHULI_EXIT:RET;* KEY_LOOP:LCALL KEY MOV A,3CH CJNE A,#05H,KEY_LOOP MOV 39H,#01H MOV 3CH,#00H MOV 3EH,#01H MOV 3BH,#00H MOV 60H,#40H MOV A,#00001100B LCALL WRITEIR MOV R1,#40H LCALL DISP_DATA_LOOP

27、 SETB TR1 RET;*KEY2_CHULI:INC 61H MOV A,61H CJNE A,#5D,THEN1 MOV A,#00HTHEN1: MOV 61H,A CJNE A,#00H,SET_BIT1 ADD A,60H MOV 62H,A MOV A,#10000111B LCALL WRITEIR RETSET_BIT1:CJNE A,#01H,SET_BIT2 ADD A,60H MOV 62H,A MOV A,#10001110B LCALL WRITEIR RETSET_BIT2:CJNE A,#02H,SET_BIT3 ADD A,60H MOV 62H,A MOV

28、 A,#11000011B LCALL WRITEIR RETSET_BIT3:CJNE A,#03H,SET_BIT4 ADD A,60H MOV 62H,A MOV A,#11000110B LCALL WRITEIR RETSET_BIT4:CJNE A,#04H,KEY2_CHULI_EXIT ADD A,60H MOV 62H,A MOV A,#11001100B LCALL WRITEIRKEY2_CHULI_EXIT:RET;*KEY3_CHULI: MOV A,61H; CJNE A,#00H,SET_DATA1MOV R1,62HINC R1MOV A,R1CJNE A,#0

29、2H,SET_THEN0MOV A,#00HSET_THEN0:MOV R1,A MOV 63H,#10000111B AJMP KEY3_CHULI_EXIT;SET_DATA1: CJNE A,#01H,SET_DATA2MOV R1,62HINC R1MOV A,R1CJNE A,#02H,SET_THEN1MOV A,#00HSET_THEN1:MOV R1,A MOV 63H,#10001110B AJMP KEY3_CHULI_EXIT;SET_DATA2: CJNE A,#02H,SET_DATA3 MOV R1,62HINC R1MOV A,R1CJNE A,#100D,SET

30、_THEN2MOV A,#00HSET_THEN2:MOV R1,A MOV 63H,#11000011B AJMP KEY3_CHULI_EXIT;SET_DATA3: CJNE A,#03H,SET_DATA4MOV R1,62HINC R1MOV A,R1CJNE A,#60D,SET_THEN3 MOV A,#00HSET_THEN3: MOV R1,A MOV 63H,#11000110B AJMP KEY3_CHULI_EXIT;SET_DATA4: CJNE A,#04H,KEY3_CHULI_EXIT MOV R1,62HINC R1MOV A,R1CJNE A,#02H,SE

31、T_THEN4 MOV A,#00HSET_THEN4: MOV R1,A MOV 63H,#11001100B MOV A,#05H ADD A,60H MOV R1,A MOV R1,#00H MOV A,60H;*MODE_1: CJNE A,#40H,MODE_2 MOV A,40H CJNE A,#01H,MODE_1_THEN CLR 00H MOV C,00H MOV P2.7,C AJMP KEY3_CHULI_EXITMODE_1_THEN:SETB 00H MOV C,00HMOV P2.7,C AJMP KEY3_CHULI_EXIT;*MODE_2: CJNE A,#4

32、8H,MODE_3 MOV A,48H CJNE A,#01H,MODE_2_THEN CLR 01H MOV C,01H MOV P2.6,C AJMP KEY3_CHULI_EXITMODE_2_THEN:SETB 01H MOV C,01HMOV P2.6,CAJMP KEY3_CHULI_EXIT;*MODE_3: CJNE A,#50H,MODE_4 MOV A,50H CJNE A,#01H,MODE_3_THEN CLR 02H MOV C,02H MOV P2.5,C AJMP KEY3_CHULI_EXITMODE_3_THEN:SETB 02H MOV C,02HMOV P2.5,C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1