基于51单片机的自动打铃机设计.docx
- 文档编号:26550974
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:20
- 大小:342.96KB
基于51单片机的自动打铃机设计.docx
《基于51单片机的自动打铃机设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的自动打铃机设计.docx(20页珍藏版)》请在冰豆网上搜索。
基于51单片机的自动打铃机设计
单片机系统
课程设计
课程设计名称:
自动打铃器设计
专业班级:
XXXX
学生姓名:
XXXX
学号:
XXXXXXXX
指导教师:
XXX
课程设计地点:
XXXX
课程设计时间:
XXXXXXXXXX
单片机系统课程设计任务书
学生姓名
专业班级
自动化
学号
题目
自动打铃器设计
课题性质
工程设计
课题来源
老师拟定
指导老师
XXX
主要内容
(参数)
基于89c51单片机可以实现以下功能:
1、根据自己需要设计打铃时间,到定时时间自动打铃。
2、8位LED动态显示,实现表24小时制计时和显示功能。
3、能设置当前时间
4、可以随时更改打铃时间
任务要求
(进度)
1、查阅有关资料,熟悉设计任务要求,确定设计方案,大概需要1——2天。
2、按照确定的方案设计单元电路,画出单元电路图,元件及元件参数的选择有依据,大概需要1——2天的时间
3、软件设计及编写程序,大概需要1——2天的时间。
4、实验室调试,需要1——2天。
5、撰写课程设计报告。
要求内容完整、图表清晰、文理流畅、格式规范、方案合理设计正确。
主要参考
资料
[1]张迎新.单片机原理、应用及接口技术[M].北京:
国防工业出版社,2004
[2]李光飞.单片机课程设计实例[M].北京:
北京航天航空大学出版社,2004
[3]周润景,袁伟婷,景晓松.Proteus在MCS-51系统中的应用[M].北京:
电子工业出版社,2006
[4]邓兴成.单片机原理与实践指导.北京:
机械工业出版社,2010
[5]阎石.数字电子技术基础.北京:
高等教育出版社,2009
审查意见
系(教研室)主任签字:
年月日
目录
1概述……………………………………………………………………………5
1.1研究背景…………………………………………………………………5
1.2设计思想及基本功能…………………………………………………………..…5
2总体设计………………………………………………………………………5
2.1模块设计…………………………………………………………………5
2.2程序流程图………………………………………………………………5
3硬件单元设计…………………………………………………………………6
3.1电路设计总原理图………………………………………………………7
3.2各模块电路设计…………………………………………………………7
3.2.1键盘扫描模块…………………………………………………………7
3.2.2时钟与复位模块………………………………………………………8
3.2.3显示模块………………………………………………………………8
3.2.4响铃模块………………………………………………………………9
4软件设计………………………………………………………………………9
4.1键盘扫描程序……………………………………………………………9
4.2主程序…………………………………………………………………10
4.3显示程序………………………………………………………………13
4.4响铃程序………………………………………………………………14
5总结…………………………………………………………………………17
6参考文献……………………………………………………………………17
7附录……………………………………………………………………………18
1概述
1.1研究背景
现代社会的发展越来越快,人们的时间观念也越来越强。
所以有准确的时间提醒是很重要的,比如学校工厂等都要有个准时的时间来提醒人们。
所以打铃器运用很广泛。
我们可以利用所学单片机知识制作一个自动打铃器可以实现学校到点打铃的工作。
1.2设计思想及基本功能
利用51单片机设计以实现以下功能
1根据自己需要设计打铃时间,到定时时间自动打铃。
28位LED动态显示,实现表24小时制计时和显示功能。
3能设置当前时间。
4可以随时更改打铃时间。
2总体设计
2.1模块设计
教学用电子打铃器主要由80C51单片机、键盘扫描模块、时钟和复位模块、打铃器模块、八段数码管显示模块等组成。
运用汇编语言来控制单片机80C51来实现、动态数码显示等功能。
且本设计中的80C51单片机是整个工作过程的核心,是整个设计灵魂,它控制了脉冲时序的产生,显示信号的发送控制显示LED的选择。
所用到的芯片元器件:
80C51单片机,3个按键,1个蜂鸣器,4个八段LED数码管
80C51是一种带4K字节存储器(的低电压、高性能CMOS8位微处理器,俗称单片机。
2.2程序流程图
、
第一个图是主程序流程图第二的图是定时中断流程图
3硬件单元设计
3.1电路设计总原理图
3.2各模块设计
3.2.1键盘扫描模块
利用四个按键进行校时,按键K1是调整时间选择,按键K2进行小时加1,按键K3进行分钟加1,按键K4则调整时间结束返回主程序,K1接P1.1,K2接P1.2,K3接P1.3,K4接P1.4。
3.2.2时钟和复位模块
3.2.3显示模块
根据设计要求系统需要4个共阳LED,数码管显示电路使用80C51的动态显示功能。
4个LED八段(a、b、c、d、e、f、g、dp),数码管分别显示:
“时”、“分”,用二极管的“点”作为时、分的间隔。
该系统采用共阳极数码管,对于共阳极数码管,其公共端必须接高电平。
当打铃的时候四个数码管中前三个不显示数据,最后一个显示课程节数。
3.2.4响铃模块
打铃电路(接P3.7):
当前时间与程序设定时间相同时,P3.7端输出高电平的方波,即打铃。
每次响铃时间是60S。
4软件设计
中断服务程序通过定时器T0(工作方式为1),实现一日的24小时,首先得初始化,正常工作,主函数调用数码管显示程序显示当前时间,然后调用打铃对比函数,若当前时间与系统设定打铃时间相同是,响应打铃程序。
当需要对时间校正时,可以通过按键扫描处理程序进行校时。
//////////程序初始化//////////
ALBEQU20H//打铃设置标志
BUFEQU30H//30-33h连续四个字节存放显示器数据
HOUREQU34H//存放小时变量
MINEQU35H//存放分钟变量
SECEQU36H//存放秒钟变量
DEDAEQU37H//存放5ms计数值
HHEQU38H//打铃设置小时变量
MMEQU39H//打铃设置分钟变量
;按键输入引脚
K1EQUP1.1
K2EQUP1.2
K3EQUP1.3
K4EQUP1.4
;蜂鸣器和指示灯引脚定义
SPKEQUP1.5
WLEDEQUP1.0//工作指示灯引脚定义
ORG00H
lJMPMAIN
ORG0BH
lJMPT0_SRV
/////////////主程序入口///////////
MAIN:
CLRALB//清除闹铃标志
MOVA,#80H//加载显示器初始值数据`
MOVP0,A
ACALLBZ
;ACALLBZ
ACALLLED_BL
ACALLDELAY1;定时器T0的初始化
ACALLINIT
LOOP:
ACALLCONV
ACALLDISP
LOOP2:
ACALLCONV
ACALLLD1//查询打铃时间
MOVA,MIN
CJNEA,#10,AGN
JMPLOOP2
AGN:
CJNEA,#55,LOOP3
JMPLOOP2
LOOP3:
JBK1,M1
JNBK1,$
ACALLSETTIME
M1:
JMPLOOP
jmploop
ACALLDISP
LD1:
MOVA,HOUR
CLRC
SUBBA,#8
MOVDPTR,#TALE
MOVCA,@A+DPTR
CJNEA,HOUR,LL
MOVA,MIN
CJNEA,#10,L
ACALLBZ
MOVA,HOUR
CLRC
SUBBA,#8
MOVDPTR,#TABLE2
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
L:
CJNEA,#55,LL
ACALLBZ
MOVA,HOUR
CLRC
SUBBA,#8
MOVDPTR,#TABLE2
MOVCA,@A+DPTR
MOVP0,A
ACALLDELAY
LL:
RET
TALE:
DB08H,09H,0AH,0BH
TABLE2:
DB0F9H,0A4H,0B0H,99H
;中断服务程序
T0_SRV:
//定时器T0计时中断程序每隔5ms中断一次
PUSHACC
MOVTL0,#LOW(65536-5000)//直接带公式法设置T0的初值,此方法为简便方法
MOVTH0,#HIGH(65536-5000)
//MOVTL0,#(8192-5000)MOD32//重加载初始值
//MOVTH0,#(8192-50000)/32
INCDEDA
;秒输出
MOVA,DEDA
CJNEA,#200,TT1
MOVDEDA,#0
CPLWLED//LED灯亮灭变换
INCSEC
MOVA,SEC
CJNEA,#60,TT1//是否1分钟到了
;分输出
INCMIN//分计数加一
MOVSEC,#0//秒计数清零
MOVA,MIN
CJNEA,#60,TT1//看是否一小时到了
;时输出
INCHOUR
MOVMIN,#0
MOVA,HOUR
CJNEA,#24,TT1
MOVSEC,#0
MOVMIN,#0
MOVHOUR,#0
TT1:
POPACC
RETI
////////////////////实现显示功能的子程序/////////////////////
CONV:
;转换小时数据//通过DIV指令进行十进制计时处理,并将中断程序处理后的数据分别存放入数码管显示内存中
//其中BUF,BUF+1存放小时;BUF+2,BUF+3存放分钟、
MOVA,HOUR
MOVB,#10
DIVAB//将HOUR内的值转换为十位和个位分别表示的十进制数字,便于用两位数码管显示出来小时值
MOVDPTR,#TABLE//DPTR指针指向表的首地址
MOVCA,@A+DPTR
MOVBUF,A
MOVA,B
MOVCA,@A+DPTR
MOVBUF+1,A
MOVA,MIN//开始转换分钟
MOVB,#10
DIVAB
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVBUF+2,A
MOVA,B
MOVCA,@A+DPTR
MOVBUF+3,A
RET
/////////////////扫描显示子程序///////////////////
//实际四个数码管是在轮流显示的,每一刻都只有一个数码管亮,利用人的视觉暂留来使人感觉是在同时显示
DISP:
MOVR0,#BUF//指向显示器缓冲区起始地址,即存入十位上小时地址
MOVR2,#4//扫描四次
MOVA,#00001000B//扫描初值,只是使p2.3口打开
S1:
MOVP2,A
MOVA,@R0
MOVP0,A
MOVA,P2
MOVR5,#2
ACALLDELAY//延时,以便显示字符稳定
;EX:
XXXX1011
RRA//A向右移动一位
INCR0//指向BUF+1
DJNZR2,S1//判断是否执行了四次扫描
RET
////////////设置打铃时间子程序//////////////////
SET_ATIME:
ACALLCONVA
NO:
ACALLDISP
;K2调整小时
JBK2,N1
JNBK2,$
INCHH
MOVA,HH
CJNEA,#24,N11
MOVHH,#0
N11:
ACALLCONVA
ACALLDISP
JMPNO
;K3调整分钟时间
N1:
JBK3,N2
JNBK3,$
INCMM
MOVA,MM
CJNEA,#60,N21
MOVMM,#0
N21:
ACALLCONVA//加载打铃时间数据
ACALLDISP
JMPNO
;K4设置完成
N2:
JBK1,NO
JNBK1,$
;设置完成
ACALLLED_BL
ACALLCONV//加载现在时间数据
CPLALB//此处为判断是否启用闹铃
JNBALB,M31
ACALLBZ
ACALLBZ
ACALLBZ//连鸣三声为启用闹铃
JMPLOOP
M31:
ACALLBZ//闹铃停止,发出一声
JMPLOOP
RET
//////////////执行闹铃时间处理子程序//////////////
TIME_OUT:
X1:
ACALLLED_BL
ACALLBZ
JBK4,X1
JNBK4,$
ACALLLED_BL
CLRALB//清除闹铃位
RET
////////////检查打铃时间子程序////////////////
TIME_PRO:
JBALB,TI3
RET
TI3:
MOVA,HOUR
MOVB,HH
CJNEA,B,BK
MOVA,MIN
MOVB,MM
CJNEA,B,BK
ACALLTIME_OUT//执行检查时间处理
BK:
RET
TAL:
DB0C6H,80H,90H,88H,83H
TAL1:
DB0F9H
END
5总结
刚拿到设计题目时,由于对设计相关知识的不熟悉,使得对此题目的无从入手,感觉挺难。
最后,在资料与同学的帮助下,对设计有了大概的了解,并在组员的合作下有了初步设计。
在接下来的两天里,不停的对设计进行修改完善,得出最终方案,并开始着手硬件与软件的同步设计。
伴随实物初成,对相关功能进行测试,再次修改设计软硬件,完善功能。
通过这次的课程设计,巩固了课本知识,加深了对单片机的了解。
最后,感谢同学的配合,感谢老师悉心的指导帮助!
!
6参考文献
[1]张迎新.单片机原理、应用及接口技术[M].北京:
国防工业出版社,2004
[2]李光飞.单片机课程设计实例[M].北京:
北京航天航空大学出版社,2004
[3]周润景,袁伟婷,景晓松.Proteus在MCS-51系统中的应用[M].北京:
电子工业出版社,2006
[4]邓兴成.单片机原理与实践指导.北京:
机械工业出版社,2010
[5]阎石.数字电子技术基础.北京:
高等教育出版社,2009
7附录系统原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 自动 打铃 设计