定时闹钟设计实习报告.docx
- 文档编号:15054883
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:14
- 大小:121.38KB
定时闹钟设计实习报告.docx
《定时闹钟设计实习报告.docx》由会员分享,可在线阅读,更多相关《定时闹钟设计实习报告.docx(14页珍藏版)》请在冰点文库上搜索。
定时闹钟设计实习报告
中国电子科技大学
实习总结报告
实习类型生产实习
实习单位电子科学学院实习基地
实习起止时间201X年7月X日至202X年6月X日
指导教师
所在院(系)电子科学学院
班级电信X班
学生姓名
学号
202X年6月20日
定时闹钟设计
一、课题目的
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
单片机作为应用最广泛的控制系统之一,具有体积小,易于控制,价格便宜,安全可靠等等优良的性能而被广泛的关注。
无论是小到儿童玩具,到工业控制系统,大到航天航空系统的设计与操作之中,随处可见单片机的踪影。
大学电子专业,电气专业,通信等专业开设单片机课程,对人才的培养无疑是有着重大的意义的。
本次课程设计的题目是定时闹钟设计,通过课程设计使学生更进一步掌握单片机原理与应用课程的有关知识,提高用C语言编程的能力,并将所学的内容加以综合;通过查阅资料,了解所学知识的应用情况;通过课程设计全面系统的了解单片机的设计方法及设计步骤,了解微机系统的基本组成及开发设计过程中需要注意的问题。
1、设计目的及意义
(1)设计目的
1)掌握52系列单片机的基本硬件结构及工作原理;
2)掌握52系列单片机的汇编语言及基本程序设计方法;
3)学习并掌握使用52系列单片机开发控制系统的基本步骤及方法。
(2)设计意义
学习单片机最重要的方法就是实现理论与实践相结合的学习方法。
有些工程师说过,能利用单片机设计并实现电子时钟,技能基本上掌握单片机的使用。
所以设计电子时钟的真正目的不在于设计出成品而投入使用,而是在于熟悉单片机的基本功能与编程来实现单片机的控制。
作为大学生,以后出去就业或是继续学业,都要有一定的动手能力和实践能力,而这,便是电子计时器设计的另一个目的。
(3)设计要求
闹钟在日常生活中应用较多,这里将利用单片机设计一个最大定时时间为60分钟的定时闹钟,当定时时间到点的时候,闹钟播放声音,提醒使用者定时时间到。
设计要求如下:
1)采用2个数码管显示定时时间;
2)用按键调节定时时间1~60,单位为min;
3)采用一个按键启动定时器工作;
4)采用蜂鸣器播放声音;
2、总体设计方案
STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
单片机由运算器、控制器、存储器、输入输出设备构成。
此次课程设计所用到的单片机为STC89C52芯片。
1)、总体框图
图1-1总体框图
2)、模块电路分析
1)STC89C52单片机:
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-52内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
它是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦1000次的Flash只读程序存储器,器件采用STC公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC8951引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC8952可为许多嵌入式控制应用系统提供高性价比的解方案。
STC8952具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信,片内时钟振荡器。
其单片机的外围引脚有40个,分别是:
第20脚和40脚分别是电源,即GND和Vcc;第9脚是复位脚RST;第18脚是时钟XTAL2脚,片内振荡电路的输出端;第19脚是时钟XTAL1脚,片内振荡电路的输入端;第29脚:
~PSEN脚,当访问外部程序存储器时,此引脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上;第30脚ALE/~PROG,当访问外部数据存储器时,ALE(地址锁存)的输出用于锁存地址的低字节;第31脚:
~EA/Vpp为程序存储器内外部选通信号;P0^0-P0^7.P1^0-P1^7.P2^0-P2^7.P3^0-P3^7这32个引脚为数据的输出及输入引脚,即I/0口。
表1-1STC89C52主要功能
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256*8bit内部RAM
3个16位可编程定时、计数器中断
时钟频率0-24MHZ
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗和掉电模式
软件设置睡眠和唤醒功能
2)晶振电路:
是指从一块石英晶体上按一定方位角切下薄片(简称为晶片),石英晶体谐振器,简称为石英晶体或晶体、晶振;而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。
其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
晶振原理压电效应(物理特性):
在水晶片上施以机械应力时,会产生电荷的偏移,即为正压电效应,逆压电效应,相对在水晶片上印加电场会造成水晶片的变形即产生逆压电效应,利用这种特性产生机械振荡,变换成电气信号。
如图1-2所示:
图1-2晶振电路
3)电源和复位电路:
STC89S52需5V电压,所以可以采用USB接口的5V电源对其供电,复位电路可采用上电复位、按键电平复位、按键脉冲复位3种,本次采用按键电平复位,如图1-2所示
图1-3按键电平复位
4)显示模块:
该模块由8位8段共阳极数码管组成,由8个PNP型三极管分别驱动其发光,从左至右位控分别接于单片机的P1.7-P1.0中上,段控w接于单片机的P0.0-P0.7口上,使用动态显示从右向左循环点亮每一位数码管。
如电路原理图中的数码管电路如图1-4所示
图1-4显示模块
八段数码显示器是微机系统常用的输出设备。
数码管是一种半导体发光器件,其基本单元是发光二极管。
引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
多个发光二极管封装在一起的八段数。
数码管也称LED数码管,晶美、光电、不同行业人士对数码管的称呼不一样,其实都是同样的产品。
数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管。
按结构原理分类:
压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。
有的压电式蜂鸣器外壳上还装有发光二极管。
多谐振荡器由晶体管或集成电路构成;压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。
在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起;电磁式蜂鸣器,电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。
振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
本设计采用的是频率控制型的蜂鸣器,按照频率的不同,发出的音调不同。
蜂鸣器的控制信号有P2.4口输出,通过一个PNP的三极管连接到蜂鸣器上,低电平有效,原理图如下图所示;
图1-4蜂鸣器
二、软件编程
(1)编程思想:
该系统软件程序主要有主程序模块,定时中断服务程序,中断等待服务程序,独立按键服务程序,显示子程序服务程序等六大模块组成。
在STC89C52外围的P2.4管口上加扬声器,通过软件与硬件的结合可实现定时报警功能。
图中按键从上往下设定为可用KEY1,KEY2,KEY3,KEY1与P3.2相连,KEY2与P3.3相连,KEY3与P3.4相连。
当需要启动计时功能时按一下KEY1键,启动计时功能。
调好时间后按KEY2退出当前计时时间状态;当到达定时设定的时间时,蜂鸣器开始报警。
在报警过程中,如果按下KEY3,停止报警,并跳出蜂鸣器循环程序。
本设计使用LED数码管显示,LED显示器具有耗电少、成本低、配置简单灵活、安装方便、耐震动、使用寿命长等优点,因而应用广泛。
该方案控制最简单,但是只能显示有限的符号和数字,对于设计中复杂的显示功能显然不能胜任。
虽然点阵液晶可以显示多种字符和图形,拥有友好的人机界面及强大的显示功能。
特别适用于智能控制的可编程人性化显示。
但是考虑到本设计的实际要求,使用数码管显示就足以达到要求了。
八段LED由八个发光二极管按日字排开,所有发光二极管的阳极连在一起成共阳极,阴极连在一块称共阴极接法。
当采用芯片驱动时不需要加限流电阻,其他情况下一般应外接限流电阻。
动态显示电路有显示块,字形码封锁驱动器,字位锁存驱动器三部分组成。
(2)软件流程图;
三、调试分析
验证结果:
将此程序在汇编器中生成的“.hex”文件,导入STC89C52芯片中,用鼠标右键点击STC89C52,然后点鼠标左键,弹出编辑元件的框图,在programfile里添加.hex文件,再点OK。
显示过程是:
通过P1口控制数码管的亮灭,再通过给P0口赋值显示对应的值。
本设计时通过定义一个显示数组和几个独立按键数实现的,通过定时器中断产生一秒延迟。
实验结果达到了实验要求。
但本设计还有不足之处,就是按键时间长短的问题,如果按键按下的时间过短,计数器不会做加一,所以在定时时间内要一直按计数按键。
四、总结及体会
经过两个星期的课程设计,的确收获了很多,感觉自己对于微机原理与接口技术这门课程有了更加深刻的认识。
因为把平时所学的知识应用于实践真的会遇到很多问题,当然也会发现很多乐趣在其中。
这个就要不断的多次调试才能发现到问题究竟出在哪里。
解决了这个问题之后对于如何暂停计时器也想了好多办法,也调试了很多次。
最终通过将原中断向量入口地址进行修改,使其不再进入计时中断服务子程序就达到了要求。
进位条件的判断,编程中仔细思考也就没有问题。
另外对于中断服务子程序的类型设置问题,由于以前对这个概念的理解记得不清楚,于是找出课本再次进行研究。
在程序设计和算法实现上要多方面思考,全面的考虑问题,最好画好程序流程图,这样就能达到事半功倍的效果。
同时上机调试也是十分重要的,在调试的过程中能够不断的发现在编写算法时应该注意的一些细节和算法语句的非法使用,在调试过程中通过对算法的不断测试、更正、扩充功能、修饰细节,使算法程序不断的得到完善。
通过本次单片机课程设计,我不仅加深了对单片机理论知识的理解,学会了学以致用的重要性;而且还学会了如何去加强锻炼创新精神,同时也提高了自身的动手能力,让我深刻的意识到理论与实际结合的重要性。
在本次设计过程中,虽然设计的题目不是很难,但在实际操作过程当中也遇到了不少困难,通过遇到的困难也让我不断地去查找资料,不断地区询问同学,不断地去开动自己的脑子,从而也不断地超越自我,让自己的知识能够得到不断地完善;同时更重要的是,在这一设计过程当中,让我懂得了在学习的道路上会遇到很多的阻碍,但关键的是能做到坚持不懈,不轻易放弃;最终达到自己想要的目标。
通过这次的课程设计使我认识到要专业课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践,将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己的实践能力。
而且在实践过程中通过查找资料、分析资料以及请教老师和同学,使一些不清楚的问题得以解决,这一点也是非常重要的。
当然最关键的还是要靠自己亲自去领会思考如何解决问题,掌握独自面对问题分析问题的方法。
不少人抱怨在大学学不到东西,我并不这样认为。
我想无论是在学习还是在生活上只有自己真正用心去学习和参与才可能有收获,这也算是课设给我知识之外的一点小小的感悟。
总之本次课程设计的收获确实良多,很珍惜这样的的机会,因为可以锻炼自己提升自己!
五、程序附录
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitKEY1=P3^2;
sbitKEY2=P3^3;
sbitKEY3=P3^4;
sbitBEEP=P2^4;
unsignedcharcodedisp[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
unsignedchardata_L,data_H;
unsignedchart,a;
voiddelay(unsignedintk)
{
unsignedchari,j;
for(i=0;i for(j=0;j<120;j++) ; } voidbeep() { unsignedchari; for(i=0;i<250;i++) { if(KEY3==0) { BEEP=1; break; } else { delay(30); BEEP=! BEEP; } } BEEP=1; delay(150); } voiddisplay(void) { P1=0xfd; P0=disp[data_H]; delay (1); P1=0xfE; P0=disp[data_L]; delay (1); } voidTimer0()interrupt1 { t++; TH0=0x3c; TL0=0xb0; } voiddata_tim(unsignedchari) { if(t==20) { a++; t=0; if(a==i+1) a=0; } } voiddata_in() { data_L=a%10; data_H=a/10; } voidT0_init() { TMOD=0x01; TH0=0x3c; TL0=0xb0; ET0=1; TR0=1; EA=1; } voidmain() { a=0; T0_init(); while (1) { if(KEY1==0) { data_tim(20); data_in(); display(); if(a==20) beep(); } if(KEY2==0) { BEEP=1; P0=0xff; } if(KEY3==0) { BEEP=1; } } } 指导教师评语及成绩评定: 成绩: 指导教师签字: 年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时 闹钟 设计 实习 报告