




免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
j i a n g s u u n i v e r s i t y 实时动态显示装置创新设计 the innovative design of real-time dynamic display device学院名称: xxxxxxxxxxxx 专业班级: xxxxxxxxxxxxx 学生姓名: xxxx 学生学号: xxxxxxxxxxx 2015 年 03 月基于单片机的电子时钟electronic clock based on mcu摘 要:单片机的应用给人们的生活带来了很大的变化。本文主要介绍了采用stc12c5a60s2单片机实现的电子计时钟。该电子钟系统的硬件主要由电源电路,按键电路,复位电路,时钟电路和蜂鸣器电路等几部分组成。软件部分包括主程序,中断时钟程序,显示程序,闹钟程序,按键程序等。该设计的主要功能就是实现电子计时及准点报时,其中计时包括时分钟秒。关键词:stc12c5a60s2;单片机;数字钟;led数码管abstract :the application of scm have brought to the life of people a big change.this paper has mainly introduced the electronic the clock based on stc12c5a60s2. the hardware of the electric clock system mainly includes power supply circuit, key circuits, reset circuit, clocking circuit and a buzzer circuit and so on. software part includes the main program, the interrupt clock program, show program, alarm clock, procedures, key procedure and so on. keywords: stc12c5a60s2 microcontroller; digital clock;led digital tube目录1、 基于单片机的电子时钟电路设计 1.单片机实训目的42.单片机实训要求及其实现的功能4二、电子时钟硬件电路设计方案与设计方法1.设计方案与设计方法52.电子时钟系统的结构图53.电子时钟电路原理图5三、电子时钟软件电路设计方案与设计方法1.软件设计方案52.软件设计方法63.详细的程序清单和注释7四、设计过程1.proteus仿真电路 162.感光板制作与电路器件焊接 16 3.实际电路板调试 16五、遇到的问题及其处理方法18六、实训的个人体会及对本次实训的建议18七、参考书目19一、基于单片机的电子时钟电路设计 1.单片机实训目的(1) 熟悉单片机应用系统的开发、研制过程;(2) 能运用单片机进行简单的应用系统的硬件设计;(3) 能运用单片机汇编语言或c51语言进行简单的应用系统的软件设计;(4) 掌握单片机应用系统的硬件、软件调试方法;2.单片机实训要求及其实现的功能 【1】单片机实训要求 (1) 根据设计功能,选择元器件,绘制系统原理电路图;(2) 根据系统原理图绘制pcb图,并用感光板制作pcb板;(3) 完成硬件电路焊接与调试;(4) 完成软件编程与调试;(5) 完成实训报告的撰写; 【2】实现的功能(1) 用单片机和一个4位led数码管、2个一位数码管动态显示时、分、秒;(2) 用4个按键设置/修改时分秒的值(可少于4个按键); 在此次设计中,采用了四个按键实现复位/设置/加/减功能;(3) 上电和复位时的时分秒初值设为12:00:00二、电子时钟硬件电路设计方案与设计方法1.设计方案及其设计方法通过了解和分析此次电子时钟设计的要求及其所要实现的功能,参考网上资料、图书馆有些书籍,来选择此次电子时钟电路的设计电路,此次设计将其电路部分分为十个模块:51单片机、基本复位电路、晶振电路、功能电路、数码管位选电路、数码管段选电路、上拉电路、电源整流电路、工作指示灯电路、数码管显示电路。应用proteus的isis软件,编写简单的程序来测试电路设计的正确性、可行性、准确性、实用性,从而确定最后电路方案。2.电子时钟系统的结构图 数码管显示电路51单片机复位电路晶振电路数码管段选电路p0上拉电阻电路数码管位选电路电源整流电路 功能电路工作指示灯电路3.电子时钟电路原理图三、电子时钟软件电路设计方案与设计方法1.软件设计方案 此次基于单片机的电子时钟设计的软件系统主要可分为主程序、显示程序、定时计数中断程序、时间调整程序、延时程序五大模块。 设计方案如下:开始t0中断入口通过查表方式动态扫描、显示数据数码位选亦通过查表方式,逐位显示判断是否进入时间设置set状态进入时间设置功能程序yynnn判断tcount=20y秒计数加1n判断是否满1miny分计数加1n判断是否满1houry时计数加1 n判断是否满24hour中断返回时间置为00:00:00 2.软件设计方法 (1)该电子时钟由51单片机、按键、七段数码管等构成,采用晶振电路作为驱动电路,由中断产生0.05s的基时,执行中断时加上计数值20,从而产生1s计时,达到秒的计时,六十秒为一分钟,六十分钟为一小时,二十四小时为一天。电路可以通过按键实现时分秒的设置,通过加1减1按键实现时分秒各位的加一减一,从而达到时间设置功能。 (2)应用proteus的isis软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果虽然跟实际电路效果有些差别,但节省了硬件资源,具有实训学生有可操作性、实用性。3. 详细的程序清单和注释/* 说明:老师所给片选针脚为p3.4p3.7,本程序跳线连接至p2.0p2.3,更改程序中片选编码可不跳线。将头文件stc12c5a60s2.h和本程序须放在同目录下。*/#include stc12c5a60s2.h#define uchar unsigned char#define uint unsigned int #define d p1 #define w p2 sbit io=p04; sbit sclk=p05; sbit rst=p03; /*按键引脚定义*/sbit s1=p30; sbit s2=p31; sbit s3=p32; sbit led=p33; uchar s, knum=0,snum,fnum;bit flag;/*写时分秒地址*/#define write_shi 0x84#define write_fen 0x82#define write_miao 0x80/*读时分秒地址*/#define read_shi 0x85#define read_fen 0x83#define read_miao 0x81bit miao_flag;char miao_num;char dmiao;char shi,fen,miao; uchar d=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09; uchar dd=0x02,0x9e,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x08; void delay(uint z) uint x,y;for(x=z;x0;x-) for(y=110;y0;y-); void t0_init() tmod=0x01; th0=(65536-50000)/256; tl0=(65536-50000)%256; ea=1; et0=1; tr0=1;uchar read_1302(uchar add) uchar i,date;rst=0; for(i=0;i=1; sclk=1;for(i=0;i=1; sclk=0;rst=0;date=date/16*10+date%16;io=0; return date;void write_1302(uchar add,uchar dat) uchar i;rst=0; sclk=0; for(i=0;i=1; sclk=1;for(i=0;i=1; sclk=1;rst=0;void init_1302() flag=read_1302(0x81); if(flag&0x80)write_1302(0x8e,0x00); write_1302(write_miao,0x56); write_1302(write_fen,0x49);write_1302(write_shi,0x14);write_1302(0x90,0xa5);write_1302(0x8e,0x80); void display(uchar shi,uchar fen) /片选 if(knum=0) snum=30; fnum=30;if(knum=1) fnum+; snum=30;if(knum=2) snum+; fnum=30;if(snum=30) w=0xfe; s=dshi/10; if(s=0xc0) w=0xff; d=0xff; d=s; delay(5); d=0xff; if(miao_flag) miao_flag=0; w=0xfd; d=ddshi%10; delay(5); d=0xff; else w=0xfd; d=dshi%10; delay(5); d=0xff; if(snum=60) snum=0; if(fnum=30) w=0xfb; d=dfen/10; delay(5); d=0xff; w=0xf7; d=dfen%10; delay(5); d=0xff; if(fnum=60) fnum=0;void read_sf() miao=read_1302(read_miao);/*if(miao!=dmiao) dmiao=miao; tr0=1; miao_flag=1; */fen=read_1302(read_fen);shi=read_1302(read_shi); display(shi,fen);void keyscan() if(s3=0) delay(10); if(s3=0) while(!s3) display(shi,fen); knum+; if(knum=1) write_1302(0x8e,0x00); write_1302(write_miao,0x80); if(knum=3) knum=0; write_1302(write_miao,0x00); write_1302(0x8e,0x80); if(knum=1) if(s1=0) delay(10); if(s1=0) while(!s1) display(shi,fen); fen+; if(fen=60) fen=0; write_1302(write_fen,fen/10*16+fen%10); if(s2=0) delay(10); if(s2=0) while(!s2) display(shi,fen); fen-; if(fen=-1) fen=59; write_1302(write_fen,fen/10*16+fen%10); read_sf(); if(knum=2) if(s1=0) delay(10); if(s1=0) while(!s1) display(shi,fen); shi+; if(shi=24) shi=0; write_1302(write_shi,shi/10*16+shi%10); read_sf(); if(s2=0) delay(10); if(s2=0) while(!s2) display(shi,fen); shi-; if(shi=-1) shi=23; write_1302(write_shi,shi/10*16+shi%10); read_sf(); void main()init_1302();t0_init();while(1) if(miao_num=10) led=1; read_sf(); keyscan();void t0_timer() interrupt 1 tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;miao_num+;if(miao_num=20) miao_num=0; miao_flag=1;四、设计过程1.proteus仿真电路(1)仿真电路图(2) 仿真效果图 (如图显示时间为12:00:12)(3) 功能实现效果图(如图正在设置时钟的分钟高位)(4)制作过程的部分图片 2.实际电路板调试(1) 检测电路板没什么接触问题后,用烧录实验板把自己写的程序写入单片机;(2) 将单片机插入自己的电路板中,上电看是实验板数码管显示效果;分析出现效果不佳或 者时间误差大的原因,并在软件上修改重新调试,直至达到实训要求与更佳效果。五、遇到的问题及其处理方法(1)问题一:用proteus仿真电路原理图,用的芯片较多,电路比较复杂; 处理一:仿真时用proteus内部的电流电压探针测试电路各端的电压电流值,判断是否可简化电路原理图,最后决定去掉了驱动74ls245; 处理二:用相似的器件代替;用相应的封装代替,部分自己制作封装库;(2)问题二:实际电路中,数码管显示段比较不稳定,会闪烁;处理二:软件尝试性缩短扫描数码管的时间,再烧录看效果,不断修改至更
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《口语交际:即兴发言》教学设计 2024-2025学年语文六年级下册统编版
- 2025年全国汽车修理工(高级)职业技能考试复习题库【附答案】
- 第三单元第14课《电子商务》说课稿 2024-2025学年青岛版(2019)初中信息技术第一册
- 第二课 经济全球化说课稿-2025-2026学年初中历史与社会人教版2013九年级下册-人教版(新课程标准)
- 蒸腾作用课件
- 物流运输实务(第三版)习题及答案 项目二同步测试
- 2025年北京pcr考试题及答案
- 蒲柳人家课件观看
- 葡萄酒知识培训课件
- 2025劳动合同韩语模板
- 项目经理考核试题及答案
- 车载信息娱乐系统的设计与开发-全面剖析
- 安检岗位培训课件模板
- 2025-2030中国水产饲料原料和产品行业市场现状供需分析及投资评估规划分析研究报告
- 腹膜透析换液操作医学
- 静电检测专业知识培训课件
- 现代农业园区-规划设计方案
- 安全文明施工和质量管理制度
- 新媒体运营口薪酬考核制度150215
- 舞蹈兴趣小组教案
- 2024年湖南益阳市安化县医疗卫生单位招聘考试真题
评论
0/150
提交评论