您好,欢迎访问三七文档
单片机电子钟设计文档1设计的设计任务及基本要求.................................................................21.1功能需求...................................................................................................21.2设计方框图...............................................................................................21.3主程序流程图..........................................................................................32模块电路设计.................................................................................................42.1单片机主控制模块的设计...................................................................42.2显示模块电路设计.................................................................................52.3键盘电路设计..........................................................................................52.4整体电路图设计.....................................................................................63模块软件设计.................................................................................................63.1中断服务流程图.....................................................................................63.2键盘模块流程图.....................................................................................83.3数据处理模块流程图............................................................................91设计的设计任务及基本要求1.1功能需求1.设计一个利用C-51单片机编程的数字时钟;2.要求开机运行显示“000000”;3.显示部分用6位8八段共阳极数码管;4.具有显示“时时.分分.秒秒”;5.具有3个调整按键;6.按键功能:秒调整,分调整,时调整;1.2设计方框图ATC89C51单片机控制器位驱动6位LED显示器加减调11整键键键1.3主程序流程图电路设计采用AT89C51定时器中断方式进行秒定时的设计且采用定时器方式1设计,定时50ms然后循环20次即定时为1秒,编程使秒循环60次,然后现将秒清0,分加1;分加到60后现将分清0,小时加1;小时加到24后将小时清0,这样进行循环达到计时的功能。显示部分采用共阳极数码管的的动态扫描方式显示电子钟的时、分、秒。其中AT89C51的P0口作为8位LED显示的段选口控制数码的显示,P2口则作为位选口控制某一时刻数码管被选中。开始显示单元清0T0,T1设为16位计数器模式允许T0中断调用显示子函数键按下?进入调时功能NY2模块电路设计2.1单片机主控制模块的设计单片机采用12MHz的晶振,则51单片机的机器周期为晶振频率的12分频,即f机器=12M/12=1MHz,则机器周期为1微秒采用定时器方式1,这个定时器为一个16位的定时器,最长的定时时间为(0xFF)65535微秒,定时溢出中断周期可设为50ms,中断进入后,时钟计时累计20次(即1s)时,对秒计数单元进行加1操作。定时器初值=最长定时时间-需要定时的时间定时器初值(十进制)=65535-5000=60535换算成16进制=0xEC77即TH0=0xEC,TL0=0x77引脚定义及功能:P1.0功能选择键P1.1加“一”键P1.2减“一”键XTAL1、XTAL2时钟引脚,外接晶体引线端。P0.0—P0.7位选信号,使六个数码管轮流显示数据,等于1时位选三极管导通,等于0时截止P2.0—P2.7段选信号,数据送到数码管显示相应的段码2.2显示模块电路设计本电路设计采用共阳极数码管的的动态扫描方式显示电子钟的时、分、秒。其中AT89C51的P2口作为8位LED显示的段选口控制数码的显示,P0口则作为位选口控制某一时刻数码管被选中。2.3键盘电路设计按键被按下时闭合,松手后自动断开。单片机检测按键的原理是:单片机的I/O口既可以作为输入口也可以作为输出口用,当检测按键时用的时它的输入功能,把案件的一端接地,另一端接单片机的某个I/O口,开始时先给I/O口赋以高电平,然后单片机不停地检测I/O口是否变为低电平,当按键闭合后,即I/O口通过按键与地相连,变成低电平,程序一旦检测到I/O口变为低电平则说明按键被按下,然后执行相应的指令。因为在按下键盘和松开键盘瞬间,人的手指会有抖动动作,因此单片机在检测键盘是否按下时都要加上消抖操作,通常用软件时延的方法解决抖动问题。2.4整体电路图设计3模块软件设计3.1中断服务流程图YYNN满24h?显示缓冲单元清0返回NYYNYNN满60m?小时加1分值加1N计数器清零循环次数加1满1s?满60s?秒值加1N开始NYYY3.2键盘模块流程图通常在检测单片机的按键时,要等按键释放后才去执行相应的代码,若不加按键释放检测,由于单片机执行代码速度非常快,而且是循环检测按键,所以当按下一个键时,单片机会在程序循环中多次检测到按键被按下,从而造成错误的结果。开始键闭合?闭合键盘释放?延时去抖扫描取的键值YN键闭合?NYN结束Y3.3数据处理模块流程图数据处理子程序入口秒个位=秒%10秒十位=秒/10分个位=分%10分十位=分/10时个位=时%10时十位=时/10返回
本文标题:单片机数字钟.
链接地址:https://www.777doc.com/doc-1757450 .html