ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:134.59KB ,
资源ID:5547830      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5547830.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子时钟课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子时钟课程设计.docx

1、电子时钟课程设计学号成绩沈阳城市建设学院基于51单片机的电子时钟系统设计 课程名称 单片机原理及应用 专 业 班 级 16- 1 班 姓 名 2017 年 12 月 18日摘 要?数字钟已成为人们日常生活中不可少的必需品,给人们的生活,学习,工作带来极大的方便。本文介绍的数字钟是一种利用数字电路来显示时、分、秒的装置,与传统的机械钟相比,它具有走时准确,性能稳定,显示直观,无机械传动装置等特点。?数字电子钟由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路等组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器

2、,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计数器,可以实现一天24h的累计。电路是来对“时、分、秒”显示数字进行校对调整。关键词:计数器;单片机;数码管; 上拉电阻?一、方案设计、单片机的选择方案、数码管的选择方案、上拉电阻的选择方案、总体设计框图、AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k?bytes的可反复擦写的只读程序存储器(PEROM)和128?bytes的随机存取数据存储器(RAM),器件

3、采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。如图 图 、共阴极数码管是一类数字形式的显示屏,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。如图图、上拉电阻(排阻,上拉就是将不确定的信号通过一个电阻嵌位在高电平

4、,电阻同时起限流作用。上拉是对器件注入电流,下拉是输出电流;弱强只是上拉电阻的阻值不同,没有什么严格区分;对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为输出型电路输出电流通道。所以根据本次课设设计选择上拉电阻。如图: 图二、程序见附页1三、硬件模块程序设计、单片机最小系统51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。51单片机最小系统起振电容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好,P0口为开漏输出,作为输出

5、口时需加上拉电阻,阻值一般为10k。其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。数码管显示模块、6位共阴数码管显示所示四、软件模块设计本次设计使用的软件是Keil软件,它能够使用简单易懂的高级C语言对单片机进行软件开发,还是C52系列兼容单片机语言软件开发系统。五、系统硬件电路的设计系统的硬件主要包括单片机芯片,数码管显示,按键开关电路,它的硬件电路如下图所示,单片机采用广泛使用的AT89C51,系统采用12MHz的晶振,采用6位共阴数码管显示。操作方法:对照原理图,按下SW2按键第一次设置小时数据,SW3按键加,SW4按键减,按下SW2按键第二次设置分钟,SW3按键加,SW4按键减

6、,SW2按键第三次设置秒,SW3按键加,SW4按键减,SW2第四次退出设置。单独的一个按键SW1是复位按键硬件电路图如图所示图 图六、课程设计总结经过一周的时间以及对整本教材的知识总结,把课程设计分成了硬件和软件两大模块。总的来说,硬件部分很好入手,电路也教简单,主要涉及的是简单的按键、电容、电阻、晶振和数码管。在软件部分,细分为了按键模块、显示模块、定时/计数模块,最后把几个模块整合在主程序模块中,使得程序简单明了。整个设计过程中遇到的最大问题是软件的编写,由于采用的是汇编语言,其间使用到的各种寄存器、存储器地址、变量很多,很难对程序的整体把握。通过电子钟的设计,对单片机的原理、结构、外围电

7、路进一步的了解。在整个设计过程中学到了团体精神和独立解决问题的重要性。为以后的求职之路打下了基础。七、参考资料 1单片机原理与应用 谢维成 杨加国 编着 2 单片机应用与仿真调试 严天峰 编着3模拟电子技术(第三版) 胡宴如 耿苏燕 编着4数字电子技术(第三版) 杨志忠 卫桦林 编着附页1#include /头文件 定义单片机内部寄存器#define uchar unsigned char /宏定义 缩写成uchar#define uint unsigned int/宏定义 缩写成uint/数码管位端口定义sbit w1=P22;sbit w2=P23;sbit w3=P24;sbit w4=

8、P25;sbit w5=P26;sbit w6=P27;/按键/sbit key1=P35;/设置时间sbit key2=P36;/加sbit key3=P37;/减 /共阴数码管段信号编码/uchar code table10=/0-90xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6;/uchar num,miao,fen,shi;/计时 时分秒变量uchar fen1,shi1;/闹钟变量uchar d1,d2,d3,d4,d5,d6;/显示拆分数据void delay(uint ms)/1ms 延时函数 数据保持用的 括号里面是几大概就延

9、时多少ms uchar x; for(ms;ms0;ms-) for(x=110;x0;x-);void display()/显示函数 d1=shi/10;/小时 d2=shi%10;/ d3=fen/10;/ d4=fen%10;/分钟 d5=miao/10;/ d6=miao%10;/秒 w1=0;P0=tabled1;delay(10);/第1位显示数据 P0=0x00;w1=1;/关闭显示消除动态扫描阴影 w2=0;P0=tabled2|0x01;delay(10);/第2位显示数据 P0=0x00;w2=1;/关闭显示消除动态扫描阴影 w3=0;P0=tabled3;delay(10

10、);/第3位显示数据 P0=0x00;w3=1;/关闭显示消除动态扫描阴影 w4=0;P0=tabled4|0x01;delay(10);/第4位显示数据 P0=0x00;w4=1;/关闭显示消除动态扫描阴影 w5=0;P0=tabled5;delay(10);/第5位显示数据 P0=0x00;w5=1;/关闭显示消除动态扫描阴影 w6=0;P0=tabled6;delay(10);/第6位显示数据 P0=0x00;w6=1;/关闭显示消除动态扫描阴影void keyscan()/调时按键扫描函数 uchar k_flag; if(key1=0)/按键按下 一下所有按键执行的模式都是一样的 d

11、elay(10);/延时消除按键抖动 if(key1=0)/确定按键按下 k_flag=1; while(key1=0);/等待按键松手 while(k_flag=1)/开始调整小时数据 display(); if(key1=0) delay(10);/延时消抖 if(key1=0) k_flag=2; while(key1=0); if(key2=0) delay(10); if(key2=0) shi+; if(shi=24)shi=0; while(key2=0); if(key3=0) delay(10); if(key3=0) if(shi=0)shi=24; shi-; while

12、(key3=0); while(k_flag=2)/开始调整分钟数据 display(); if(key1=0) delay(10);/延时消抖 if(key1=0) k_flag=3; while(key1=0); if(key2=0) delay(10); if(key2=0) fen+; if(fen=60)fen=0; while(key2=0); if(key3=0) delay(10); if(key3=0) if(fen=0)fen=60; fen-; while(key3=0); while(k_flag=3)/开始调整秒数据 display(); if(key1=0) del

13、ay(10);/延时消抖 if(key1=0) k_flag=0; while(key1=0); if(key2=0) delay(10); if(key2=0) miao+; if(miao=60)miao=0; while(key2=0); if(key3=0) delay(10); if(key3=0) if(miao=0)miao=60; miao-; while(key3=0); void main() TMOD=0x01;/定时器0 16位计时模式 TH0=(65536-50000)/256; /50ms定时 TL0=(65536-50000)%256; /50ms定时 EA=1;/开启总中断 ET0=1;/开启定时器中断 TR0=1;/开启定时器 while(1) display();/显示函数 keyscan();/按键扫描函数 void T0_time() interrupt 1 TH0=(65536-50000)/256; /50ms定时 TL0=(65536-50000)%256; /50ms定时 num+;/加一次50ms定时 if(num=20)/1S num=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24)shi=0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1