单片机教学打铃控制器程序设计
一、课程设计题:单片机教学打铃控制器程序设计
二、设计要求:
用LED数码管显示时、分、秒时间,尽量减少时间积累误差,具有秒闪功能。
最多能设置40个打铃时间点,打铃时间点数据用非易失存储器存储,防止掉电丢失数据;能逐个检查、修改、删除已设置的打铃时间点和增加打铃时间点。
对时、打铃时间点用键盘设置,键盘设计简单、易于操作。
具有强电驱动功能,便于控制220V的电铃。
三、设计报告要求:
说明设计作品的功能、特点、应用范围;
方案对比,确定方案。
电路工作原理、操作方法;
编程方法、程序框图及关键程序清单。
课程设计总结。
附件:
参考电路图
24C02芯片资料及参考程序
课程设计元器件清单
元器件名 毕业论文http://www.751com.cn
规格/型号
单板数量
购买数量
备注
电阻
510Ω、1/4W
2
10K、1/4W
2
1K、1/4W
1
电阻排
510Ω*8
1
瓷片电容
30pF
2
独石电容
0.1µF
4
电解电容
220µF/16V
1
二极管
1N4007
1
发光二极管
Ф3MM、红光
4
三极管
9013
1
晶体
12MHz(矮封装)
1
集成块
7805
1
AT89S52
1
24C02
1
7407
1
IC插座
40PIN
1
8PIN
1
14PIN
1
数码管
2位动态、红光、共阴极(FJ5202AH)
3
继电器
5V、AC220V/5A(HRS4H-S-DC5V)
1
接插件
IDC10
1套 毕业论文http://www.751com.cn
按键
国产欧姆龙轻触按键,带透明帽
8套
--------------------------------------------------------------------------------
程序:
;**************教学打铃控制器程序*********
;CPU: AT89S52, Fosc=12MHz
;++++++++++++++++++变量定义 +++++++++++++++
SET_TIME BIT P1.0 ;时间设定
SET_ALARM BIT P1.1 ;打铃设定
LEFT BIT P1.2 ;左移位
UP BIT P1.3 ;上翻/加1
DOWN BIT P1.4 ;下翻/减1
RIGHT BIT P1.5 ;右移位
ESC BIT P1.6 ;取消/退出
ENTER BIT P1.7 ;确认
KEY_BUF EQU 30H ;原按键状态
KEY_ST EQU 31H ;键闭合标志,ON:0FFH,OFF:00H
SCL BIT P3.3 ;IIC时钟线
SDA BIT P3.2 ;IIC数据线
FLASH_S BIT P3.1 ;秒闪
CONTREL BIT P3.4 ;控制;1=ON
H_MEM EQU 10H ;时
M_MEM EQU 11H ;分
S_MEM EQU 12H ;秒
CT_50MS EQU 13H ;50mS计数器
NEW_TIME EQU 14H ;时间更新标志,0FFH更新
DIS_MEM1 EQU 15H ;显示数据存储器1
DIS_MEM2 EQU 16H ;显示数据存储器2
DIS_MEM3 EQU 17H ;显示数据存储器3
DIS_BUF1 EQU 20H ;显示缓冲器1(段码,左)
DIS_BUF2 EQU 21H ;显示缓冲器2(段码)
DIS_BUF3 EQU 22H ;显示缓冲器3(段码)
DIS_BUF4 EQU 23H ;显示缓冲器4(段码)
DIS_BUF5 EQU 24H ;显示缓冲器5(段码)
DIS_BUF6 EQU 25H ;显示缓冲器6(段码,右)
AL_NUMBER EQU 26H ;打铃序号
AL_TOTA EQU 27H ;打铃点总数
ALARM_ST EQU 28H ;打铃状态,0FFH正在打铃
TIME_OVER EQU 29H ;按键返回时间计数器
TOTA_ADDR EQU 60H ;打铃点总数在24C02中的存储地址
ORG 0000H
AJMP START
ORG 0002BH
AJMP INT_T0 ;T2中断向量
ORG 0030H
START: MOV SP,#60H
CLR CONTREL
CLR FLASH_S
MOV H_MEM,#12
MOV M_MEM,#0
MOV S_MEM,#0
MOV CT_50MS,#20