电子时钟课程设计_第1页
电子时钟课程设计_第2页
电子时钟课程设计_第3页
电子时钟课程设计_第4页
电子时钟课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号成绩沈阳城市建设学院基于 51 单片机的电子时钟系统设计课程名称单片机原理及应用专业班级16-1班姓名2017年12月18日目录一、方案设计41.1 、单片机的选择方案41.2 、数码管的选择方案41.3 、上拉电阻的选择方案41.4 、总体设计框图4二、程序6三、硬件模块程序设计63.1 、单片机最小系统63.2 数码管显示模块6四、软件模块设计7五、系统硬件电路的设计7六、课程设计总结8七、参考资料9摘 要数字钟已成为人们日常生活中不可少的必需品,给人们的生活,学习,工作带来极大的方便。 本文介绍的数字钟是一种利用数字电路来显示时、分、秒的装置,与传统的机械钟相比,它具有走时准确,性能

2、稳定,显示直观,无机械传动装置等特点。数字电子钟由秒信号发生器、 “时、分、秒”计数器、译码器及显示器、校时电路等组成。 秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒脉冲信号送入“秒计数器” ,该计数器采用 60 进制计数器,每累计 60 秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。 “分计数器”也采用 60 进制计数器,每累计 60 分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用 24 进制计数器,可以实现一天 24h 的累计。电路是来对“时、分、秒”显示数字进行校对调整。关键词:计数器;单片机;数码管;上拉电阻一、方案设计

3、1.1、单片机的选择方案1.2、数码管的选择方案1.3、上拉电阻的选择方案1.4、总体设计框图1.1、AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8位单片机,片内含 4k bytes的可反复擦写的只读程序存储器 (PEROM)和 128 bytes的随机存取数据存储器 (RAM ),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器(CPU)和 Flash存储单元,功能强大 AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。如图 1.1.1:图 1.1.11.2 、共阴

4、极数码管是一类数字形式的显示屏,通过对其不同的管脚输入相对的电流, 会使其发亮, 从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管, 其他家电也用液晶屏与荧光屏。如图 1.2.1:图 1.2.11.3 、上拉电阻(排阻,上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用。上拉是对器件注入电流,下拉是输出电流;弱强只是上拉电阻的阻值不同,没有什么严格区分;对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的, 上拉电阻的功

5、能主要是为集电极开路 输出型电路输出电流通道。 所以根据本次课设设计选择上拉电阻。如图 1.3.1 :图 1.3.1二、程序见附页 1三、硬件模块程序设计3.1、单片机最小系统51 单片机最小系统复位电路的极性电容 C1 的大小直接影响单片机的复位时间, 一般采用 1030uF,51 单片机最小系统容值越大需要的复位时间越短。 51 单片机最小系统起振电容 C2、 C3 一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好, P0 口为开漏输出,作为输出口时需加上拉电阻,阻值一般为 10k。其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。3.2 数码管显示模块1.3、6 位

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

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

8、过程中学到了团体精神和独立解决问题的重要性。 为以后的求职之路打下了基础。七、参考资料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=P25;sbit w5=P2

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

10、r(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);/第 3 位显示数据P0=0x00;w3

11、=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)/按键按下一下所有按键执行的模式都是一样的delay(10);/延时消除按键抖动if(k

12、ey1=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(key3=0);while(k_flag=2)/开始调整分钟数据display();i

13、f(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)delay(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)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论