版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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单片机实现的电子计时钟。该电子钟系统的硬件主要由电源电路,按键电
2、路,复位电路,时钟电路和蜂鸣器电路等几部分组成。软件部分包括主程序,中断时钟程序,显示程序,闹钟程序,按键程序等。该设计的主要功能就是实现电子计时及准点报时,其中计时包括时分钟秒。关键词: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 t
3、he 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 mi
4、crocontroller; 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一、基于单片机
5、的电子时钟电路设计 1.单片机实训目的(1) 熟悉单片机应用系统的开发、研制过程;(2) 能运用单片机进行简单的应用系统的硬件设计;(3) 能运用单片机汇编语言或c51语言进行简单的应用系统的软件设计;(4) 掌握单片机应用系统的硬件、软件调试方法;2.单片机实训要求及其实现的功能 【1】单片机实训要求 (1) 根据设计功能,选择元器件,绘制系统原理电路图;(2) 根据系统原理图绘制pcb图,并用感光板制作pcb板;(3) 完成硬件电路焊接与调试;(4) 完成软件编程与调试;(5) 完成实训报告的撰写; 【2】实现的功能(1) 用单片机和一个4位led数码管、2个一位数码管动态显示时、分、秒;
6、(2) 用4个按键设置/修改时分秒的值(可少于4个按键); 在此次设计中,采用了四个按键实现复位/设置/加/减功能;(3) 上电和复位时的时分秒初值设为12:00:00二、电子时钟硬件电路设计方案与设计方法1.设计方案及其设计方法通过了解和分析此次电子时钟设计的要求及其所要实现的功能,参考网上资料、图书馆有些书籍,来选择此次电子时钟电路的设计电路,此次设计将其电路部分分为十个模块:51单片机、基本复位电路、晶振电路、功能电路、数码管位选电路、数码管段选电路、上拉电路、电源整流电路、工作指示灯电路、数码管显示电路。应用proteus的isis软件,编写简单的程序来测试电路设计的正确性、可行性、准
7、确性、实用性,从而确定最后电路方案。2.电子时钟系统的结构图 数码管显示电路51单片机复位电路晶振电路数码管段选电路p0上拉电阻电路数码管位选电路电源整流电路 功能电路工作指示灯电路3.电子时钟电路原理图三、电子时钟软件电路设计方案与设计方法1.软件设计方案 此次基于单片机的电子时钟设计的软件系统主要可分为主程序、显示程序、定时计数中断程序、时间调整程序、延时程序五大模块。 设计方案如下:开始t0中断入口通过查表方式动态扫描、显示数据数码位选亦通过查表方式,逐位显示判断是否进入时间设置set状态进入时间设置功能程序yynnn判断tcount=20y秒计数加1n判断是否满1miny分计数加1n判
8、断是否满1houry时计数加1 n判断是否满24hour中断返回时间置为00:00:00 2.软件设计方法 (1)该电子时钟由51单片机、按键、七段数码管等构成,采用晶振电路作为驱动电路,由中断产生0.05s的基时,执行中断时加上计数值20,从而产生1s计时,达到秒的计时,六十秒为一分钟,六十分钟为一小时,二十四小时为一天。电路可以通过按键实现时分秒的设置,通过加1减1按键实现时分秒各位的加一减一,从而达到时间设置功能。 (2)应用proteus的isis软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果虽然跟实际电路效果有些差别,但节省了硬件资源,具有实训学生有可操作性、实用性。3.
9、详细的程序清单和注释/* 说明:老师所给片选针脚为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=p
10、33; 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
11、,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; s
12、clk=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_130
13、2(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=d
14、dshi%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
15、(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
16、(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
17、); 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();vo
18、id 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西来宾市忻城县大塘镇人民政府编外聘用人员招聘1人考试备考试题及答案解析
- 2026青海省交通运输综合行政执法海北高速支队招聘后勤岗1人考试参考题库及答案解析
- 2026年北海职业学院高职单招职业适应性测试备考试题有答案解析
- 2026湖南常德市西洞庭管理区人力资源和社会保障局公益性岗位考试参考题库及答案解析
- 2026吉林白山市靖宇县招聘城市社区工作者专职岗位人员笔试备考题库及答案解析
- 2026年1月重庆市万州区黄柏乡人民政府公益性岗位招聘1人笔试备考试题及答案解析
- 2026年湖南省农林工业勘察设计研究院有限公司招聘备考题库及答案详解参考
- 2026年某区某国企劳务派遣岗公开招聘10人备考题库附答案详解
- 2026年营口市鲅鱼圈区海星社区卫生服务中心招聘部分专业技术人员的备考题库及1套完整答案详解
- 2026年镇安县云盖寺镇专职消防员招聘5人备考题库及答案详解一套
- 形神拳动作名称与图解
- 博士生入学复试面试报告个人简历介绍含内容模板两篇
- 食品工厂设计 课件 第二章 厂址选择
- 2023年生产车间各类文件汇总
- WORD版A4横版密封条打印模板(可编辑)
- 2013标致508使用说明书
- 中考满分(合集15篇)
- 《大数据营销》-课程教学大纲
- GB/T 32065.2-2015海洋仪器环境试验方法第2部分:低温试验
- GB/T 18993.1-2020冷热水用氯化聚氯乙烯(PVC-C)管道系统第1部分:总则
- GA/T 798-2008排油烟气防火止回阀
评论
0/150
提交评论