版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的数字时钟设计设计简介
本设计选择的是以STC90C51单片机为控制核心。配备其他外围电路构成了一个具有时间显示、按键调时、闹铃定时功能的数字时钟。系统采用七段式数码管作为显示器,软件程序采用均采用C语言编写,便于移植与升级。报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。系统设计
系统框图
报时电路
单片机电源电路
时钟电路复位电路显示电路控制电路硬件设计
——系统仿真电路图系统硬件组成及其功能
一、电源电路二、时钟电路其输入引脚为18(XTA2)、19(XTAL1).电路有2个电容(C1/C2)其容量约为30pF还有一个晶体振荡器(1.2~12mHz)。时钟电路用于产生单片机工作所需要的时钟信号三、按键电路单片机引脚默认输出为高电平,当开关按下时引脚与地相连,引脚电平为低电平,单片机采集到低电平做出反应。四、复位电路a、上电复位b、按键复位五、显示电路六、报时电路74HC573OE:三态允许控制端低电平有效LE:数据锁存使能,1D~8D为数据输入端1Q~8Q为数据输出端功能:芯片74HC573是8位三态锁存器.可锁存地址,数据,可作缓冲器用。在本设计中采用74HC573提高对数码管的驱动能力。软件设计
一、主程序流程图二、按键程序流程图三、程序及其功能#include<reg51.h>unsignedcharSeg[]={0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0X7f,0X6f,0x40};//数码管显示1-9和—的断码unsignedcharCom[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};//数码管亮灭的数组/***************************************************************定义全局变量***************************************************************/unsignedintcounter=0;//定义计数数据unsignedcharmode;//定义模式unsignedcharsecond=0,minute=0,hour=0;//定义秒分时的初值unsignedcharADD_bit=0,DEC_bit=0,flag=0;//加标志位和减标志位赋初值0,/***************************************************************
定义按键
***************************************************************/sbitms=P1^0;//按键P^0调节模式变化sbitADD=P1^1;//按键P1^1实现加一sbitDEC=P1^2;//按键P1^2实现减一sbitSPK=P1^7;//按键P1^7实现报时
/***************************************************************延时函数***************************************************************/voiddelay(unsignedintt){while(t--);}/******************************************************************数码管扫描******************************************************************/voidSegplay(){
P0=Seg[second%10];P3=Com[7];delay(100);P3=Com[8];P0=Seg[second/10];
P3=Com[6];delay(100);P3=Com[8];P0=Seg[10];
P3=Com[5];delay(100);P3=Com[8];P0=Seg[minute%10];
P3=Com[4];delay(100);P3=Com[8];P0=Seg[minute/10];
P3=Com[3];delay(100);P3=Com[8];P0=Seg[10];
P3=Com[2];delay(100);P3=Com[8];P0=Seg[hour%10];
P3=Com[1];delay(100);P3=Com[8];P0=Seg[hour/10];
P3=Com[0];delay(100);P3=Com[8];}/***************************************************************按键扫描***************************************************************/voidKeyget(){//通过标志位来控制模式
if(ms==0){flag=1;}if((ms)&&(flag)) {flag=0;mode++;if(mode==3)mode=0;}if(mode==1)
{if(ADD==0){ADD_bit=1;}//加按键
if((ADD)&&(ADD_bit))
{ADD_bit=0;minute++;if(minute==60)minute=0;}
if(DEC==0){DEC_bit=1;}//减按键if((DEC)&&(DEC_bit==1)) {DEC_bit=0;if(minute==0)minute=60;minute--;}}if(mode==2){if(ADD==0){ADD_bit=1;}if((ADD)&&(ADD_bit)) {ADD_bit=0;hour++;if(hour==24)hour=0;}if(DEC==0) {DEC_bit=1;}if((DEC)&&(DEC_bit==1)) {DEC_bit=0;if(hour==0)hour=24;hour--;}}}/***************************************************************报时扫描***************************************************************/voiddidi(){if(second==0&&minute==0){SPK=1;delay(20);SPK=0;}}/**************************************************************************中断初始化**************************************************************************/voidtime0(){TMOD=0x01;//设置定时器模式1TH0=(65536-50000)/256;//高八位赋初值TL0=(65536-50000)%256;//低八位赋初值TR0=1;//启动定时器0计数ET0=1;//使能定时器中断EA=1;//使能总中断}/***********************************************************************主函数***********************************************************************/voidmain(){time0();while(1){Keyget(); //加减控制Segplay();//数码管显示
didi();//报时控制}}/**************************************************************************中断服务程序**************************************************************************/voidtimer0()interrupt1{TH0=(65536-50000)/256;//高八位赋初值TL0=(65536-50000)%256;
//低八位赋初值
counter++;
if(counter==20)
{counter=0;second++;if(second==60)
{second=0;minute++;}//秒进位
if(minute==60)
{minute=0;hour++;}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度二手农机销售代理与合作合同
- 2024年度环保技术与设备采购合同(含治理、监测、节能减排)
- 2024别墅房地产销售代理合同
- 2024年度农业产品代销合同
- 2024北京夫妻共同财产清算合同
- 2024年度乙方向甲方提供教育培训服务的合同
- 2024年度版权购买及许可合同
- 2024别墅石材供应与加工合同
- 2024年度新能源开发服务合同
- 2024年度品牌授权使用合同.(服装连锁品牌)
- 24年追觅在线测评28题及答案
- 《陆上风电场工程概算定额》NBT 31010-2019
- 第五章 中国特色社会主义理论体系的形成发展(一)
- 新版中国食物成分表
- 传热学沸腾强化
- 工程量确认单格式
- MODF架跳纤规范_图文
- 医院焦虑抑郁情绪测量表(HAD量表)
- 煤矿消防安全管理制度范本
- 和易充智能充电系统(PPT课件)
- 30MW光伏项目送出系统工程施工组织总设计1
评论
0/150
提交评论