单片机设计电子打铃器

合集下载

单片机电子闹钟程序亲自编写-可用

单片机电子闹钟程序亲自编写-可用

单片机电子闹钟程序(亲自编写-可用)————————————————————————————————作者:————————————————————————————————日期:学校电子钟,有闹钟功能,按键可调时间,可调打铃时间,打铃时间长短显示,每个模块有功能注释。

其中正常时间显示和闹钟时间显示可用一个开关来调整。

芯片选择STC89C52程序:#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//定义显示段码uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};uchar codebbtime[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar clock[]={0,0,0,0};uchar clock1[]={12,30,0};uchar weikong[6];uchar bbduration=4;uchar lingtime=9;//学校打铃时间组uchar shangwu1[]={8,30};uchar shangwu2[]={10,0};uchar shangwu3[]={10,20};uchar shangwu4[]={11,50};uchar xiawu1[]={13,30};uchar xiawu2[]={15,00};uchar xiawu3[]={15,15};uchar xiawu4[]={16,45};//按键定义sbit mode=P1^7;sbit sec_clr=P1^0;sbit min_set_add=P1^3;sbit min_set_sub=P1^4;sbit hour_set_add=P1^1;sbit hour_set_sub=P1^2;sbit bb_set_add=P1^5;sbit bb_set_sub=P1^6;sbit speaker=P2^6;//延时函数void delay(unsigned int t){while(t--);//时钟进位函数void clockjinwei(){clock[0]++;if(clock[0]==20){clock[1]++;clock[0]=0;if(clock[1]==60){clock[2]++;clock[1]=0;if(clock[2]==60){clock[3]++;clock[2]=0;if(clock[3]==24)clock[3]=0;}}}}//定时器0中断服务函数void timer0(void) interrupt 1 using 1 {TMOD=0x01;TH0=0x3c;TL0=0xb0;clockjinwei();}//时钟分位显示函数void fenwei(){weikong[0]=clock[3]/10;weikong[1]=clock[3]%10;weikong[2]=clock[2]/10;weikong[3]=clock[2]%10;weikong[4]=clock[1]/10;weikong[5]=clock[1]%10;}//闹钟分位显示函数void naofen(){weikong[0]=clock1[0]/10;weikong[1]=clock1[0]%10;weikong[2]=clock1[1]/10;weikong[3]=clock1[1]%10;weikong[4]=clock1[2]/10;weikong[5]=clock1[2]%10; }//闹钟定时显示函数void naozhongdisplay(){uchar z,s;uchar x=0x01;naofen();for(z=0;z<6;z++){P2=0;P0=table[weikong[z]];P2=x;x=_crol_(x,1);for(s=0;s<255;s++);}}//时钟显示函数void display(){uchar i,j;uchar x=0x01;fenwei();for(i=0;i<6;i++){P2=0;P0=table[weikong[i]];P2=x;x=_crol_(x,1);for(j=0;j<255;j++);}}//总显示函数void zhongxian(){if(mode==1)delay(100);if(mode==1)display();if(mode==0)delay(100);if(mode==0)naozhongdisplay();}//按键处理程序void key_set(){zhongxian();P1=0xff;if(min_set_add==0){delay(100);if(min_set_add==0){if(mode==1){clock[2]++;if(clock[2]==60){clock[2]=0;}while(min_set_add==0)zhongxian();}}if(mode==0){clock1[1]++;if(clock1[1]==60){clock1[1]=0;}while(min_set_add==0)zhongxian();}}//if(min_set_sub==0){delay(100);if(min_set_sub==0){if(mode==1){clock[2]--;if(clock[2]==0)clock[2]=59;}while(min_set_sub==0)zhongxian();if(mode==0){clock1[1]--;if(clock1[1]==0)clock1[1]=59;}while(min_set_sub==0)zhongxian();}}//if(hour_set_add==0){delay(100);if(hour_set_add==0){if(mode==1){clock[3]++;if(clock[3]==24){clock[3]=0;}while(hour_set_add==0)zhongxian();}if(mode==0){clock1[0]++;if(clock1[0]==24){clock1[0]=0;}while(hour_set_add==0)zhongxian();}}}//if(hour_set_sub==0){delay(100);if(hour_set_sub==0){if(mode==1){clock[3]--;if(clock[3]==0)clock[3]=23;}while(hour_set_sub==0)zhongxian();if(mode==0){clock1[0]--;if(clock1[0]==0)clock1[0]=23;}while(hour_set_sub==0)zhongxian();}}//if(sec_clr==0){delay(100);if(sec_clr==0){clock[1]=0;}while(sec_clr==0)zhongxian();}}//闹钟响铃函数void bb(){if(clock[1]<=bbduration){speaker=1;delay(100);speaker=0;}else speaker=0;}//打铃函数void daling(){if(clock[1]<=lingtime){speaker=1;delay(100);speaker=0;}else speaker=0;}//时间比较函数void bijiao(){if(clock[3]==shangwu1[0]){if(clock[2]==shangwu1[1])daling();}if(clock[3]==shangwu2[0]){if(clock[2]==shangwu2[1])daling();}if(clock[3]==shangwu3[0]){if(clock[2]==shangwu3[1])daling();}if(clock[3]==shangwu4[0]){if(clock[2]==shangwu4[1])daling();}if(clock[3]==xiawu1[0]){if(clock[2]==xiawu1[1])daling();}if(clock[3]==xiawu2[0]){if(clock[2]==xiawu2[1])daling();}if(clock[3]==xiawu3[0]){if(clock[2]==xiawu3[1])daling();}if(clock[3]==xiawu4[0]){if(clock[2]==xiawu4[1])daling();}}//闹钟比较void naobijiao(){if(clock[3]==clock1[0]){if(clock[2]==clock1[1]||clock[2]==clock1[1]+1||clock[2]==clock1[1]+2) bb();}}//响铃时长显示函数void bbtimeshow(){P3=bbtime[bbduration];if(bbduration>15)bbduration=0;}//响铃按键处理函数void bbtime_set(){bbtimeshow();if(bb_set_add==0){delay(100);if(bb_set_add==0)bbduration++;while(bb_set_add==0)bbtimeshow();}if(bb_set_sub==0){delay(100);if(bb_set_sub==0)bbduration--;while(bb_set_sub==0)bbtimeshow();}}//主程序void main(){EA=1;ET0=1;TR0=1;while(1){key_set();bijiao();bbtime_set();naobijiao();}}电路图:分四部分显示:如果在学习这个程序过程中有什么问题,可以发邮件到询问。

毕业设计单片机自动打铃系统论文定稿

毕业设计单片机自动打铃系统论文定稿

摘要在现如今快节奏的生活中,人们对于时间的要求越来越苛刻,很多时候都需要对时间进行规划,然后到时间点就要有时间提醒,这就必须用到时钟提醒装置,亦可称为打铃装置。

打铃装置有很多种,比如手机的打铃系统,闹钟的机械打铃装置,广播打铃系统等等,但是日常生活中见得最多的还是校园的自动打铃系统。

在学校生活中,每天上下课都离不开打铃系统的使用。

打铃器可以为上下课的学生和老师们提供时间提醒,有利于师生对上课和学习的合理安排,同时,也可作为一个提醒学生们作息时间的时间表,让老师和学生都能有一个规律和科学的时间安排。

因此,打铃系统的核心部分也是时钟部分,为系统提供时间基准。

本设计主要是针对适用于校园打铃系统要求的,其介绍了一种基于单片机的自动打铃系统的设计方法,系统以AT89S51单片机为控制器,以DS1307时钟芯片为系统提供时间,并在液晶显示器上显示,通过按键可以设定定时打铃时间和打铃的时间间隔。

