版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的数字时钟设计设计简介
本设计选择的是以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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股骨颈骨折骨栓植入术后护理查房
- 宫腔镜子宫内膜粘连松解术后护理查房
- 资深园艺设计服务保证承诺书5篇
- 企业文化建设与推广方案制作工具
- 供应商货款结算申请函(7篇)范文
- 生产现场安全管理标准化流程清单
- 业务流程改进与创新思维工具集
- 湖南师大附中博才实验中学2025-2026学年初三寒假延长作业英语试题含解析
- 湖南省汨罗市弼时片区市级名校2026年初三下学期第一次联合语文试题试卷含解析
- 2026年江苏省句容市崇明中学9校联考初三语文试题含解析
- 2026年青海省海南藏族自治州单招职业适应性测试题库附参考答案详解(模拟题)
- 广告制作公司奖惩制度
- 2026春牛津译林版英语八年级下册Unit+8+Reading+(同步课件)
- 第一单元(单元测试 基础夯实)-高二语文人教统编版选择性必修下册
- 2025山西中煤一局集团有限公司应届高校毕业生招聘20人笔试历年典型考点题库附带答案详解2套试卷
- 幼儿园课件《认识我们的身体》课件
- 2026年安克创新行测笔试题库
- 违反无菌技术操作
- AI养鱼:智慧渔业新模式
- 2025年《三级公共营养师》考试练习题库及答案
- 煤矿调度专项培训课件
评论
0/150
提交评论