文档介绍:第十章单片机应用及开发技术
一、教学要求:
掌握:单片机应用系统的设计过程、开发工具和方法,以及提高可靠性的方法。
二、教学内容:
单片机应用举例
单片机系统可靠性接地
三、教学重点:单片机应用系统的设计过程、开发工具和方法。
四、教学难点:单片机应用系统的具体设计。
五、建议学时:5学时
六、教学内容:
10-1 作息时间控制钟
时钟产生硬件:时钟电路片
软件:片内定时器
在单片机计时的过程中,每一次秒加1,都与规定的作息时间比较,如比较相等就进行电铃或扩音设备的开关控制。
本系统共有4项控制内容:接通电铃和断开电铃;
接通和断开扩音设备。
由P1口输出控制码进行控制,其控制码定义为:
接通电铃:0FEH
断开电铃:0FDH
接通扩音设备:7FH
断开扩音设备:0BFH
由P1口输出控制码进行控制:
接通电铃:0FEH
断开电铃:0FDH
接通扩音设备:7FH
断开扩音设备:0BFH
构造4个字节的存储字,放在外部RAM50H开始的存储区中:
格式:
× ×
× ×
× ×
× ×
开关设备控制码字节时字节分字节秒字节
存储单元
开控制码
时
分
秒
关控制码
时
分
秒
50H~57H
0FEH
08
00
00
0FDH
08
00
10
58H~5FH
0FEH
08
50
00
0FDH
08
50
10
60H~67H
0FEH
09
00
00
0FDH
09
00
10
68H~6FH
0FEH
09
50
00
0FDH
09
50
10
70H~77H
7FH
09
52
00
0BFH
10
05
00
78H~7FH
0FEH
10
10
00
0FDH
10
10
10
80H~87H
0FEH
11
00
00
0FDH
11
00
10
88H~8FH
0FEH
11
10
00
0FDH
11
10
10
90H~97H
0FEH
12
00
00
0FDH
12
00
10
98H~9FH
0FEH
13
30
00
0FDH
13
30
10
0A0H~0A7H
0FEH
14
20
00
0FDH
14
20
10
0A8H~0AFH
0FEH
14
30
00
0FDH
14
30
10
0B0H~0B7H
0FEH
15
20
00
0FDH
15
20
10
0B8H~0BFH
7FH
15
21
00
0BFH
15
50
00
0C0H~0C7H
00H
×
×
×
 
 
 
 
程序:
1、主程序:为时钟记时程序,使用内部RAM单元:
20H 秒单元
21H 分单元
22H 时单元
每运行一次秒加1操作时(参见P158~162),都调用时间比较子程序。
2、时间比较子程序:记时时间与存储字中的预置时间进行比较:
相等:作息时间已到,发出开关控制码,控制电铃或扩音设备的开或断;
不等:子程序返回。
50H——存储区首地址;
R0——存储区地址指针;
2EH——存储区地址指针暂存单元;
6AH——存开关控制码;
6BH~6DH——依次存放存储字的小时值、分值和秒值。
LOOP1: MOV R0,#4CH ;存储字存储区首地址减4
MOV 2EH,R0 ;送暂存单元
LOOP2: MOV R0,2EH
MOV R3,#04H ;循环4次
MOV R1,#23H
LOOP3: INC R0 ;地址指针加4,得开关控制码地址
DJNZ R3,LOOP3
MOV 2EH,R0 ;暂存开关控制码地址
MOV R3,#03H ;循环3次
MOVX A,***@R0 ;读取控制码
JZ A,LOOP5 ;控制码为“0”(结束)则返回
MOV 6AH,A ;存控制码
LOOP4: INC R0
;地址指针增量:50H→51H(时)→52H(分)→53H(秒)
DEC R1
;记时单元地址减量:23H→22H(时)→21H(分)→20H(秒)
MOVX A,***@R0 ;读取作息时间(时、分、秒)
MOV 6BH,A ;存作息时间
MOV A,***@R1 ;读取记时时间
CJNE A,6BH,LOOP2
;记时时间(A)与预置作息时间(6BH)比较:
不等则转,继续读下面的控制码(时、分、秒)
DJ