系统软件设计采用C语言来完成,C语言语法简洁,使用方便,用于完成软件设计非常方便。

本文提出的设计方法电路简单、成本低廉、实用性强。

关键字:打铃器、AT89S51单片机、DS1307、液晶显示器AbstractNow fast-paced life, the time more and more demanding, often need time to plan and then to the point in time there should be reminded, which must be used to clock reminder can also be calledrang the bell device. Rang the bell device are many, such as the phone rang the bell system, mechanical bell device of the alarm clock, radio bell systems, etc., but in daily life appear or campus automatic bell system. In school life, the last class of the day are inseparable from the bell system. The bell can provide time for the last class of students and teachers to remind conducive to a reasonable arrangement of the teachers and students to school and learning, but also as a reminder of the schedule of the students schedule, so that teachers and students cana law and scientific timing. Therefore, the core part is the clock part of the bell system, the system provides a time reference.This design is mainly for the applicable requirements of the campus bell system, introduced a microcontroller-based automatic bell system design method, the system controller is AT89S51 SCM , the DS1307 clock chip provide the system with time, and the LCD displayed on the monitor button can set the time interval of the timer rang the bell time and rang the bell. System software design using C language, C language syntax is simple, easy to use, very convenient to be used to complete the software design. This paper presents the design circuit is simple, low cost, and practical.Key words: Rang the bell AT89S51 SCM the DS1307 LCD monitors目录摘要 (I)Abstract (II)1 绪论 (1)1.1 选题目的及意义 (1)1.2 技术发展概况 (1)1.3 论文内容与结构 (3)2 方案设计 (4)2.1 方案比较与选择 (4)2.1.1 系统方案选择 (4)2.1.2 时钟芯片选择 (4)2.1.3 显示器件选择 (5)2.2 设计方案 (5)3 系统硬件设计 (7)3.1 硬件电路图 (7)3.2 时钟电路 (7)3.2.1 DS1307简介 (7)3.2.2 时钟电路设计 (8)3.3 按键电路 (8)3.4 单片机电路 (9)3.4.1 单片机简介 (9)3.4.2 单片机最小系统电路 (13)3.5 显示电路 (14)3.6 打铃电路 (15)4 系统软件设计 (17)4.1 软件设计流程图 (17)4.2 读取DS1307时间程序设计 (18)4.3 显示程序设计 (19)4.4 按键设定程序设计 (22)5 系统调试 (23)5.1 元件清单 (23)5.2 调试过程 (23)6 总结与展望 (26)致谢 (27)参考文献 (28)附录 (29)附录一:电路图 (29)附录二:源程序 (30)1 绪论1.1 选题目的及意义随着现代科技的发展,管理水平的完善,具有自动提示功能的打铃器能够为企业节省人力资源,减少开支,对做到一体化管理具有很大的帮助。

基于单片机的自动打铃器的设计毕业设计-精品

基于单片机的自动打铃器的设计毕业设计-精品

毕业设计题目:基于单片机的自动打铃器的设计院:电气信息学院诚信声明本人声明:1、本人所呈交的毕业设计是在老师指导下进行的研究工作及取得的研究成果;2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;3、我承诺,本人提交的毕业设计中的所有内容均真实、可信。

作者签名:日期:年月日毕业设计(论文)任务书题目:基于单片机的自动打铃器的设计一、基本任务及要求:1.学习单片机的相关知识,利用单片机编程,实现相关控制;2.设计一个自动打铃器,要求具备一般电子时钟的功能;能进行多点时间的定时以及定时时间到自动打铃,要求定时点数至少是40,定时精度是1分钟,且要求能通过键盘查看各定点时间,要求具备掉电保护功能。

3.利用相关软件绘制原理电路图和PCB板图;4.对实验电路编写程序进行调试,保证各部分正常工作,保证电路板正常完成所规定的任务。

二、进度安排及完成时间:(1)第一周至第三周:查阅资料、撰写文献综述和开题报告;(2)第四周至第五周:学习并掌握单片机及外围设备接口;(3)第六周至第七周:在实验板上完成硬件设置和连线;(4)第八周至第十一周:在开发机上调好软件,然后固化到EPROM中,能脱机运行;(5)第十二周至第十三周:用PROTEL工具软件绘制完整电路原理图,标志各元器件序号和脚号;画出软件流程框图。

包括主程序和各子程序。

撰写设计说明书;(6)第十四周:毕业设计答辩;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 单片机设计的目的和意义 (1)1.2 单片机发展现状和前景展望 (1)1.2.1 课题发展现状 (1)1.2.2 课题前景展望 (2)1.3 Protel 99 SE概述 (2)1.3.1 Protel 99 SE的组成 (3)1.3.2 Protel 99 SE的应用 (4)1.3.3 电路板的设计步骤 (6)第二章单元模块的设计 (8)2.1电源模块 (8)2.2单片机最小系统模块 (8)2.3时钟模块 (9)2.4按键模块 (11)2.5显示模块 (12)2.5.1 主要技术参数 (13)2.5.2 引脚功能 (13)2.5.3 基本操作时序 (14)2.5.4 状态字说明 (14)2.5.5 RAM地址映射图 (14)2.5.6 指令说明 (15)2.5.7 接口时序图 (16)2.6喇叭模块 (18)第三章系统软件设计 (19)3.1 系统软件按键程序设计 (20)3.2 系统软件打铃器时间设置设计 (21)第四章系统功能介绍及调试 (22)4.1 打铃器功能简介 (22)4.2 打铃器优点 (22)4.3 打铃器缺点与不足 (22)4.4 系统调试 (22)4.3.1 硬件调试 (22)4.3.2 软件调试 (23)结束语 (24)参考文献 (25)致谢 (26)附录 (27)附录1 (27)附录2 (41)基于单片机的自动打铃器的设计摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

基于51单片机的自动打铃机设计

基于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研究背景现代社会的发展越来越快,人们的时间观念也越来越强。

基于单片机的自动打铃器设计

基于单片机的自动打铃器设计

基于单片机的自动打铃器设计随着社会的发展和科学技术的进步,大部分单位对于时间有严格的管理制度,能够实现在预定时间进行打铃的设备也成为必需品。

本文单片机AT89C51为核心,加入了键盘输入,时间显示等模块,可以满足日常使用所需的功能。

标签:AT89C51;自动打铃器;时间;显示为了方便人们的生活和工作,自动打铃器广泛于学校、工厂、企业等有比较固定作息时间的单位。

尤其是学校,要按时打铃,以指挥师生员工上课、下课等统一行动。

现在我们可以利用单片机设计自动打铃器,在预定的时间打铃。

这项设计涉及到单片机的定时器、中断、键盘输入、LCD数码和字符显示、I2C总线、单总线、开关量输出等内容。

1 总体设计总体设计,其中最主要的就是原理设计。

根据设计要求和现有的技术条件,在满足功能、性能等用户需求的基础上,初步提出可选技术路线,并对各方案进行必要的分析,充分听取方方面面的意见,选择一种实施方案。

本项目的实施方案如下:选用机型:AT89C51(可以使用简化版AT89C2051)。

这是美国ATMEL公司生产的与INTEL公司的MCS-51系列全兼容的单片机产品,指令兼容,引脚兼容,可以直接代换。

其优点是片内程序存储器是电擦写的,使用方便,耗电少,价格低。

时间显示:16位×2行的液晶显示模块1602,显示内容比较多。

并行口连接。

键盘输入:4个独立式按键,分别是对表、定时、临时打铃和上、下、左、右调整键打铃输出:经二级晶体管放大驱动12V直流继电器,控制220V电源通、断电铃。

