基于51单片机的自动打铃系统
- 格式:doc
- 大小:459.50 KB
- 文档页数:27
单片机系统课程设计课程设计名称:自动打铃器设计专业班级: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研究背景现代社会的发展越来越快,人们的时间观念也越来越强。
学校电子钟,有闹钟功能,按键可调时间,可调打铃时间,打铃时间长短显示,每个模块有功能注释。
其中正常时间显示和闹钟时间显示可用一个开关来调整。
芯片选择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();}}电路图:分四部分显示:如果在学习这个程序过程中有什么问题,可以发邮件到******************询问。
摘要在人们的日常生活中,控制系统已经走入了千家万户,对于学校生活来说,按时打铃提醒学生上下课是一件必不可少的事情,遗忘的打铃工作军都是依靠人为进行计时,按时打铃,第一打铃的时间并不精确,同时也浪费较多的人力,造成了很大的浪费,论文以此为切入点,结合已经学习的51单片机的知识,设计了一种自动打铃的自动化系统,改善了学校打铃工作的现状,节约了人力、物力、财力。
关键词:定时打铃;DS1302时钟;LCD1602液晶显示ABSTRACTWith the improvement of social life, a variety of automatic control system quickly into people's lives, for school life, the bell on time to remind students to attend classes is an essential thing, forgotten bell work The military relies on man-made timing, the bell on time, the first ringing time is not precise, but also a waste of more manpower, resulting in a great waste of paper as a starting point for the design of a 51-based microcontroller Automatic school timely bell system, while using LCD1602 LCD real-time display time to improve the status of the bell work. Improve the automation of this work.Key words:timing bell; DS1302 clock; LCD1602 liquid crystal display目录摘要 (1)ABSTRACT (2)第1章绪论 (5)1.1选题背景及研究意义 (5)1.2课题设计的主要内容 (5)第2章方案的总体设计 (7)2.1主控芯片的选择 (7)2.2显示模块 (7)2.3时钟模块的选择 (8)第3章系统硬件设计 (9)3.1各个主要模块功能介绍 (9)3.1.1系统主要芯片和元器件的介绍及应用 (9)3.1.2 DS1302 时钟模块介绍 (9)3.1.3 LCD液晶显示模块介绍 (13)3.1.4 蜂鸣器模块 (15)3.2单片机最小系统的设计 (16)3.2.1 时钟脉冲电路 (16)3.2.2复位电路 (16)3.3硬件设计总图 (17)第4章软件程序设计 (19)4.1软件程序整体设计 (19)4.1.1程序流程图 (19)4.2程序模块设计 (20)4.2.1 DS1302时钟显示与调节程序设计 (20)4.2.2 LCD1602显示程序设计 (21)4.2.3蜂鸣器程序设计 (22)第5章系统仿真 (23)5.1 PROTEUS软件简介 (23)5.2仿真结果 (23)参考文献 (25)致谢 (26)第1章绪论1.1 选题背景及研究意义随着社会的发展和自动化水平的提高,各种物品都在向着自动化方向运行和进展,本片的论文也是如此,为了解决学校日常生活中的打铃问题,开展了自动打铃系统的研制毕业课程设计,充分发挥了所学知识,将其用于学生的日常生活中,方便了老师的同时也方便了学生的日常生活,基于当前已经有较多产品投入了日常的生活中去,论文将以一些常见的自动打铃产品为依托进行仿造设计,从而完成整体的毕业设计任务。
基于51的电⼦闹钟设计报告(附原理图、PCB图、程序)成都信息⼯程学院第五届嵌⼊式创新技术⼤赛基于MCS51的智能电⼦闹钟设计报告姓名学院班级实物图⽬录1.电⼦时钟的设计原理和⽅法 (1)1.1设计原理 (1)1.2 硬件电路的设计 (1)1.2.1 STC89C51RC简介 (1)1.2.2 键盘电路的设计 (2)1.2.3蜂鸣器驱动电路 (3)1.2.4 数码管驱动电路 (3)1.2.5 电源电路 (4)1.3软件部分的设计 (4)1.3.1主程序部分的设计 (4)1.3.2中断计时器及时间进位 (5)1.3.3 闹钟⼦函数 (7)1.3.4 按键扫描 (8)1.3.5 时钟闹钟设置 (9)1.3.6 显⽰数字函数 (10)1.3.7 显⽰界⾯函数 (10)1.3.8 闹钟记录及读取 (11)2.硬件调试 (13)附录A:电路原理图 (15)附录B:电路PCB图 (16)附录C:源程序 (17)1.电⼦时钟的设计原理和⽅法1.1设计原理系统框图1.2硬件电路的设计1.2.1 STC89C51RC简介STC89C52R CSTC89C51RC是⼀种带8K闪烁可编程可擦除只读存储器(FPETOM-FlashProgrammabalandErasableReadOnlyMemory )的低电压、⾼性能CMOS8位微型处理器,即单⽚机芯⽚。
单⽚机的可擦除只读存储器可以反复擦除1000次,内部FLASH 擦写次数为100000次以上。
该芯⽚使⽤⾼密度⾮易失存储制造技术,与⼯业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器集成在单个芯⽚中,使得STC89C51RC 成为了⼀种性价⽐极⾼的微型处理器芯⽚,在许多电路设计中都得到了应⽤。
STC89C51RC 单⽚机特点:⼯作电压:5.5V-3.4V ⼯作频率:0-40MHz ⽤户应⽤程序空间:8K ⽚上集成128*8RAMISP (在系统可编程)/IAP (在应⽤可编程),⽆需专⽤编程器/仿真器可通过串⼝(P3.0/P3.1)直接下载⽤户程序EEPROM 功能共3个16位定时器/计数器,其中定时0还可以当成2个8位定时器使⽤外部中断4路通⽤异步串⾏⼝(UART ),还可⽤定时器软件实现多个UART ⼯作温度范围:0-75℃引脚说明:VCC:供电电压 GND :接地P0:P0是⼀个8位漏级开路双向I/O ⼝,低8位地址复⽤总线端⼝。
校园自动打铃器作息时钟摘要本文介绍了以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)一.引言打铃器是一种广泛应用于企业和学校单位。
就以对学校单位而言,自动打铃器是为了对了广大师生的作息时间做更好的管理,它一种学校必备电子设备,也是一种逐渐成型的电子产品,打铃器多为小规模集成电路构成,其性能单一,工作起来不够理想。
课程设计(论文)题目名称基于单片机的自动打铃系统2010年6月28 日摘要本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。
设计采用AT98C51单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。
计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。
关键词:AT89C51;数码管; LED目录引言 (1)第一章设计简介及方案论述 (1)1.1 作息时间控制钟系统概述 (1)1.2 本设计任务和主要内容 (1)第二章系统硬件电路设计 (2)2.1单片机总体设计思路 (2)2.2各功能模块程序实现原理分析 (2)2.21七段式数码管驱动模块 (2)2.22蜂鸣器驱动模块 (2)2.23按钮控制模块 (3)2.3系统主要硬件电路 (5)2.31七段式数码管驱动模块的硬件设计 (6)2.32蜂鸣器驱动模块的硬件设计 (7)第三章系统软件设计 (8)3.1 系统软件设计的主要内容 (8)3.2 系统软件设计的流程图 (8)第四章系统调试与测试结果分析 (10)4.1 系统调试 (10)4.11硬件调试 (10)4.12软件调试 (10)4.13硬件软件联机 (10)4.2仿真结果 (10)第五章附录及参考文献 (12)5.1汇编程序清单 (12)5.2器材仪表 (34)5.3参考资料 (34)引言本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。
掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。
近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
基于51单片机电子闹钟的设计摘要51电子闹钟是集电子技术、数字显示技术为一体的高产品,具有按时闹铃,使用方便等优点。
本论文从51电子闹钟系统的功能,硬件电路设计,软件设计和产品介绍四部分分别论述这一系统。
本系统51电子闹钟硬件部分结构简单、成本低,具有比较好的市场前景。
现代的快节奏生活给人们的精神上带来了很大压力。
如何排解或缓解这些压力已经成为很多人和探索者多年来的一个重要研究项目,电子闹钟减压正是应此而生。
目录第一章绪论 (4)1.1概述 (4)1.1.1 51电子闹钟发展趋势 (4)1.1.2 本课题研究的主要内容 (4)1.251电子闹钟简介 (4)1.2.1 开发的目的和意义 (5)1.2.2 51电子闹钟的优点 (5)1.2. 3 51电子闹钟的特点 (5)第二章系统方案的设计 (3)2.1系统概述 (6)2.1.1系统功能描述 (6)2.1.2系统方案的确定 (6)2.1.3系统设计思路与步骤 (3)2.2芯片基本工作原理及其应用 (5)2.2.1 AT89S51简介 (5)2.2.2引脚介绍 (8)2.2.3电源 (9)2.2.4存储器 (9)2.2.5应用 (9)2.3LM386简介 (9)2.3.1 LM386介绍 (10)2.3.2 LM386特点..................................... 错误!未定义书签。
第三章系统的设计.. (8)3.1系统硬件设计 (8)3.1.1单片机系统的设计 (8)3.1.2 按键电路的设计 (9)3.1.3复位电路的设计 (10)3.1.4显示电路的设计.................................. 错误!未定义书签。
3.2系统软件的设计................................... 错误!未定义书签。
3.2.1软件设计........................................ 错误!未定义书签。
目录1. 摘要 ........................................................................................................................ 错误!未定义书签。
2. 设计目的要求 (2)3. 设计实现方案 (3)3.1系统总框图 (3)3.2原理及工作过程说明 (3)3.3元器件功能说明 (4)3.3.1 AT89C51单片机 (4)3.3.2 1602LCD液晶显示器 (7)3.3.3 其他重要元件 (8)4. 软件设计 (11)4.1程序流程图 (12)4.2源代码 (12)5. 系统仿真 (22)6. 心得体会 (33)7. 参考文献............................................................................................................... 错误!未定义书签。
1. 摘要本设计师定时闹钟的设计,由单片机AT89C51芯片和LCD、LED显示器,辅以必要的的电路,构成一个单片机定时闹钟。
电子钟可采用数字电路实现,也可以采用单片机来完成。
LCD显示“时”,“分”,LED闪动来做秒计数,定时时间到能发出警报声或者启动继电器,从而控制电器的启停。
现在是自动化高度发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持。
在这次设计中主要是用AT89S51来进行定时,也结合着其他辅助电路实施控制,在定时的时候,按一下控制小时的键对小时加一;按一下控制分钟的键对分钟加一;到达预设的时间,此电路就会发出报警声音提示已经到点。
关键字:定时闹钟AT89C51 LCDSummary:The regular alarm clock designers design, by the microcontroller AT89C51 chip and LCD, LED display, combined with the necessary circuitry to form a single-chip timer alarm clock. Clock can be digital circuit, the microcontroller can also be used to complete. LCD display "when", "sub", LED flash to do the second count, regular time to be able to sound an alarm or start relay to control the electrical start and stop. Now is the era of highly developed automation, especially electronic products are relying on the internal control circuitry to achieve control of the product to achieve the purpose of automatic operation, which requires us to do the design of electrical components and circuits to support .In this design it is mainly used to carry out regular AT89S51, but also combined with other auxiliary circuit implementation of the control, in time, when you click a control button on the hour plus one hour; click the button on the control minutes plus one minute; reach preset time, this will sound an alarm circuit has prompted the point,. Keywords: time clock AT89C51 LCD2.设计目的要求1).本次课程设计应达到的目的:1、综合运用相关课程中所学到的理论知识去独立完成某一设计课题;2、通过查阅手册和相关文献资料,培养学生独立分析和解决问题的能力;3、进一步熟悉单片机和常用接口电路,加深对专业知识和理论知识学习的认识和理解;4、学会电路的安装与调试;5、进一步熟悉电子仪器的正确使用;6、学会撰写课程设计的总结报告;7、培养严肃认真的工作作风和严谨的科学态度。
0 引言伴随大数据技术的日趋成熟和人工智能的产业化发展,以及2020年5G 民用时代的来临,智能化家居已经逐步进入千家万户。
智能家居的未来发展方向是满足人民群众对家居生活的安全化、生态化、个性化和智能化的不断追求。
门铃系统作为工作和生活中不可缺少的一部分,同时也是实现家居智能化的重要一环,应该具备安全性、多元性和智能性。
本系统采用AT89S52作为控制器,采用模块化思想设计外围硬件电路。
硬件电路包括单片机最小系统,热释电红外检测电路,GSM 电路,无线通信电路,语音电路和人机接口电路等。
软件设计采用C 程序实现,可以实现居家模式和外出模式下的自动切换。
居家模式下,系统实现语音播报和液晶显示;外出模式下系统自动实现生人检测,短信提醒和语音留言。
1 总体设计方案本系统主要由室内门铃系统和室内门铃系统组成。
室内与室外之间通过一对带地址、数据编码功能的红外遥控发射/接收芯片PT2262/2272进行无线通信。
室外系统整体设计如图1所示,主要由AT89S52作为控制中心,外围电路由热释电红外检测电路、语音录放电路、GSM 电路、PT2262无线发射电路和人机交互电路(按键电路、LCD12864液晶显示电路)等组成。
图1 室外门玲系统整体设计方框图室外系统处于居家模式时,按下按键触无线发射电路,室内系统接收到信息驱动音乐铃声提醒访客来访;处于外出模式时,系统通过热释电传感器检测是否有生人长时间逗留,并通过语音提示不要逗留。
如果是访客,可以根据显示屏提示信息通过按下按键,触发语音电路自动采集访客留言。
如果用户无法及时返回家中,可以通过发送短信控制门锁的打开与关闭。
室内系统设计如下图2所示,主要由AT89S52作为控制中心,外围电路由PT2272无线接收电路、音乐播放电路、人机adapts to needs of daily life.The doorbell system has home mode and out mode.When the system is in home mode, triggering doorbell for voice broadcast and LCD display to remind users;while switching to the out mode, the system has the functions of strangers detection, SMS remote reminder, voice message, etc.The design which chose AT89S52 as the controller and the external circuit by modular design can meet the needs of daily life in different scenarios with low cost, and has achieved home intelligence.Keywords: intelligent doorbell;strangers detection;AT89S52;home intelligence外检测探头RE1和BISS0001信号处理电路组成[2]。
基于51单片机实现的简单闹钟设计本设计利用单片机AT89C52制作一个简单的倒计时定时闹钟,这是一个很实用的工具。
我们使用按键来设定需要定时的时间长短,然后利用中断设置20次中断定义一秒,利用程序设计时间倒数。
同时,我们使用4个8段数码管来显示分和秒,并且在定时结束后使用电铃警示。
在硬件系统方面,我们使用proteus仿真,这样就能观察到系统的实际运行情况。
具体地说,我们使用AT89C52单片机芯片作为控制芯片,使用四位相连的8段共阴数码管,并且使用74HC573锁存器控制数码管的显示。
在定时过程中,我们使用s1控制十分位,s2控制分位,s3控制十秒位,s4控制秒位,s5开始倒计时。
这样,我们就能实现一个简单而实用的倒计时定时闹钟。
关于AT89C52单片机芯片,它是___MCS-51系列单片机中基本的产品,采用___可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,基于标准的MCS-51单片机体系结构和指令系统,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
80C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
8051片内有ROM,无须外接外存储器和373,更能体现“单片”的简练。
最后,关于74HC573芯片,它是一个锁存器,用于控制数码管的显示。
*********大学********学院电子闹钟设计报告专业:******学号:******姓名:*******一.仿真电路图:二. 器件30P电容2个12MHZ晶振1个喇叭1个38译码器1个89c52单片机1个按键4个5V电源300欧电阻7个8位共阴数码管1个三.流程图:电子闹钟主流程图:调时、调日期、调星期流程图:倒计时结束流程图:音乐播放流程图:闹铃功能流程图:四.功能介绍:有计时,计日期,计星期,调时、调日期、调星期、闹钟、调闹钟、音乐闹铃、秒表、99秒倒计时、60秒倒计时、5秒倒计时、倒计时结束播放提醒音乐、直接按键播放音乐共计15个小的功能,分为四个功能模块,用四个按键来实现1.调时,查看日期以及调日期,查看星期以及调星期按键1进入该模块后,显示该模块的界面“1234”,分别代表在该界面中要用到的按键编号。
此时按1即进入调时界面,显示当前时间,按1秒加1,按2分加1,按3时加1,按4退出该界面而回到模块界面。
此时按2即进入查看日期以及调日期的界面,显示当前日期,按1天加1,按2月加1,按3年加1,按4退出该界面而回到模块界面。
此时按3即进入查看星期以及调星期的界面,显示当前星期,按1星期加1,按4退出该界面而回到模块界面。
此时按4则退出功能模块1而回到主界面。
2.调闹钟进入该模块时,显示闹钟时间,按1秒加1,按2分加1,按3时加1,按4退出调闹钟模块而回到主界面3.秒表,倒计时进入该模块后,显示界面“12 4”,分别代表在该界面中要用到的按键编号。
此时按1进入秒表计时状态,按4退出,回到模块界面。
此时按2进入99秒倒计时状态,按1切换到60秒倒计时,按1切换到5秒倒计时,在倒计时进行中,按4可以回到模块界面。
此时按4,可以回到主界面4.音乐进入该界面后,显示界面“00-00-00”,按1播放歌曲1,按2播放歌曲2,按3播放歌曲3,按4播放歌曲4,在播放歌曲时,按4可以结束播放音乐并且回到主界面。
湖南人文科技学院课程设计报告课程设计:单片机课程设计设计题目:自动打铃系统系别:通信与操纵工程系专业:电子信息工程班级:学生姓名:学号:起止日期:指导教师:教研室主任:摘要单片机确实是微操纵器,是面向应用对象设计、突出操纵功能的芯片。
单片机接上晶振、复位电路和相应的接口电路,装载软件后就能够够组成单片机应用系统。
将它嵌入到形形色色的应用系统中,就组成了众多产品、设备的智能化核心。
本设计确实是应用单片机壮大的操纵功能制作而成的闪烁的LED小灯,该设计包括以下几点功能:实现24小时制电子钟,6为数码管显示,显示时分,显示格式为A/P 12—00,打铃时刻为早:7:30 ,晚:10:30;系统利用2只按键,一个用于调整分钟,一个为小时调整。
本设计采纳的是STC89C52单片机,该单片机采纳的MCU51内核,因此具有专门好的兼容性,内部带有8KB的ROM,能够存储大量的程序,最突出特点是具有ISP在系统烧写功能,使得烧写程序加倍方便。
显示器件采纳通用型七段共阴极数码管;键盘调整部份采纳的是独立键盘。
通过这次设计能够加倍牢固的把握单片机的应用技术,增强动手能力、硬件设计能力和软件设计能力。
关键字:单片机;电子钟;打铃;晶振;数码管;按键目录第一章方案论证设计................................................................ 错误!未定义书签。
1.1 设计的应用意义........................................................... 错误!未定义书签。
1.2 设计方案选择............................................................... 错误!未定义书签。
1.3 整体设计框图............................................................... 错误!未定义书签。
编号(学号):5题目:______基于单片机的智能定时打铃系统__________Design of Intelligent timing bell system based on MCU 学院名称:__________物理与电子信息学院____________ ___专业名称:_______电子信息工程专业____________ __年级:__________2009级9班________________ ______学生:____________钟德超____________ _______学号:_________5_______________ ______指导教师:__ 唐正明____ 职称/学历:___ 讲师/硕士___教务处制目录摘要 (3)ABSTRACT (4)第1章绪论 (5)1.1选题背景及研究意义 (5)1.2课题设计的主要容 (6)第2章系统总体设计 (7)2.1设计要求 (7)2.2功能特点 (7)第3章方案的论证 (9)3.1主控芯片的选择 (9)3.2显示模块 (9)3.3时钟模块的选择 (10)第4章系统硬件设计 (11)4.1硬件模介绍 (11)4.1.1单片机技术简介 (11)4.1.2系统主要芯片和元器件的介绍及应用 (11)4.1.3 DS1302 时钟模块介绍 (14)4.1.4 LCD液晶显示模块介绍 (16)4.1.5 蜂鸣器模块 (18)4.2单片机最小系统的设计 (19)4.2.1 时钟脉冲电路 (19)4.2.2复位电路 (20)4.3硬件设计总图 (21)第5章软件程序设计 (22)5.1软件程序整体设计 (22)5.1.1程序流程图 (22)5.2程序模块设计 (23)5.2.1 DS1302时钟显示与调节程序设计 (23)5.2.2 LCD1602显示程序设计 (24)5.2.3蜂鸣器程序设计 (25)第6章系统测试及分析 (26)6.1系统测试 (26)6.2各模块初始化现象 (26)6.2.1 时钟芯片模块 (26)参考文献 (28)附录A (30)1.系统整体电路图 (30)2.系统整体PCB图 (31)附录B 作品实物图 (32)附录C 程序 (33)致 (42)基于单片机的智能定时打铃系统钟德超物理与电子信息学院电子信息工程专业2009级指导教师:唐正明摘要 :单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
毕业设计(论文)任务书题目:基于51单片机的教学打铃控制器的设计系名信息工程系专业自动化学号 6010202392学生姓名赵金奇指导教师扈书亮职称讲师2013年12月10日一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。
)工作基础:了解基于DS1302实时时钟的基本命令格式,能熟练使用51系列单片机。
研究条件:利用DS1302实现时间、日期的计量,利用数码管实现信息的显示,利用51单片机实现时间日期的获取,并可接受来自键盘的按键信息,完成时间、日期的设定,通过当期时间日期与设定时间日期的比对,实现打铃控制。
设定信息将存储在存储芯片中。
应用环境:可编程的定时器的控制器的设定应用。
工作目的:熟练掌握51单片机的C编程。
熟练掌握DS1302/AT24C02的编程方法。
熟练掌握PROTEUS仿真技术。
二、参考文献[1]单片机的C语言应用程序设计,马忠梅,北京航空航天大学出版社,2007.[2]基于FM1702射频识别读写器的设计与实现,邢海霞,索明何. 嵌入式计算机,2007.[3]新概念51单片机C语言教程,郭天祥,电子工业出版社,2008.[4]C程序设计(第三版),谭浩强,清华大学出版社,2007.[5]The 8051 Microcontroller and Embedded Systems, Muhammad Ali Mazidietc.三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。
)1、完成DS1302的时间获取与设定。
2、完成基于AT24C02的数据存储。
3、完成当前时间/日期信息的显示以及设定信息的显示。
4、能够进行时间日期的比对控制。
指导教师(签字)年月日审题小组组长(签字)年月日本科生毕业设计(论文)开题报告整体系统设计框图本次设计主要包括单片机模块、DS1302模块、数码管显示器模块、继电器模块四个部分。
目录1 系统设计 (1)1.1 实验箱主要组件 (1)1.2 系统框图及说明 (3)1.3 系统软件设计 (3)1.3.1 C51的编程基础 (3)1.3.2 系统软件设图 (4)1.3.3 部分复杂函数流程图 (5)2 系统仿真 (6)2.1 仿真软件 (6)2.2 仿真结果 (7)3 结论 (7)3.1 本课程设计的主要特点及贡献 (7)3.2 改善建议 (7)3.3 自我体会 (8)参考文献 (9)附录 (10)1 单片机定时闹钟程序源代码 (10)2 仿真软件Proteus ISIS使用方法简单介绍 (20)3.1 本课程设计的主要特点及贡献 (7)1 系统设计1.1 实验箱主要组件本课程设计使用的是河海大学常州校区刘玉宏老师设计的单片机课程实验箱中的“基础型实验”部分。
该部分主要由单片机最小系统,LED 数码管显示部分,外部中断控制部分,独立式与行列式键盘按键输入部分,串行口通信部分,蜂鸣器与继电器等部分组成。
详细电路图见图1。
单片机最小系统部分由内含FLASH ROM 的STC89C52RC ,EA 接高电平;各并行口都234567891R910k*812345678161514131211109U10SW-DIP81312U16F 74071110U16E 740798U16D 740756U16C740734U16B 740712U16A 7407D8+5R20100D7+5R1810012J22SIP162738495J1DB9-PINKEY2R 15100+5D6SW5RESETD51N4148MR 1VCC 2GND 3PFI4PFO5WDI 6RST 7WDO 8U9IMP813L +5SCL 6SDA5A12NC 1WP 7VCC 8NC 3GND4U824CXX 30p30pX T 211MC1+1V+2C1-3C2+4C2-5V-6T2OUT 7R2IN8R2OUT9T2IN 10T1IN 11R1OUT 12R1IN 13T1OUT 14GND 15VCC 16U7MAX232E510uE310uE410uE210uR13100+5D11R11100+5D10D9+5R10100456U3B 7400C410NSW9int0C347UR71KTRIG2Q3R4C V o l t5THR6DIS7V C C8G N D1U4NE555KEY1123U3A 7400C210NFC11UFR6150KR5270KTRIG2Q3R4C V o l t5THR 6DIS7V C C8G N D1U2NE555R41KR2100+5S1Q19013234567891R110k*8EA/VP 31X119X218RESET 9RD 17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P 30TXD 11RXD 10U18031D1SW123451R3150*8SW2D2SW3D3D4SW4TRIG2Q3R4C V o l t5THR6DIS7V C C8G N D1U5NE555R81KC547USW10int1C610NRO 1RE 2DE 3DI4GND5A 6B 7VCC 8U6RS485VCC +5L2L3L4L6L5L7L8L18910U3C 7400234567891R12150*8+5RXD 23248550ms 50ms f=1hz clk-offclk-on232OUT 232INX2X1+5485A485B RXDX2X1232IN>232OUT<TXDDOGSDASCL EN485DOG SDA SCL RESETT0T1INT0INT1RESETGNDVCCGND VCCGND VCC GND TTLOUT>TTLIN<DB9RX DB9TX+5T0+5+5T1+5P10P11P12P13P10P11P12P13+5+5INT0INT1EN485TXD P20P21P22P23P24P25P26P27P20P21P22P23P24P25P26P27图1 实验箱“基础型实验”部分电路图加了10K的上拉电阻;晶振为11.0592M。
机电信息工程学院单片机系统课程设计报告系:电子信息工程系专业:电子信息工程班级:072班设计题目:自动打铃系统设计学生姓名:张锡斌仇龙佳指导教师:刘忠富于为民完成日期:2010年5月31日目录一、设计任务和性能指标 (2)1.1设计任务 (2)1.2性能指标 (2)二、设计方案 (2)三、系统硬件设置 (3)3.1、单片机最小系统 (3)3.2时钟电路DS1302 (4)3.3、显示电路的设计 (5)3.4、键盘接口的设计 (5)3.5打铃电路的设计 (6)四、系统软件设计 (7)4.1程序流程图 (7)4.2主程序设计 (10)4.3显示子程序的设计 (11)五、调试及性能分析 (12)5.1调试步骤 (12)5.2性能分析 (12)六、心得体会 (12)参考文献 (13)附录1 系统硬件电路图 (14)附录2 程序清单 (15)一、设计任务和性能指标1.1设计任务用单片机器件为主体,设计一台自动打铃系统。
(一)基本要求1、基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
2、能设置当前时间(含上、下午,时,分)。
3、能实现基本打铃功能,规定:上午6:00起床铃:打铃5秒、停2秒、再打铃5秒。
下午10:30熄灯铃:打铃5秒、停2秒、再打铃5秒。
铃声可用小喇叭播放,凡是用到铃声功能的均按此处理。
(二)发挥部分1、增加整点报时功能,整点时响铃5秒,要求有控制启动和关闭功能。
2、增加调整起床铃、熄灯铃时间的功能。
3、增设上午4节课的上下课打铃功能,规定如下:7.30 上课,8.20下课:8.30上课,9.20下课;9.40 上课,10.30下课;10.40上课,11.30下课;每次铃声5秒。
4、特色和创新自选。
1.2性能指标1.时钟:上下午(1位)、时(2位) 、分(2位)2.校对键:确认键/设置键、右移键/灭铃键、加键、减键3.响铃:蜂鸣器二.设计方案二、设计方案按照系统设计的功能的要求,初步确定设计系统由主控模块、时钟模块、显示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示通过内部定时产生中断,从而驱动电铃打铃。
电路系统构成框图如图1.1所示。
主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。
它是一种高性能、低功耗的8位COMS 微处理芯片,市场应用最多。
时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302。
采用DS1302作为主要计时芯片、可以做到计时准确。
更重要的是,DS1302可以在很小的电流的后备电源(2.5~5.5V电源,在2.5V时耗电小于300nA)下继续计时,并可编程选择多种充电电流对后备电源进行慢速充电,可以保证后备电源基本不耗电。
采用串行数据传输,与单片机硬件连接简单,如果使用时钟芯片DS12887,将采用并行数据传输,占用更多的硬件资源。
因此为节省单片机端口,时钟芯片采用DS1302。
1.1 硬件电路设计设定51单片机工作在定时器工作方式1,每100ms产生一次中断,利用软件将基准100ms单元进行累加,当定时器产生10次中断就产生1S信号,这时秒单元加1。
同理,对分单元时单元和上下午单元计数,从而产生秒,分,时,上下午的值,通过五位七段显示器进行显示。
由于动态显示法需要数据锁存等硬件,接口较复杂,考虑显示只有五位,且系统没有其他复杂的处理任务,所以采用动态扫描实现LED的显示。
本系统采用四个按键,1键为功能键,另外三个做控制键。
按一下1键进入时间设置,接着按2键选择需要调整的位,然后按3和4键进行时调整,按3键进行加数,按4键进行减数,按两下1键调整结束时钟继续走动。
当时钟时间与设置时间一致时,驱动电路动作进行打铃,按时间点不同打铃规则不同,此时按2键强制灭铃。
三、系统硬件设置3.1单片机最小系统单片机最小应用系统的设计电路原理图,如图3.1所示。
本次设计我们选用了AT89C52单片机。
该单片机要求电源电压为+5V,所以40号引脚接+5V电源,20号脚接地。
因为AT89C52单片机的片内ROM为4KB,128位RAM,根据初步分析,本设计程序应该小于4KB,故无须外扩的ROM,所以单片机应直接访问片内程序存储器,单片机的31号脚接高电平。
AT89C52单片机是一种时序逻辑电路,必须有脉冲信号才能正常工作,而时钟脉冲是由振荡电路提供的,时钟可以由内部方式或外部方式产生,内部振荡方式,只要接上两个微调电容和一个晶振即可,其中微调电容选用33pF其作用是稳定振荡频率,快速起振。
本次毕业设计我们采用内部振荡方式,外接晶振为11.0592MHz,振荡周期=1/11.0592μs,时钟周期=2/11.0592μs,机器周期=12/11.0592μs,指令周期=1~4μs。
AT89C52在开机时需复位,以便CPU及其它功能部件都处于确定的初始状态,有利于进行下一步操作。
MCS-51系列单片机的有效复位信号两个机器周期以上的高电平。
其复位的实现通常可以采用开机上电复位和外部手动复位两种方式。
图中采用的是开机上电复位,复位电路由10μF的电解电容和8.2K电阻组成,其时间常数为T=RC,T=10μf×8.2k,T=82ms大于10ms,所以单片机能够有效复位,单片机只要保持82ms以上的高电平就能使单片机有效复位图3.1 单片机最小应用系统3.2时钟电路DS1302(1)性能特性实时时钟可对秒,分,时等进行计数,存在高速数据暂存的31*8位RAM,最少引脚的串行I/O口;2.5~~5.5V电压工作范围;2.5V耗电小于300nA;用于时钟或RAM数据读/写的单字节或多字节数据传送方式;简单的3线接口;可选的慢速充电的能力。
DS1302时钟芯片包括实时时钟和31字节的静态RAM,它经过一个简单的串行接口与微处理器通信,实时时钟提供秒,分,时等信息,时钟运行可以采用24H,或带AM/PM的12H格式,采用三线接口与CPU进行同眇通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302有主电源/后备电源双电源引脚;(2)工作原理DS1302在任何数据传送时必须先初始化,把RST引脚置为高电平,然后把8位地址和命令装入移位寄存器,数据在SCLK的上升沿被输入,无论是读周期还是写周期开始8位指定40个寄存器中哪个将被访问到,在开始8个时钟周期,把命令字节装入揿位寄存器之后,另外的时钟周期在闱时操作时输出数据,在写操作时写入数据,时钟脉冲的个数在单位字节下为8加8,在多字节方式下为8加字节数,最大可达248字节数。
为了提高对32个地址的寻址能力,可以把时钟或RAM寄存器规定为多字节方式,在多字节方式中,读或写从地址0的位0开始,必须管按数据传送的次序电先的8个寄存器。
但是当以多个字节写RAM 时,为了传送数据不必写所有31字节,不管是否写了全部31字节,所写的每个字节都将传送至RAM 。
时钟暂停:秒寄存器的位7定义位时钟暂停位,当它为1时,DS1302停止振荡,进入低功耗的备份方式,通常在对DS1302进行写操作时,停止振荡,当它为0时时钟将开始启动。
8051通过串口向DS1302写数据的程序框图如图3.2,其中,Px 可以是8051单片机的任何一位I/O 口,注意因为DS1302的数据发送或接收时序和8051的串行口不完全一致,因此,需要在TXD 的输出端加反相器,另外,接收数据时,不能以串行口的接收方式接收,必须将串行口当作普通I/O 口进行数据接收.DS1302的晶振选用32.768KHZ ,电容推荐值为6PF ,因为振荡频率较低,也可以不接电容, 对计时精度影响不大。
图3.2 DS1302写数据的程序框图3.3显示电路的设计显示部分采用普通的共阳数码管显示,采用动态扫描,以减少硬件电路,数码管分别为上下午,十时,时,十分,分显示,显示时采用串行口输出控制数码管,其中P2.2~P2.4口控制数码管的位选,低电平数码管显示,动态扫描显示中单片机P0口输出数码管的段码。
3.4键盘接口的设计图3.4 键盘电路8051P XTXDRXD V cc1 V cc2 DS1302 RST SCLK I/O X 2本次设计的控制电路是由4个按键组成的,用以实现时钟信息的调整。
其电路图如图3.4所示,按键与P1口的P1.0到P1.3相连。
由于P1口内有上拉电阻,所以该图中上拉电阻可以省去。
四个按键中,S1为数据+1键,S2为数据-1键,S3为数据选择键,S4为强制打铃或者强制关闭键。
3.5打铃电路的设计本次设计打铃电路如图3.5所示,单片机通过P3.7控制蜂鸣器是否发出声响。
当时间与预定打铃时间相同时,单片机通过P3.7输出为1KHz的方波,使得蜂鸣器发出声响。
图中PNP三极管作用是电流放大,以保证蜂鸣器能正常发出声音。
图3.5 打铃电路四、系统软件设计4.1程序流程图主程序流程图定时中断程序流程图显示程序流程图4.2主程序设计void main(){uchar NowKey;uchar BeforKey=0xff;uchar KeyCount=0;uchar i=0;AlarmSingal=0;RayFlag=1;RayFlag2=1;TMOD=0x10;//设置T1EA=1;ET1=1;TH1=0x3c;TL1=0xb0;TR1=1;while(1){D_Scan(TimeData,0);//动态扫描//按键控制if(KeyCount==2){KeyCount=0;NowKey=GetKey();if(NowKey!=BeforKey){switch (NowKey){case 1:TimeSet();break;case 2:AlarmSingal=0;break;default:break;}}BeforKey=NowKey;}else KeyCount++;}}4.3显示子程序的设计void D_Scan(uchar *ShowAddress,uchar FlagBit){uchar ShowBit;uchar Show;for(ShowBit=0;ShowBit<5;ShowBit++){if(FlagBit!=5){switch(ShowBit){case 0:Show=BCD_to_Text((*ShowAddress)%10);break;case 1:Show=BCD_to_Text((*ShowAddress)/10);break;case 2:Show=BCD_to_Text((*(ShowAddress+1))%10);break;case 3:Show=BCD_to_Text((*(ShowAddress+1))/10);break;case 4:Show=BCD_to_Text((*(ShowAddress+2))%10);break;}}P2=0xff;switch(FlagBit){case 0:P0=Show;break;case 1://设分闪动if(RayFlag2 && (ShowBit==0||ShowBit==1))P0=0x40;else P0=Show;break;case 2://设时闪动if(RayFlag2 && (ShowBit==2||ShowBit==3))P0=0x40;else P0=Show;break;case 3://设上下午闪动if(RayFlag2 && ShowBit==4)P0=0x40;else P0=Show;break;}P2=GetClockBit(ShowBit);Delay(1);}}五、调试及性能分析5.1调试步骤进入调试状态后应该在关键的地方设置断点然后按步运行,同时观察参数的变化,通过变化来判断程序运行的过程即可找出程序中混乱的部分,进行改正,这需要对软件熟练的掌握和对语言程序的很好的理解,实验板搭建成功后,我们就进入了程序的设计和调试阶段,开始编写程序时很顺利,但是后来在调试过程中出现了很多的错误,比如定时器准确度的设置,子程序的调用问题,最困难的就是对没步程序执行顺序的分析,由于程序中一些语句的错误理解和执行顺序的判断失误,让我掉进了误区,耽误了很长时间,最后在同学的帮助下终于找到了错误的关键点,更正成功了。