版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机电子时钟设计报告题 目: 单片机电子时钟设计报告 专 业: 电子信息工程 年 级: 2013 学生姓名: 学 号: 联系电话: 完成日期:2014年5月20摘要本次设计以stc89c52芯片为核心,铺以必要的外围电路,设计了以个简易的电子时钟,它以5v直流电源供电。在硬件方面,除了cpu外,使用1602液晶为显示器。首先对液晶屏初始化,经过程序控制,进行走时。通过1602液晶能够比较准确显示年、月、日、星期、时、分、秒。采用动态扫描按键,实现对年、月、日、星期、时、分、秒进行校准。关键字:stc89c52、1602液晶abstractthis design uses the stc89c
2、52 chip as the core, with the necessary peripheral circuits, design a simple electronic clock, it uses 5v dc power supply. in terms of hardware, in addition to cpu, use 1602 lcd display. the lcd screen initialization, through program control, to go. through the 1602 liquid crystal can accurately dis
3、play year, month, day, week, time, minutes, seconds. the dynamic scan button, realize to calibrate the year, month, day, week, time, minutes, seconds.keywords: stc89c52, 1602摘要2abstract21绪论42电子时钟概述43电子时钟设计方案43.1两种设计控制器方案的选择43.2两种设计控制器方案的选择54系统电路64.1lcd1602液晶时序图:64.2硬件电路框图:85程序设计流程图:95.1电路原理图105.2电路p
4、cb图115.3部分程序125.5存在问题145.6解决方法14总结15附录:原件清单171绪论单片机是一种集成电路芯片,它将各种功能集成到一块硅片上并且内含完善的微型计算机系统。单片机自推出到现在已经发展了二十多年,应用领域有工业生产、通讯以及交通设备,还有办公自动化、pc机外围器件、汽车电子器件以及网络通讯等。单片机的优点有集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等,所以本设计讨论的电子时钟系统就是利用单片机制成。2电子时钟概述单片机可以很容易实现芯片的智能化,所以在电子钟的基础上,人们可以根据自己的需要以及场合要求添加不同的附加功能。需要整点报时可添加蜂鸣器,需要测
5、量环境温度可以添加温度传感器,或者检测空气质量、空气湿度等,也可以设置定时闹铃功能甚至还可以添加usb端口读取其他设备数据。3电子时钟设计方案3.1两种设计控制器方案的选择方案一:采用专用的实时时钟芯片。时下常用的时钟芯片有ds1302、sb2068、pcf8485等。这些芯片可以完成秒计时工作,进而计出小时、年月日等。方案二:完全用软件方法实现计时,需要利用单片机stc89c52中断功能,具体操作是:设置几个字节分别存放秒、分、时、日、周、月、年等信息。利用定时器实现1秒定时中断,这便是秒信息,每一次中断都使秒字节加1;软件设置当秒字节累计到60时,分字节加1,同时秒字节清零;当分字节累计加
6、到60时,时字节加1,同时分字节清零;时字节累计加到24时,日字节加一,时字节清零。以此类推,再实现周、月、年的计时。这种设计方案的硬件电路更加简单,单片机自己即可完成计时,但缺点是每次执行main程序,定时器都需要重新赋值,每当单片机断电时,程序即停止,也就无法继续完成计时工作。本次电子时钟的制作方案采用方案二,这有利于我们对51单片机内部中断定制器的运用。3.2两种设计控制器方案的选择方案一:采用led数码管动态显示。优点:当显示位数较多时,采用动态显示方式比较节省i/o 口,硬件电路也较静态显示简单,也比较省电;缺点:其稳定度不如静态显示方式。而且在显示位数较多时cpu要轮番扫描,占用c
7、pu较多的时间。方案二:采用lcd1602液晶显示模块。液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。1602液晶字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等。本次电子时钟的制作方案采用方案二,此模块的电路较为简单,操作比较简便,可以显示完整的时间。4系统电路硬件系统模块:按键输入模块、单片机控制模块、lcd1602液晶显示模块。4.1lcd1602液晶时序图:4.2硬件电路框图:按键输入模块单片机stc89c52控制模块lcd1602液晶显示模
8、块。上电开始5程序设计流程图:定义全局变量,对时间附初值1602初始化子函数:数的拆分子函数:时间函数按键扫描函数;判断时间加减定时器中断;走时函数主函数5.1电路原理图5.2电路pcb图5.3部分程序void init()rw=0;lcden=0;write_com(0x38);/显示模式write_com(0x0c);/显示光标write_com(0x06);/每写一个光标左移write_com(0x01);/清屏write_com(0x80);/设置指针for(num=0;num15;num+)write_date(tablenum);delay(5);write_com(0x80+0x
9、40);/设置指针for(num=0;num12;num+) /整屏左移write_date(table1num);delay(5);/每写一个字延时5毫秒 tmod=0x01;/定时器0的方式1th0=(65536-50000)/256;/装初值,对256求模tl0=(65536-50000)%256;/装初值,对256求余ea=1;et0=1;tr0=1;/开启定时器void display_year(uchar add,uint date)uchar qian,bai,shi,ge;qian=date/1000;bai=date/100%10;shi=date/10%10;/对十位求模g
10、e=date%10;/对各位求余write_com(0x80+add);write_date(0x30+qian);write_date(0x30+bai);write_date(0x30+shi);write_date(0x30+ge);5.5存在问题1、液晶屏出现闪动,时间视乎在走时,效果不明显。2、液晶屏指无显示针指令。3、用按键调时间时,光标显示在其他地方。4、月、日、时、分、秒显示可以正常显示,但星期、年份无法正常显示。5、写好后下载进单片机,发现都有显示,但时间不走时。5.6解决方法1、1602地址可能有重叠的数据。可能在初始化时没有清屏。2、指针地址语句没有写在需要显示数据的地方
11、,一定要注意显示数据显示指令和显示指令的先后顺序。3、在按键扫描中找到加调,或减调的程序。在他们每个if语句结束的“”后面加上相应的显示数据语句。4、这里要明白对数据的处理,月、日、时、分、秒都是两位数,星期是三位数(英文前三个字母),年份是四位数。所以我们可以分别对两位,三位,四位数的分离子函数。声明含参的子函数,参数是你要命名的星期,年,月、日、等。thousand=num/1000;hundred=num/100%10;ten=num/10%10;one=num%10;然后再写入相应的命令,在相应的地方写入数据,然后再写上相应的指针地址分别显示这四位数。如果在程序中需要显示年份,直接调用
12、四位常数分离的子函数即可。同理,两位数也是一样的处理。星期可以在之前定义好星期的数组名,如:uchar code week0=sun;等。然后在下面写上子函数如下图所视:剩下的星期以此类推写入即可。5、如果走时函数写在中断中,就把走时函数放到主函数中即可。总结1、这只我第二次接触单片机,通过编写程序来实现一个简单的电子时钟。这次的学习我分为十二个过程,即十二节课。具体过程为:第一课:看郭天祥视频,认识了解单片机stc89c52内部定时器中断操作,然后弄清1602液晶的使用,学会结合数据表读、写程序。如:液晶初始化、指针设置函数、数据写入函数、光标闪烁;实现随意操作某个地址写入数据,实现整屏移动
13、,清零等效果。第二课:定时器启动,十位个位拆分、时分秒走时、定时器中断;实现第二行的时分秒走时。第三课:写入键盘扫描函数,即判断按键第一次按下判断松手定时器关闭光标地址移动到第四次按下时光标停止闪动定时器开启。第四课:(嵌套式)分别对时分秒写入加1指令,注意时序的先后。即:光标随功能键按下移动,通过判断功能键按下的次数,对相应的时分秒进行自加。第五课:(嵌套式)分别对时分秒写入减1指令,注意时序的先后。即:光标随功能键按下移动,通过判断功能键按下的次数,对相应的时分秒进行自减(注意对所写程序加以注释,以便日后理清)。第六课:增加星期数组并且定义,在中断函数中调用星期函数、写入月份指令。(闰年计
14、算公式:1.普通年能被4整除且不能被100整除的为闰年2.世纪年能被400整除的是闰年),注意时序的先后,留意写数据和写指针地址时要先判断,后执行(注意对所写程序加以注释,以便日后理清)。第七课:由于前一课星期指令不能执行,故重更改星期函数。即:利用switch函数分别对周一至周日进行设置,在主函数中调用,满足条件的就执行,不合条件的break跳出。第八课:写入对“千百十个”四位数的才分,在中断函数中写入年地址指针并写入数据。实现年份计时。注意对数的拆分算法,对条件的判断。第九课:增加键盘扫描指令。即对按下功能键的次数,光标随之移动到相应的星期、日、月、年的指针位置。随后在键盘扫描中增加对星期的自加函数。实现通过按键对星期进行增加功能。第十课:增加键盘扫描指令。即在相应的位置写入对年份的增、减指令。注意时序与位置的判断,再写入数据指令。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牙根外露病因介绍
- 安全教育班会《校园安全及管理》课件图
- 水俣病病因介绍
- (高考英语作文炼句)第7篇译文老师笔记
- 开题报告:指向核心素养的中学化学深度学习教学评价研究
- 开题报告:新时代中国德育价值观变革的走向
- 开题报告:新建本科院校“学困生”精准学习指导机制与政策支持研究
- 《旋挖桩技术交底》课件
- 2024专业石材买卖协议样本版
- 《元旦晚会投影背景》课件
- 陕西省2024年中考地理试卷(附解析)
- 1994年劳动合同范本
- 专题00 2024年全国甲卷高考英语听力(精美课件)
- 中航集团招聘笔试题库2024
- 2024年云南大学法学专业《民法学》期末试卷A(有答案)
- 竣工决算审计实施方案
- 发展汉语中级口语I第9课租房教案
- Unit 5 I like those shoes. Lesson 27(教学设计)-2024-2025学年人教精通版英语四年级上册
- 人教版小学四年级道德与法治上册《第四单元 让生活多一些绿色》大单元整体教学设计
- 2024年安徽淮南高新区管委会招聘工作人员12人历年(高频重点复习提升训练)共500题附带答案详解
- 2024年图书馆规定及相关知识试题库(附含答案)
评论
0/150
提交评论