系统扩展:不需要扩展RAM、ROM、和其它I/O接口,只需要通过I2C总线扩展一片24LC16B,用于保存打铃时间,以保证掉电不丢失,免得重新设置之麻烦。

电源部分:220V交流电经降压、整流、滤波、稳压,提供+12V和+5V两种直流电源,再加可充电电池作备用电源,停电时保持时钟和作息时间表。

交流供电时给电池充电。

现在,专用的日历时钟芯片很多,性能也很好,尤其是精度可以很高,省电,使用方便。

申千林单片机课程设计教学楼打铃器1

申千林单片机课程设计教学楼打铃器1

湖南商学院《单片机课程设计》报告题目教学用数字打铃器姓名: 申千林学号:专业: 电子信息工程班级:指导教师: 肖老师职称: 教授计算机与电子工程2012年9月目录1 概述 (1)1.1设计要求 (1)2 设计方案.................................... 错误!未定义书签。

3 硬件电路设计 (2)3.1晶振模块 (2)3.2电源电路................................ 错误!未定义书签。

3.3复位模块 (3)3.4键盘扫描模块 (3)3.5显示模块 (3)3.6响铃模块 (4)3.7主要元器件 (4)4 测试与仿真 (4)5 程序设计 (6)6 收获与总结 (11)参考文献 (11)附录一电路原理图 (12)《专业实习》报告评审表姓名申千林学院计算机与电子工程学号专业班级题目教学用数字打铃器评审意见评审成绩指导教师签名职称评审时间年月日课程设计(实习)作品验收表题目教学用数字打铃器参与人员姓名申千林班级学号设计任务与要求:(1)设计一个自动打铃器,满足要求有:能任意设置十个打铃时间,时间到时自动打铃,系统包括复位,显示,打铃和按键模块。

(2)设计单片机打铃器硬件电路,绘制出电路原理图。

(3)编程实现打铃器的各项功能。

作品完成情况:实现计时和显示功能,能在设计的十个定点时间打铃,当数码管显示时间与程序内定时间相吻合就打铃,且每次打铃均为十次滴声长度。

验收情况:验收教师签名:___________年月日注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。

2. “验收情况”栏由验收小组按实际验收的情况如实填写。

教学用数字打铃器1 概述1.1 设计要求通过学习和借鉴单片机最小系统的基本设计方法,设计单片机打铃器应用系统。

(1)设计一个自动打铃器,满足要求有:能任意设置十个打铃时间,时间到时自动打铃,系统包括复位,显示,打铃和按键模块。

课程设计基于单片机的教学用电子打铃器电路设计

课程设计基于单片机的教学用电子打铃器电路设计

目录1、课程设计目的 (2)2、总体设计 (2)2.1 模块设计 (2)2.2 程序流程图 (2)3、硬件单元设计 (4)3.1电路设计总原理图 (4)3.2各模块电路设计 (4)3.2.1 键盘扫描模块 (4)3.2.2 时钟和复位模块 (4)3.2.3 显示模块 (5)3.2.4 响铃模块 (6)4、软件设计 (7)4.1键盘扫描程序 (8)4.2数码管显示程序 (10)4.3主程序 (11)4.4响铃程序 (12)5、课程设计总结 (15)6、参考文献 (16)2.总体设计2.1 模块设计教学用电子打铃器主要由AT89S51单片机、键盘扫描模块、时钟和复位模块、打铃器模块、八段数码管显示模块等组成。

运用汇编语言来控制单片机80C51来实现、动态数码显示等功能。

且本设计中的80C51单片机是整个工作过程的核心,是整个设计灵魂,它控制了脉冲时序的产生,显示信号的发送控制显示LED 的选择。

所用到的芯片元器件:80C51单片机, 3个按键,1个蜂鸣器,4个八段LED 数码管 80C51是一种带4K 字节存储器(的低电压、高性能CMOS 8位微处理器,俗称单片机。

2.2 程序流程图图2.2(1) 主程序流图2.2(1) 主程序程序流程图图2.2(2) 定时中断程序流程图3.硬件单元设计开始初始化参数设置调用显示子程序调用打铃对比程序调用键盘子程序3.1 电路设计总原理图图3.1 总体原理图3.2 各模块电路设计3.2.1 键盘扫描模块利用四个按键进行校时,按键K1是调整时间选择,按键K2进行小时加1,按键K 3进行分钟加1,按键K4则调整时间结束返回主程序, K1接P1.1,K2接P1.2,K3接P1.3,K4接P1.4。

3.2.2 时钟和复位模块图3.2.2 时钟和复位模块3.2.3显示模块及芯片说明根据设计要求系统需要4个共阳LED,数码管显示电路使用80C51的动态显示功能。

4个LED八段(a、b、c、d、e、f、g、dp),数码管分别显示:“时”、“分”,用二极管的“点”作为时、分的间隔。

单片机打铃控制器

单片机打铃控制器

目录第1章概述 ........................................................................ 错误!未定义书签。

第2章总体方案设计 .......................................................... 错误!未定义书签。

2.1 设计思路 .................................................................. 错误!未定义书签。

2.2 设计方框图 (2)2.3 软件系统流程图 (3)2.3.1 软件系统流程图 ................................................... 错误!未定义书签。

2.3.2 软件系统流程图 ................................................... 错误!未定义书签。

2.3.3 软件系统流程图 ................................................... 错误!未定义书签。

2.3.4 软件系统流程图 ................................................... 错误!未定义书签。

第3章硬件电路设计 .......................................................... 错误!未定义书签。

3.1电源电路设计 ........................................................... 错误!未定义书签。

3.2 键盘控制电路 .......................................................... 错误!未定义书签。

利用单片机打铃器 毕业设计论文

利用单片机打铃器   毕业设计论文

一题目自动打铃器二基本要求利用单片机的定时器设的一个时钟,在每秒加1的计时过程中,都于规定的时间进行比较,如果相等就进行开关电铃,不等则返回毕业设计报告写作要求一、封面二、内容提要三、目录四、正文1、概述所作题目的意义、本人所做的工作及系统的主要功能;2、硬件电路设计及描述;3、软件设计流程及描述;4、源程序代码。

五设计体会六、参考文献《单片机原理及接口技术》李朝青北京航空航天大学出版社。

《微机控制技术及应用》韩全立机械工业出版社////目录一、引言 (3)二、单片机的结构和说明 (4)1.单片机的定义 (4)2.单片机的组成 (4)3.8051单片机的结构和引脚说明 (4)4.单片机的应用特点 (6)三、总体设计方案 (6)1.设计思路 (6)2.硬件设计及引脚接线框图 (7)四、设计原理分析 (8)1.校时模式 (8)2.定时模式 (8)3.工作模式 (8)4. 存储器93C46的相关介绍 (8)五、程序部分 (8)1.程序分为五部分 (8)2.部分寄存器及按键说明 (8)3.程序流程图 (8)4.程序清单 (12)六、方案论证 (29)七、总结与体会 (28)八、谢词 (28)九、参考文献 (29)十、总电路图 (30)自动打铃器摘要文章介绍了一种以8051单片机为核心控制的并带有数码LED显示时.分.秒和以指示灯做标志的按键校时自动打铃器。

一、引言单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。

由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。

单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。

基于单片机控制的校园自动打铃器作息时钟设计-大学毕业论文毕业设计学位论文范文模板参考资料

基于单片机控制的校园自动打铃器作息时钟设计-大学毕业论文毕业设计学位论文范文模板参考资料

校园自动打铃器作息时钟摘要本文介绍了以AT89S51单片机为控制核心的自动打铃器产品,该电路具有时钟功能,可通过产品的上的设置键对要报警的时间点逐个的设置进去,打玲器只要走到设置好的时间就能报警。

输出效果由报警模块与显示模块组成,显示模块主要采用数码管来显示时间,让人们可以看到自动打铃器的时间是否与我们生活的时间一致,如果有误差则可以通过按键对时间进行调整。

该打铃器是一种电路比较简单,功能完善,且比较实用的自动打铃器。

它不但可以适用于学校及企业工厂等场所。

关键字:单片机自动控制数码显示调整目录一.引言 (3)二.方案比较 (4)2.1方案一基于数模电路的自动打铃器 (4)2.2方案二基于A T89S51控制的自动打铃器 (5)三.硬件电路设计 (5)3.1微控制器 (5)3.2振荡电路 (6)3.3复位电路 (6)3.4控键电路 (7)3.5显示电路 (8)3.6报警电路 (9)四.软件系统设计 (10)4.1主程序设计 (10)4.2定时1mS子程序设计 (10)4.3显示子程序设计 (10)4.4软件抗干扰设计 (11)五.系统调试与测试 (13)5.1软件仿真 (13)5.2硬件电路安装 (14)5.2.1单片机振荡电路安装 (14)5.2.2单片机复位电路安装 (14)5.2.3单片机控键电路安装 (14)5.2.4单片机显示电路安装 (15)5.2.5单片机报警电路安装 (15)5.2.6整机电路安装与调试 (15)结束语............................................................................................................. 错误!未定义书签。

参考文献.. (16)附录1:总设计原理图 (17)附录2:源程序 (18)一.引言打铃器是一种广泛应用于企业和学校单位。

就以对学校单位而言,自动打铃器是为了对了广大师生的作息时间做更好的管理,它一种学校必备电子设备,也是一种逐渐成型的电子产品,打铃器多为小规模集成电路构成,其性能单一,工作起来不够理想。

单片机打铃系统设计(完整)

单片机打铃系统设计(完整)

目录前言................................................................... . (1)第1章方案比较与选择 (2)1.1系统的比较与选................... ..... .... ......... (2)1.2显示器的比较与选择 (2)1.3时钟芯片的比较与选择................... . (2)第2章系统框图 (3)2.1系统框图 (3)第3章原理分析 (4)3.189C52简介 (4)3.2键盘控制模块 (7)3.3时钟电路模块............. ............. ............. ........... . (7)3.4复位电路模块........... ........ ........... ................ .. (7)3.5系统电源模块........ ........ ........... ................ ....... (8)3.6液晶显示模块........ ........ ........... ................ ......... .. (8)3.7打铃模块....... ........ . ......... .......... ................ .. (9)3.8 ISP下载线接口....... ........ .......... .......... ............ . (9)第4章系统软件设计 (10)4.1软件调试 (11)结论..................................................... .............13 致谢.................... .... .... .... .... ...................... (24)参考文献....................... ..... ..... ..... .. (26)单片机打铃系统设计前言随着现代科技的发展,管理水平的完善,具有自动提示功能的打铃器能够为企业节省人力资源,减少开支,对做到一体化管理具有很大的帮助。

单片机课程设计自动打铃电路-任务书

单片机课程设计自动打铃电路-任务书

课程设计任务书2013—2014学年第二学期专业:电子信息工程学号:姓名:课程设计名称:单片机原理及应用课程设计设计题目:自动打铃电路设计完成期限:自2014 年 5 月19 日至2014 年 6 月 1 日共 2 周一、设计依据提示作息时间的打铃器在各学校、企业等单位经常被使用,其中智能程控打铃器应运最广泛。

智能程控打铃器不但解除了作息管理的麻烦,它还可以控制电器设备自动的周期性工作。

因此设计作息时间自动打铃电路对于使用和维护这类设备有着触类旁通的现实意义。

熟悉所学的单片机知识设计出理论框图。

设计出符合要求的整体硬件电路图,包括时间显示电路、响铃电路、校时电路等。

编写软件程序,使电路具备时间显示,按预定时间响铃及校正时、分、秒的功能。

该设计应根据预定的响铃时间不同给出相应不同的电路设计和软件程序,对器件选择、线路连接要有较深入地分析探讨,对软件设计要求应有一定的软件流程和程序;同时写出合格的课程设计说明书。

二、要求及主要内容1.按照设计要求,画出系统框图和系统硬件电路图。

2. 有基本计时和显示功能(用12小时制显示)。

包括上下午标志,时、分的数字显示,秒信号指示。

3.能设置当前时间,且具有校时功能,能实现基本打铃功能,铃声可用小喇叭播放。

4. 编写软件程序。

要求最终正确无误地完成全部软件设计,并具有一定先进性,给出进一步提高性能的深入分析,对电路设计也应提出建设性意见并写出合格的课程设计说明书,圆满完成各项任务。

三、途径和方法1.硬件电路及软件程序设计设计一个能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏;先画流程图再根据流程图写程序,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒;在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能;设计打铃执行机构,完成自动打铃功能。

2.选芯片, 元件按设计连线3.调试(1)输入程序;(2)编译、连接,用连续方式运行程序;四、时间安排1.课题讲解:2小时。

单片机教学打铃控制器程序设计-课程设计

单片机教学打铃控制器程序设计-课程设计

教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校单片机教学打铃控制器程序设计-课程设计单片机教学打铃控制器程序设计一、课程设计题:单片机教学打铃控制器程序设计二、设计要求:用LED数码管显示时、分、秒时间,尽量减少时间积累误差,具有秒闪功能。

最多能设置40个打铃时间点,打铃时间点数据用非易失存储器存储,防止掉电丢失数据;能逐个检查、修改、删除已设置的打铃时间点和增加打铃时间点。

对时、打铃时间点用键盘设置,键盘设计简单、易于操作。

具有强电驱动功能,便于控制220V的电铃。

三、设计报告要求:说明设计作品的功能、特点、应用范围;方案对比,确定方案。

电路工作原理、操作方法;编程方法、程序框图及关键程序清单。

课程设计总结。

附件:参考电路图24C02芯片资料及参考程序课程设计元器件清单元器件名规格/型号单板数量购买数量备注电阻510Ω、1/4W210K、1/4W21K、1/4W1电阻排510Ω*81瓷片电容30pF2独石电容0.1&micro;F4电解电容220&micro;F/16V1二极管1N40071发光二极管Ф3MM、红光4三极管90131晶体12MHz(矮封装)1集成块78051AT89S52124C02174071IC插座40PIN18PIN114PIN1数码管2位动态、红光、共阴极(FJ5202AH)3继电器5V、AC220V/5A(HRS4H-S-DC5V)1接插件IDC101套按键国产欧姆龙轻触按键,带透明帽8套-------------------------------------------------------------------------------- 程序:;**************教学打铃控制器程序*********;CPU: AT89S52, Fosc=12MHz;++++++++++++++++++变量定义+++++++++++++++SET_TIME BIT P1.0 ;时间设定SET_ALARM BIT P1.1 ;打铃设定LEFT BIT P1.2 ;左移位UP BIT P1.3 ;上翻/加1DOWN BIT P1.4 ;下翻/减1RIGHT BIT P1.5 ;右移位ESC BIT P1.6 ;取消/退出ENTER BIT P1.7 ;确认KEY_BUF EQU 30H ;原按键状态KEY_ST EQU 31H ;键闭合标志,ON:0FFH,OFF:00HSCL BIT P3.3 ;IIC时钟线SDA BIT P3.2 ;IIC数据线FLASH_S BIT P3.1 ;秒闪CONTREL BIT P3.4 ;控制;1=ONH_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 ;显示数据存储器1DIS_MEM2 EQU 16H ;显示数据存储器2DIS_MEM3 EQU 17H ;显示数据存储器3DIS_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 0000HAJMP STARTORG 0002BHAJMP INT_T0 ;T2中断向量ORG 0030HSTART: MOV SP,#60HCLR CONTRELCLR FLASH_SMOV H_MEM,#12MOV S_MEM,#0MOV CT_50MS,#20MOV NEW_TIME,#0MOV KEY_ST,#0MOV R4,#TOTA_ADDR ;从24C02读打铃时间点总数MOV R0,#AL_TOTAMOV R3,#1ACALL RD_EEROMMOV A,AL_TOTA ;总数大于0,小于、等于40判断JZ JMP_RDCLR CSUBB A,#40JC RD_AL_LISTMOV AL_TOTA,#0MOV R4,#TOTA_ADDRMOV R3,#1MOV R0,#AL_TOTAACALL WR_EEROMSJMP JMP_RDRD_AL_LIST:MOV A,AL_TOTA ;从24C02读打铃时间表RL AMOV R3,A;R0:RAM地址指针,R2:8位移位计数器;R3:数据字节计数器;R4:24C02 存储地址MOV R0,#80HMOV R4,#00HACALL RD_EEROMJMP_RD: MOV TH2,#3CH ;T2工作方式、时间常数MOV TL2 , #0ABHMOV RCAP2H, #3CHMOV RCAP2L, #0ABHMOV T2CON , #04HSETB ET2 ;开中断SETB EAWAITE: ACALL DISPLAYACALL KEY_CHECKMOV A,KEY_STCJNE A,#00H,KEY_MAINMOV A,NEW_TIMECJNE A,#0FFH,WAITENEW_DIS:MOV A,H_MEMACALL HBCDMOV DIS_MEM1,AMOV A,M_MEMACALL HBCDMOV DIS_MEM2,AMOV A,S_MEMACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEMOV A,ALARM_STJNZ CHEK_OFFMOV A,S_MEMJNZ WAITEACALL CHEK_AL ;打铃检测CHEK_OFF: MOV A,S_MEMCLR CSUBB A,#20JC WAITECLR CONTRELMOV ALARM_ST,#0SJMP WAITE;SJMP $;********打铃控制子程序*************** CHEK_AL:MOV A,AL_TOTAJZ CHEK_ENDMOV R0,#80HMOV R6,AL_TOTACHK_LOOP: MOV A,@R0CJNE A,H_MEM,NEXT_AL_1INC R0MOV A,@R0CJNE A,M_MEM,NEXT_AL_2SETB CONTRELMOV ALARM_ST,#0FFHSJMP CHEK_ENDNEXT_AL_1:INC R0NEXT_AL_2:INC R0DJNZ R6,CHK_LOOPCLR CONTRELMOV ALARM_ST,#0CHEK_END:RET;********键盘处理程序段*************** KEY_MAIN:MOV KEY_ST,#0JNB SET_TIME,TIME_SETJNB SET_ALARM,JMP_SET_ASJMP NEW_DISJMP_SET_A:AJMP ALARM_SET;========时间设置===================== TIME_SET:MOV TIME_OVER,#30MOV R5,H_MEMMOV R6,M_MEMMOV R7,S_MEMSET_H: JNB FLASH_S,GATE_HMOV DIS_MEM1,#0AAHSJMP CLS_HGATE_H: MOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_H: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_1MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_1AJMP WAITEJMP_1: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_HMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,H_UPJNB DOWN,H_DOWNJNB LEFT,JMP_SET_SJNB RIGHT,SET_MJNB ESC,JMP_ESCJNB ENTER,JMP_OKSJMP SET_HJMP_ESC:AJMP TIME_SET_ESCJMP_OK: AJMP TIME_SET_OKJMP_SET_S:AJMP SET_SH_UP: CJNE R5,#23,INC_HMOV R5,#0FFHINC_H: INC R5AJMP GATE_HH_DOWN: CJNE R5,#0,DEC_HMOV R5,#24DEC_H: DEC R5AJMP GATE_H;===========分钟设置=============== SET_M: JNB FLASH_S,GATE_MMOV DIS_MEM2,#0AAHSJMP CLS_MGATE_M: MOV A,R6ACALL HBCDMOV DIS_MEM2,AMOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_M: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_2MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_2AJMP WAITEJMP_2: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_MMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,M_UPJNB DOWN,M_DOWNJNB LEFT,JMP_SET_HJNB RIGHT,SET_SJNB ESC,TIME_SET_ESCJNB ENTER,TIME_SET_OKSJMP SET_MM_UP: CJNE R6,#59,INC_MMOV R6,#0FFHINC_M: INC R6AJMP GATE_MM_DOWN: CJNE R6,#0,DEC_MMOV R6,#60DEC_M: DEC R6AJMP GATE_MJMP_SET_H:AJMP SET_H;============秒设置================= SET_S: JNB FLASH_S,GATE_SMOV DIS_MEM3,#0AAHSJMP CLS_SGATE_S: MOV A,R7ACALL HBCDMOV DIS_MEM3,AMOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,ACLS_S: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_3MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_3AJMP WAITEJMP_3: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_SMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,S_UPJNB DOWN,S_DOWNJNB LEFT,JMP_SET_S_MJNB RIGHT,JMP_S_HJNB ESC,TIME_SET_ESCJNB ENTER,TIME_SET_OKSJMP SET_SJMP_S_H:AJMP SET_HS_UP: CJNE R7,#59,INC_SMOV R7,#0FFHINC_S: INC R7AJMP GATE_SS_DOWN: CJNE R7,#0,DEC_SMOV R7,#60DEC_S: DEC R7AJMP GATE_SJMP_SET_S_M:AJMP SET_M;====================================== TIME_SET_ESC:AJMP NEW_DIS ;时间设置取消/返回TIME_SET_OK:MOV S_MEM,R7 ;时间设置确认/返回MOV M_MEM,R6MOV H_MEM,R5AJMP NEW_DIS;=========打铃设置程序段=============== ALARM_SET:MOV TIME_OVER,#20MOV AL_NUMBER,AL_TOTAAL_LIST:MOV A,AL_NUMBERJNZ NUMBER_NMOV DIS_MEM1,#0MOV DIS_MEM2,#0AAHMOV DIS_MEM3,#0AAHACALL DIS_TIMEAJMP WAITE_ANUMBER_N:DEC ARL AADD A,#80HMOV R0,AMOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,@R0ACALL HBCDMOV DIS_MEM2,AINC R0MOV A,@R0ACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEWAITE_A:ACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_4MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_4AJMP WAITEJMP_4: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,WAITE_AMOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,NUM_UPJNB DOWN,NUM_DOWNJNB ESC,JMP_ESC_ALJNB ENTER,JMP_OK_ALJNB SET_ALARM,JMP_DEL_ALJNB SET_TIME,CHANGE_ALSJMP WAITE_AJMP_DEL_AL:AJMP DEL_AL;-------------------------------------NUM_UP: MOV A,AL_NUMBERCJNE A,AL_TOTA,INC_NUMMOV AL_NUMBER,#0FFHINC_NUM:INC AL_NUMBERAJMP AL_LIST;-------------------------------------NUM_DOWN:MOV A,AL_NUMBERCJNE A,#0,DEC_NUMMOV AL_NUMBER,AL_TOTASJMP J_DECNUMDEC_NUM:DEC AL_NUMBERJ_DECNUM:AJMP AL_LIST;==========修改打铃时间点================= CHANGE_AL:MOV A,AL_NUMBERJZ JMP_ADD_ALDEC ARL AADD A,#80HMOV R0,AMOV A,@R0MOV R6,AINC R0MOV A,@R0MOV R7,A;------------时修改------------------ SET_AL_H:JNB FLASH_S,GATE_AL_H MOV DIS_MEM2,#0AAH SJMP CLS_AL_HGATE_AL_H:MOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,ACLS_AL_H:MOV A,R7ACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_5MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_5 AJMP WAITEJMP_5: ACALL KEY_CHECK MOV A,KEY_STCJNE A,#0FFH,SET_AL_H MOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,AL_H_UPJNB DOWN,AL_H_DOWNJNB LEFT,SET_AL_MJNB RIGHT,SET_AL_MJNB ESC,JMP_AL_LISTJNB ENTER,JMP_SET_AL_OK SJMP SET_AL_HJMP_ESC_AL:AJMP ESC_ALJMP_OK_AL:AJMP OK_ALJMP_ADD_AL:AJMP ADD_ALJMP_SET_AL_OK:AJMP SET_AL_OKJMP_AL_LIST:AJMP AL_LISTAL_H_UP:CJNE R6,#23,INC_H_AL MOV R6,#0FFHINC_H_AL:INC R6AJMP GATE_AL_HAL_H_DOWN:CJNE R6,#0,DEC_H_ALMOV R6,#24DEC_H_AL:DEC R6AJMP GATE_AL_H;----------分修改---------------- SET_AL_M:JNB FLASH_S,GATE_AL_MMOV DIS_MEM3,#0AAHSJMP CLS_AL_MGATE_AL_M:MOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_AL_M:MOV A,R6ACALL HBCDMOV DIS_MEM2,AACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_6MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_6AJMP WAITEJMP_6: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_AL_MMOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,AL_M_UPJNB DOWN,AL_M_DOWNJNB LEFT,JMP_SET_AL_HJNB RIGHT,JMP_SET_AL_HJNB ESC,JMP_AL_LISTJNB ENTER,SET_AL_OKSJMP SET_AL_MJMP_SET_AL_H:AJMP SET_AL_HAL_M_UP:CJNE R7,#59,INC_M_ALMOV R7,#0FFHINC_M_AL:INC R7AJMP GATE_AL_MAL_M_DOWN:CJNE R7,#0,DEC_M_ALMOV R7,#60DEC_M_AL:DEC R7AJMP GATE_AL_M;=====打铃点设置确认/返回到列表状态====== SET_AL_OK:NOPMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,R6MOV @R0,AINC R0MOV A,R7MOV @R0,AMOV R0,#80HMOV R2,AL_TOTAACALL UP_LIST ;调升序排序程序AJMP ALARM_SET;==========增加打铃时间点================ ADD_AL: INC AL_TOTAMOV AL_NUMBER,AL_TOTAMOV R6,#08MOV R7,#0MOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,R6MOV @R0,AINC R0MOV A,R7MOV @R0,AAJMP SET_AL_H;==========打铃设置取消/返回========== ESC_AL: MOV R4,#TOTA_ADDRMOV R0,#AL_TOTAMOV R3,#1ACALL RD_EEROMMOV A,AL_TOTAJZ EXIT_SET_ALRL AMOV R3,AMOV R0,#80HMOV R4,#00HACALL RD_EEROMEXIT_SET_AL:AJMP NEW_DIS;=========打铃设置确认/返回=========== OK_AL: MOV R0,#AL_TOTAMOV R3,#1MOV R4,#TOTA_ADDRACALL WR_EEROMMOV A,AL_TOTAJZ JMP_NEW_DISMOV A,AL_TOTARL AMOV R0,#80HMOV R3,AMOV R4,#0ACALL WR_EEROMJMP_NEW_DIS:AJMP NEW_DISJMP_AL_SET:AJMP ALARM_SET;========删除打铃时间点=========== DEL_AL: MOV A,AL_TOTAJZ JMP_AL_SETJNB FLASH_S,GATE_DISMOV DIS_MEM1,#0AAHMOV DIS_MEM2,#0AAHMOV DIS_MEM3,#0AAHSJMP CLS_DISGATE_DIS:MOV A,AL_NUMBER ACALL HBCDMOV DIS_MEM1,AMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,@R0ACALL HBCDMOV DIS_MEM2,AINC R0MOV A,@R0ACALL HBCDMOV DIS_MEM3,ACLS_DIS:ACALL DIS_TIME ACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_7MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_7 AJMP WAITEJMP_7: ACALL KEY_CHECK MOV A,KEY_STCJNE A,#0FFH,DEL_AL MOV KEY_ST,#0MOV TIME_OVER,#20JNB ENTER,DEL_LISTJNB ESC,JMP_AL_SET_D AJMP DEL_ALJMP_AL_SET_D:AJMP ALARM_SET;------删除列表数据----------- DEL_LIST:MOV A,AL_TOTADEC AJZ CLR_TOTAMOV A,AL_TOTACLR CSUBB A,AL_NUMBERJZ NEW_LISTRL AMOV R3,AMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AINC AINC AMOV R1,AMOVE_LIST_AL:MOV A,@R1MOV @R0,AINC R1INC R0DJNZ R3,MOVE_LIST_ALNEW_LIST:DEC AL_TOTAMOV R0,#80HMOV R2,AL_TOTAACALL UP_LISTLJMP ALARM_SETCLR_TOTA:MOV AL_TOTA,#0LJMP ALARM_SET;============================================= ;*************T0中断服务子程序**************** INT_T0: PUSH ACC ;保护现场PUSH PSWCLR TF2MOV TL0,#0B0H ;50mS 定时常数MOV TH0,#3CHDJNZ CT_50MS,CK_500MSMOV CT_50MS,#20 ;DELAY 1 SECONDMOV NEW_TIME,#0FFH;置秒标志MOV A,S_MEMCJNE A,#59,SECOND ;判断秒=59MOV S_MEM,#0FFHMOV A,M_MEMCJNE A,#59,MINUTE ;判断分=59MOV M_MEM,#0FFHMOV A,H_MEMCJNE A,#23,HOUR ;判断时=23MOV H_MEM,#0FFHHOUR: INC H_MEM ;时加1MINUTE: INC M_MEM ;分加1SECOND: INC S_MEM ;秒加1CPL FLASH_SSJMP EXIT_T0CK_500MS:MOV A,CT_50MSCJNE A,#10,EXIT_T0CPL FLASH_S ;秒闪EXIT_T0:POP PSW ;恢复现场POP ACCRETI ;中断返回;====================================== ;*********拆字查表子程序*************** DIS_TIME:PUSH ACCPUSH BMOV A,DIS_MEM1ACALL DIS_H_LMOV DIS_BUF1,AMOV DIS_BUF2,BMOV A,DIS_MEM2ACALL DIS_H_LMOV DIS_BUF3,AMOV DIS_BUF4,BMOV A,DIS_MEM3ACALL DIS_H_LMOV DIS_BUF5,AMOV DIS_BUF6,BPOP BPOP ACCRET;++++++++++++++++++++++++++++++++++++ DIS_H_L:MOV B,AANL A,#0FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRXCH A,BSWAP AANL A,#0FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRRET;====================================== ;*********数码管扫描子程序************* ;执行时间:10mS;++++++++++++++++++++++++++++++++++++++DISPLAY:PUSH ACCPUSH PSWPUSH 00HMOV P0,#0MOV A,#0FEHMOV R0,#DIS_BUF1DIS_LOOP:MOV P2,AMOV P0,@R0ACALL DLY_DISMOV P0,#0RL AINC R0JB ACC.6,DIS_LOOPMOV P2,#0FFHPOP 00HPOP PSWPOP ACCRET;-----------------------------------DLY_DIS:PUSH 02HPUSH 03HMOV R2,#4DLY_LOOP:MOV R3,#204DJNZ R3,$DJNZ R2,DLY_LOOPPOP 03HPOP 02HRET;====================================== ;*********键盘检测子程序*************** ;检测有无按键按下;键闭合标志KEY_ST,ON:0FFH,OFF:00H;++++++++++++++++++++++++++++++++++++++ KEY_CHECK:PUSH ACCMOV P1,#0FFHMOV A,P1CPL AJZ KEY_OFFACALL DISPLAYMOV A,P1CPL AJZ KEY_OFFMOV A,KEY_BUFCPL AJNZ KEY_OFFMOV KEY_BUF,P1;XRL A,KEY_BUF;JZ KEY_OFFMOV KEY_ST,#0FFHSJMP EXIT_KKEY_OFF:MOV KEY_ST,#0MOV KEY_BUF,P1EXIT_K: POP ACCRET;=========================================;****单字节十六进制整数转换成单字节BCD码整数****;入口条件:待转换的单字节十六进制整数在累加器A中。

基于单片机控制的电铃控制器的设计

基于单片机控制的电铃控制器的设计

单片机原理与应用技术课程设计报告(论文)基于单片机控制的电铃控制器的设计专业班级:姓名:时间:指导教师:基于单片机控制的电铃控制器课程设计任务书1.设计目的与要求设计出一个电铃控制器,准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)可以显示星期、时、分和秒。

(2)每天可设置20次,打铃持续时间每次1-90秒可调,每次打铃的间隔时间1-99分钟可调。

(3)内置蜂鸣器可以发出监控声音。

2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩在规定时间内,完成叙述并回答问题。

论文结构清晰,层次分明,理论严谨。

基于单片机控制的电铃控制器的设计电子132 方勋摘要:系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。

键盘采用独立连接式。

还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。

外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。

由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机STC89C52,它是低功耗、高性能的CMOS型8位单片机。

片内带有8KB的Flash存储器,且允许在系统内改写或用编程器编程。

另外, STC89C52的指令系统和引脚与8051完全兼容,片内有512B的RAM、32条I/O口线、3个16位定时计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)等。

在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。

自动打铃器设计

自动打铃器设计

目录一、设计题目.................................................................................................................... 错误!未定义书签。

二、设计要求 (3)三、设计作用与目的........................................................................................................ 错误!未定义书签。

四、自动打铃器设计方案 (3)4.1 自动打铃器总体设计......................................................................................... 错误!未定义书签。

4.2工作原理.............................................................................................................. 错误!未定义书签。

4.2.1 STC89C52RC单片机的简介 (4)4.2.2 引脚及其功能 (6)五、自动打铃器硬件设计 (4)5.1时钟电路 (8)5.2 复位电路 (8)5.3单片机最小系统 (8)5.4键盘与开关电路 (9)5.5输出电路 (10)六、电子打铃器软件设计 (12)6.1主函数 (12)6.2按键处理函数 (13)6.3打铃比较函数 (14)七、电子打铃器调试与分析 (15)7.1软件调试步骤 (15)7.2子程序调试步骤 (15)7.3调试结果 (16)7.4系统误差及性能分析 (16)八、心得体会 (16)附录A (18)附录B (19)附录C (20)摘要随着科学技术的发展,单片机作为嵌入式系统的机种之一,已经在日常生活和控制领域等方面得到了极其广泛的应用。

单片机课程设计项目系列 电铃控制器

单片机课程设计项目系列  电铃控制器

电铃控制器课程设计任务书1.设计目的与要求设计出一个电铃控制器。

准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)显示:可以显示星期、时、分和秒。

(2)打铃:每天可设置20次,打铃持续时间每次1-90秒可调,每次打铃的间隔时间1-99分钟可调。

(3)铃声:内置蜂鸣器可以发出监控声音。

2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩在规定时间内,完成叙述并回答问题。

目录1 引言 (1)2 总体设计方案 (1)2.1 设计思路 (1)2.2方案论证 (2)2.3 设计方框图和流程图 (2)3设计原理分析 (3)3.1打铃电路的设计 (3)3.2显示驱动电路的设计 (3)3.3掉电存储电路的设计 (4)3.4信号输入电路的设计 (4)4 结束语 (5)参考文献 (5)附录一总体电路图 (6)附录二程序清单 (7)电铃控制器应教053 霍鹏飞摘要:本设计由单片机系统、按钮开关、LED 显示和打铃电路组成。

系统能完成显示星期、时、分和秒以及设定时间和打铃等功能。

除上述基本的时钟显示功能外,还具有调电存储、指示功能,依据实际的情况还可以添加其他扩展功能。

本系统成本低廉,功能实用,适合广大工厂和学校使用. 关键词:单片机 打铃 LED 显示 定时 调时 74LS1641 引言随着社会的不断发展和科学技术的不断进步,特别是电子产业的发展,以高精密、多功能、成本低、使用方便而被广大群众所青睐,因为现在的人们对时间越来越重视.而在学校、机关及工矿企事业等场合,为了为大家提供准确的休息和作息时间.而以往的打铃器是靠人工打铃,时间不准确,落后而且麻烦.人们需要准确的时间而且设定时间后无需人工管理.因此就需要一款精密而适用的自动打铃器.打铃器由AT89S51及掉电保护电路的等主要器件组成,采用按键控制调时和定时等功能,用7个数码管来分别显示星期、时、分和秒,用3个发光二极管作为指示灯.用5V 直流电源,可以设定20多个打铃时间点,具有掉电保护功能,数据可长时间(40年)不丢失. 以AT89S51为核心的单片机控制. 主要作用:解除作息管理麻烦、改变人工打铃、人工控制电器落后现象,实行电铃周期性工作的自动化控制.同时设有数字显示器及控制系统对于设定时间具有掉电保护的功能,体积小,重量轻等优点。

基于单片机的自动打铃器的设计毕业设计

基于单片机的自动打铃器的设计毕业设计

基于单片机的自动打铃器的设计毕业设计目录摘要 (I)Abstract (II)第一章绪论 (1)1.1单片机设计的目的和意义 (1)1.2单片机发展现状和前景展望 (1)1.2.1课题发展现状 (1)1.2.2课题前景展望 (2)1.3Protel 99 SE概述 (2)1.3.1Protel 99 SE的组成 (3)1.3.2Protel 99 SE的应用 (4)1.3.3电路板的设计步骤 (6)第二章单元模块的设计 (8)2.1电源模块 (8)2.2单片机最小系统模块 (8)2.3时钟模块 (9)2.4按键模块 (11)2.5显示模块 (12)2.5.1主要技术参数 (13)2.5.2引脚功能 (13)2.5.3基本操作时序 (14)2.5.4状态字说明 (14)2.5.5RAM地址映射图 (14)2.5.6指令说明 (15)2.5.7接口时序图 (16)2.6喇叭模块 (18)第三章系统软件设计 (19)3.1系统软件按键程序设计 (20)3.2系统软件打铃器时间设置设计 (21)第四章系统功能介绍及调试 (22)4.1打铃器功能简介 (22)4.2打铃器优点 (22)4.3打铃器缺点与不足 (22)4.4系统调试 (22)4.3.1硬件调试 (22)4.3.2软件调试 (23)结束语 (24)参考文献 (25)致谢 (26)附录 (27)附录1 (27)附录2 (41)基于单片机的自动打铃器的设计摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

本文首先概述了单片机电路的发展历史,单片机设计方法和工具的变革,单片机技术及发展,C语言硬件描述语言,Protel 99 se的应用,典型的单片机电路设计流程,然后详细地介绍了单片机自动打铃器与控制电路的完整的设计过程。

单片机设计电子打铃器

单片机设计电子打铃器

目录引言...........................................................................................................................................................................第一章设计简介及方案论述...................................................................................................................................第二章设计思路与方案...........................................................................................................................................2.1单片机总体设计思路............................................2.2各功能模块程序实现原理分析....................................2.3AT89C51单片机性能介绍.........................................第三章电子打铃系统硬件设计...............................................................................................................................3.1系统主要硬件电路 ..............................................3.3蜂鸣器驱动模块的硬件设计......................................第四章系统软件设计...............................................................................................................................................4.1系统软件设计的主要内容........................................4.2主程序流程设计 ................................................第五章系统调试与测试结果分析...........................................................................................................................5.1系统调试 ......................................................5.2调试现象及分析 ................................................5.3仿真结果 ......................................................第六章、心得体会...................................................................................................................................................参考文献:...............................................................................................................................................................附录:.......................................................................................................................................................................摘要本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显着地增加系统成本的情况下,可支持更多的LED数码管稳定显示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计目录摘要 (1)引言 0第一章设计简介及方案论述 (1)第二章设计思路与方案 (1)2.1单片机总体设计思路 (1)2.2各功能模块程序实现原理分析 (2)2.3 AT89C51单片机性能介绍 (2)第三章电子打铃系统硬件设计 (5)3.1系统主要硬件电路 (5)3.3蜂鸣器驱动模块的硬件设计 (7)第四章系统软件设计 (7)4.1系统软件设计的主要内容 (8)4.2主程序流程设计 (8)第五章系统调试与测试结果分析 (10)5.1系统调试 (10)5.2调试现象及分析 (10)5.3仿真结果 (10)第六章、心得体会 (12)参考文献: (12)附录: (13)单片机课程设计摘要本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。

设计采用AT98C51单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。

计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。

关键词:AT89C51;数码管; LED单片机课程设计引言本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。

掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。

近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。

学习单片机的最有效的方法就是理论与实践并重,本文用AT89C51单片机设计的一个电子打铃系统。

第一章设计简介及方案论述1.1作息时间控制钟系统概述:本设计是一个具有打铃功能的作息时间控制钟。

它利用89C51单片机的2Hz时基计时,进行年历计算,并用的蜂鸣器驱动模块将它打出来;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。

由七段显示驱动模块、蜂鸣器驱动模块和按钮控制模块三部分组成,四个按键用于报时及校正时间。

现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。

本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。

1.2设计要求:①利用单片机组成一个电子打铃器。

②按照学校上下课铃声次序设定定时间③用一个蜂鸣器模拟电铃,响铃10s。

④周六周日不打铃⑤通过“周”“时”键和“分”键分别校正周、时和分,每按一次对应+1。

第二章设计思路与方案2.1单片机总体设计思路(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED 的显示屏;(2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒;(3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能;(4)设计打铃执行机构,完成自动打铃功能。

2.2各功能模块程序实现原理分析AT89C51七段式数码管铃声装置按钮控制图2-1模块组成框图如图2-1所示,该模块由蜂鸣器驱动模块、蜂鸣器驱动模块和按钮控制模块三部分组成。

且三部分都通过AT89C51来实现。

○1七段式数码管驱动模块采用动态扫描方式,通过一组单片机端口驱动并联在一起的LED 发光管的一端(共阴或共阳端),LED 发光管的另一脚接通用I/O 口,控制其亮灭。

该方法能驱动较多的LED ,控制方式较灵活,而且节省单片机的资源。

○2. 蜂鸣器驱动模块 采用压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。

多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5-15V 直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。

○3 按钮控制模块 四个按钮的一端分别接地,另一端接单片机一个端口的四个引脚,当某一个按钮按下的时候,其对应的引脚就由高电平变成低电平,然后通过单片机扫描读取引脚的电平来判断按钮是否按下。

2.3 AT89C51单片机性能介绍AT89C51是一种带4K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

引脚说明:VCC:供电电压。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

89C51各部分引脚图如下:P1.0 1 40 VccP1.1 2 39 P0.0P1.2 3 38 P0.1P1.3 4 37 P0.2P1.4 5 36 P0.3P1.5 6 35 P0.4P1.6 7 34 P0.5P1.7 8 33 P0.6RST/Vpd 9 32 P0.7RXD P3.0 10 31 EA/VppTXD P3.1 11 30 ALE/-PINT0 P3.2 12 29 PSENINT1 P3.3 13 28 P2.7T0 P3.4 14 27 P2.6T1 P3.5 15 26 P2.5WR P3.6 16 25 P2.4RD P3.7 17 24 P2.3X2 18 23 P2.2X1 19 22 P2.1GND 20 21 P2.0图2-2 89C51引脚图RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC 指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE 禁止,置位无效。

为使该模块化自动打铃系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。

硬件电路包括七段式数码管驱动模块、蜂鸣器驱动模块、按钮控制模块等三大模块。

第三章电子打铃系统硬件设计3.1系统主要硬件电路系统主要硬件电路作为驱动整个打铃系统的电路又分为七段数码显示电路和蜂鸣器驱动电路。

由显示七段数码显示电路和蜂鸣器驱动电路组成的系统硬件主要电路如下:图3-3:系统主要硬件电路该系统通过按钮控制(系统使用4只按键,3只按键用来调整时间,另一只为强制打铃按钮;调整选择键SET_KEY:P1.0通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:P1.1按一次使选中位加1;减少键DEC_KEY:P1.2按一次使选中位减1;如果长按ADD_KEY 或DEC_KEY,识别后则进行调时快进,此时停止闪烁)AT89C51的计时和定时,在七段数码管上显示出来(实现24小时制电子钟,8位数码管显示,显示时分秒),再通过蜂鸣器 (BEEP:P3.7)来实现打铃。

3.2七段式数码管驱动模块的硬件设计LED 数码管显示器内部有七个条形发光二极管和一个小圆点发光二极管组成,其结果图如下所示:图3-4:七段数码显示管因而它的控制原理和发光二极管的控制原理是相同的。

根据各管接线的形式,可分成共阴极型和共阳极型。

其八个接口对应的字形如下表:表一:数码管字型码表显示字形dp g f e d c b a 共阴极字型码 共阳极字型码0 0 0 1 1 1 1 1 1 0x3F 0xC0 1 0 0 0 0 0 1 1 0 0x06 0xF9 2 0 1 0 1 1 0 1 1 0x5B 0xA4 3 0 1 0 0 1 1 1 1 0x4F 0xB0 4 0 1 1 0 0 1 1 0 0x66 0x99 5 0 1 1 0 1 1 0 1 0x6D 0x92 6 0 1 1 1 1 1 0 1 0x7D 0x82 7 0 0 0 0 0 1 1 1 0x07 0xF8 8 0 1 1 1 1 1 1 1 0x7F 0x80 9 0 1 1 0 1 1 1 1 0x6F 0x90 A 0 1 1 1 0 1 1 1 0x77 0x88 B 0 1 1 1 1 1 0 0 0x7C 0x83 C 0 0 1 1 1 0 0 1 0x39 0xC6 D 0 1 0 1 1 1 1 0 0x5E 0xA1 E 0 1 1 1 1 0 0 1 0x79 0x86 F11110x710x8EA B C D E F Gcom3.3蜂鸣器驱动模块的硬件设计本设计中的蜂鸣器驱动模块用到了蜂鸣器(SPEAKER)、三极管、100欧姆的电阻。

相关文档
最新文档