




免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)(2011届)题 目 六位数码管电子钟系 别 信 息 电 子 系 专 业 信息电子工程管理班 级 信电0811 姓 名 张淑娇 指导教师 2011年 月 日目 录摘要1第一章 数字电子钟的设计方案21.1数字电子钟的应用意义21.2数字电子中设计的要求及技术指标21.3设计方案论证2第二章 核心器件简介32.1元器件清单32.2元器件的识别与测量32.3单片机芯片82.3.1单片机的概念82.3.2AT89C2052高性能8位单片机9第三章 电路原理图及工作原理133.1原理图分析133.2工作原理14第四章 系统软件设计16第五章 安装与调试315.1准备元件和工具315.2安装、焊接到电路板上315.3测试与调试32第六章 结束语34 6.1论文总结34 6.2工作展望34参考文献 相关资料36致谢37六位数码管电子钟六位数码管电子钟【摘要】数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。数字钟是以不同的计数器为基本单元构成的,它的用途十分广泛,只要有计时、计数的存在,便要用到数字钟的原理及结构;同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。 【关键词】:校时电路、报时电路、振荡器 第一章 数字电子钟的设计方案论证1.1数字电子钟的应用意义数字电子钟是用数字电路实现“时”、“分”、“秒”数字显示的计时装置,主要由振荡器、分频器、计数器、译码显示器、校时电路、报时电路等六部分组成。这些都是数字电路中应用最广的基本电路。数字电子钟具有计时准确的功能。1.2数字电子钟设计的要求及技术指标 1设计数字电子钟实现准确计时,由六位数码管分别显示时、“分”、“秒”;附加“星期”数码1位显示。 2时与分与秒数字显示模块间各设置一对不同颜色发光二极管,时间单位数字变化时闪烁一次。 3计时误差不超过0.05秒。 4具有整点报时、手动设置修改时间功能控制功能。1.3设计方案论证 石英晶体振荡器产生的时脉冲送到分频器,分频电路将时标信号分成每秒一次的方波信号。秒脉冲发生器产生频率稳定很高的秒脉冲,秒脉冲被送到一个六十进制秒计数器计数,将计数结果送至秒个位和十位译码器,译码结果分别由两只七段半导体数码管以十进制数形式显示来。当秒六十进制计数器累计到第59秒时,若再来一个秒脉冲,秒计数器的进位输出就产生进位脉冲(分计数脉冲),同时,秒计数器的十位和个位都复位到零。分计数脉冲又被送到分六十进制计数器计数,经译码电路译码后数码管显示相应的分数。当计满59分59秒时,若再来一个秒脉冲,则分计数器便向时计数器送出时计数脉冲,同时,分、秒计数器均复位到零。时计数器是一个二十四进制计数器,当计数显示23时59分59秒时,若再来一个秒脉冲,则时、分、秒计数器都应回到零,并显示(00 00 00)表示已到达午夜零点,第二天开始继续计数。第二章 核心器件简介2.1元器件清单 表2-1元器件清单表序号名称规格位号数量序号名称规格位号数量1单片机AT89C2051U1113三极管9012Q1Q772三端集成稳压78L05U2114电阻220R3R9732位共阳数码管红色0.4寸LED1LED33151KR2、R10R1574发光二极管红色3D1D44162KR17、R1825蜂鸣器5V有源U31175.1KR1616瓷片电容30PFC2、C321810KR1170.1uFC4、C5219按键6*6*5S1、S2、S3382位排针间距2.54J1J3320电池盒4节5号19集成电路插座20PU1121DC插座5.5*2.1110电解电容10uFC1122电源线双色2P带热缩管111100uFC6123电路板105*55112晶振12MHzY1124说明书A4双面12.2元器件的识别与测量电阻:导体对电流的阻碍作用就叫该导体的电阻电阻器简称电阻(Resistor,通常用“R”表示)是所有电子电路中使用最多的元件。电阻的主要物理特征是变电能为热能,也可说它是一个耗能元件,电流经过它就产生内能。电阻在电路中通常起分压分流的作用,对信号来说,交流与直流信号都可以通过电阻 。电阻的种类很多,a.按阻值特性:固定电阻、可调电阻、特种电阻(敏感 电阻) 。不能调节的,我们称之为固定电阻。而可以调节的,我们称之为可调电阻。常见的例如收音机音量调节的,主要应用于电压分配的,我们称之为电位器。电阻都有一定的阻值,它代表这个电阻对电流流动阻挡力的大小。在国际单位制中,电阻的单位是(欧姆),此外还有 K(千欧), M(兆欧)。其中: 1M=1000K , 1K=1000。阻值和误差的标注方法a.直标法将电阻器的主要参数和技术性能用数字或字母直接标注在电阻体上eg: 5.1k 5% 5.1k Jb.文字符号法将文字、数字两者有规律组合起来表示电阻器的主要参数eg: 0.1=1=0R1,3.3=33=3R3,3K3=3.3Kc.色标法用不同颜色的色环来表示电阻器的阻值及误差等级.普通电阻一般有4环表示,精密电阻用5环d.数码法用三位数字表示元件的标称值。从左至右,前两位表示有效数位,第三位表示10n(n=08)。当n=9时为特例,表示10(-1)。0-10欧带小数点电阻值表示为XRX,RXX. eg : 471=470 105=1M 2R2=2.2塑料电阻器的103表示10*103=10k。片状电阻多用数码法标示,如512表示5.1k。电容上数码标示479为47*10(-1)=4.7pF。而标志是0或000的电阻器,表示是跳线,阻值为0。数码法标示时,电阻单位为欧姆,电容单位为pF,电感一般不用数码标示。色环电阻第一环如何确定请参照色标法图片:黑,棕,红,橙,黄,绿,蓝,紫,灰,白 0, 1, 2, 3, 4, 5, 6, 7, 8, 9a.四环电阻:因表示误差的色环只有金色或银色,色环中的金色或银色环一定是第四环例如,红,黄,棕,金 表示240欧误差为5%b.五环电阻:(1)从阻值范围判断:因为一般电阻范围是0-10M,如果我们读出的阻值超过这个范围,可能是第一环选错了。(2)从误差环的颜色判断:表示误差的色环颜色有银、金、紫、蓝、绿、红、棕。如里靠近电阻器端头的色环不是误差颜色,则可确定为第一环。电阻是一个线性元件。说它是线性元件,是因为通过实验发现,在一定条件下,流经一个电阻的电流与电阻两端的电压成正比即它是符合欧姆定律:I=U/R电阻的测量:通常来说,使用万用表可以很容易判断出电阻的好坏:将万用表调节在电阻挡的合适挡位,并将万用表的两个表笔放在电阻的两端,就可以从万用表上读出电阻的阻值。应注意的是,测试电阻时手不能接触到表笔的金属部分。但在实际电器维修中,很少出现电阻损坏。着重注意的是电阻是否虚焊,脱焊。 电容:电容是表征电容器容纳电荷的本领的物理量。我们把电容器的两极板间的电势差增加1伏所需的电量,叫做电容器的电容。电容的符号是C。在国际单位制里,电容的单位是法拉,简称法,符号是F,常用的电容单位有毫法(mF)、微法(F)、纳法(nF)和皮法(pF)(皮法又称微微法)等,换算关系是:1法拉(F)= 1000毫法(mF)1000000微法(F)1微法(F)= 1000纳法(nF)= 1000000皮法(pF)。电容的识别:电容的识别方法与电阻的识别方法基本相同,分直标法、色标法和数标法3种容量大的电容其容量值在电容上直接标明,如10 F/16V容量小的电容其容量值在电容上用字母表示或数字表示字母表示法:1m=1000 F 1P2=1.2PF 1n=1000PF 数字表示法:三位数字的表示法也称电容量的数码表示法。三位数字的前两位数字为标称容量的有效数宇,第三位数宇表示有效数字后面零的个数,它们的单位都是pF。如:102表示标称容量为1000pF。在这种表示法中有一个特殊情况,就是当第三位数字用9表示时,是用有效数宇乘上10-1来表示容量大小。使用寿命:电容器的使用寿命随温度的增加而减小。主要原因是温度加速化学反应而使介质随时间退化。相关公式:一个电容器,如果带1库的电量时两级间的电势差是1伏,这个电容器的电容就是1法,即:C=Q/U 但电容的大小不是由Q或U决定的,即:C=S/4kd 。其中,是一个常数,S为电容极板的正对面积,d为电容极板的距离, k则是静电力常量。电容器的电势能计算公式:E=CU2/2电容好坏的判别:黑表笔接电容器的负极,红表笔接电容器的正极,表针迅速摆起,然后逐渐退至某处停留不动,则说明电容器是好的,凡是表针在某一位置停留不稳或停留后又逐渐慢慢向右移动的电容器已经漏电,不能继续使用了。表针一般停留并稳定在 50 200K 刻度范围内。 三极管是半导体三极管也称双极型晶体管,晶体三极管,简称三极管,是一种电流控制电流的半导体器件.半导体电子器件,有两个PN结组成,可以对电流起放大作用,有3个引脚,分别为集电极(c),基极(b),发射极(e).有PNP和NPN型两种,以材料分有硅材料和锗材料两种。两个PN结把整块半导体分成三部分,中间部分是基区,两侧部分是发射区和集电区,排列方式有PNP和NPN两种,发射区和基区之间的PN结叫发射结,集电区和基区之间的PN结叫集电极。基区很薄,而发射区较厚,杂质浓度大,PNP型三极管发射区发射的是空穴,其移动方向与电流方向一致,故发射极箭头向里;NPN型三极管发射区发射的是自由电子,其移动方向与电流方向相反,故发射极箭头向外。发射极箭头向外。发射极箭头指向也是PN结在正向电压下的导通方向。硅晶体三极管和锗晶体三极管都有PNP型和NPN型两种类型。晶体三极管的三种工作状态 :截止状态:当加在三极管发射结的电压小于PN结的导通电压,基极电流为零,集电极电流和发射极电流都为零,三极管这时失去了电流放大作用,集电极和发射极之间相当于开关的断开状态,我们称三极管处于截止状态。 放大状态:当加在三极管发射结的电压大于PN结的导通电压,并处于某一恰当的值时,三极管的发射结正向偏置,集电结反向偏置,这时基极电流对集电极电流起着控制作用,使三极管具有电流放大作用,其电流放大倍数Ic/Ib,这时三极管处放大状态。 饱和导通状态:当加在三极管发射结的电压大于PN结的导通电压,并当基极电流增大到一定程度时,集电极电流不再随着基极电流的增大而增大,而是处于某一定值附近不怎么变化,这时三极管失去电流放大作用,集电极与发射极之间的电压很小,集电极和发射极之间相当于开关的导通状态。三极管的这种状态我们称之为饱和导通状态。三极管基极的判别:根据三极管的结构示意图,我们知道三极管的基极是三极管中两个PN结的公共极,因此,在判别三极管的基极时,只要找出两个PN结的公共极,即为三极管的基极。具体方法是将多用电表调至电阻挡的R1k挡,先用红表笔放在三极管的一只脚上,用黑表笔去碰三极管的另两只脚,如果两次全通,则红表笔所放的脚就是三极管的基极。如果一次没找到,则红表笔换到三极管的另一个脚,再测两次;如还没找到,则红表笔再换一下,再测两次。如果还没找到,则改用黑表笔放在三极管的一个脚上,用红表笔去测两次看是否全通,若一次没成功再换。这样最多没量12次,总可以找到基极。判定集电极c和发射极e。(以PNP为例)将万用表置于R100或R1K挡,红表笔基极b,用黑表笔分别接触另外两个管脚时,所测得的两个电阻值会是一个大一些,一个小一些。在阻值小的一次测量中,黑表笔所接管脚为集电极;在阻值较大的一次测量中,黑表笔所接管脚为发射极。 三极管类型的判别: 三极管只有两种类型,即PNP型和NPN型。判别时只要知道基极是P型材料还N型材料即可。当用多用电表R1k挡时,黑表笔代表电源正极,如果黑表笔接基极时导通,则说明三极管的基极为P型材料,三极管即为NPN型。如果红表笔接基极导通,则说明三极管基极为N型材料,三极管即为PNP型。发光二极管简称为LED。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。 它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。 发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算:R(EUF)IF式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作电流。发光二极管的两根引线中较长的一根为正极,应按电源正极。有的发光二极管的两根引线一样长,但管壳上有一凸起的小舌,靠近小舌的引线是正极。与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。把它的管心做成条状,用7条条状的发光管组成7段式半导体数码管,每个数码管可显示09十个数目字。普通发光二极管的检测 (1) 用万用表检测。利用具有10k挡的指针式万用表可以大致判断发光二极管的好坏。正常时,二极管正向电阻阻值为几十至200k,反向电阻的值为。如果正向电阻值为0或为,反向电阻值很小或为0,则易损坏。种检测方法,不能实地看到发光管的发光情况,因为10k挡不能向led提供较大正向电流。 (2) 如果有两块指针万用表(最好同型号)可以较好地检查发光二极管的发光情况。用一根导线将其中一块万用表的“+”接线柱与另一块表的“-”接线柱连接。余下的“-”笔接被测发光管的正极(p区),余下的“+”笔接被测发光管的负极(n区)。两块万用表均置10挡。正常情况下,接通后就能正常发光。若亮度很低,甚至不发光,可将两块万用表均拨至1若,若仍很暗,甚至不发光,则说明该发光二极管性能不良或损坏。应注意,不能一开始测量就将两块万用表置于1,以免电流过大,损坏发光二极管。(3) 外接电源测量。用3v稳压源或两节串联的干电池及万用表(指针式或数字式皆可)可以较准确测量发光二极管的光、电特性。2.3单片机芯片2.3.1 单片机的概念单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成(如图1所示)。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。 单片机的应用领域 :1.单片机在智能仪器仪表中的应用;2.单片机在工业测控中的应用;3.单片机在计算机网络和通讯技术中的应用;4.单片机在日常生活及家电中的应用;5.单片机在办公自动化方面。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。2.3.2 AT89C2051高性能8位单片机图2-1 AT89C2051单片机AT89C2051是一个低电压,高性能CMOS8位单片机,片内含2K bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存储数据(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大。AT89C2051单片机可为您提供许多高性价比的应用场合。AT89C2051是一个功能强大的单片机,但他只有20个引脚,15个双向输入/输出端口,其中P1是一个完整的8位双向I/O端口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。主要功能特性: 兼容MCS51指令系统 2k可反复擦写(1000次)Flash ROM 15个双向I/O口 6个中断源 两个16位可编程定时/计数器 2.7-6.V的宽工作电压范围 时钟频率0-24MHz 128x8bit内部RAM 两个外部中断源 两个串行中断 可直接驱动LED 两级加密位 低功耗睡眠功能 内置一个模拟比较放大器 可编程UARL通道 软件设置睡眠和唤醒功能管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 第三章 电路原理图及工作原理3.1 原理图分析电路特点这里介绍的电子钟,电路可称得上极简,它仅使用单片的20引脚单片机完成电子钟的全部功能,而笔者见到的其它设计方案均采用二片以上的多片IC实现。图3-1 电路原理图一片20引脚的单片机STC1052(引脚排列与AT89C2051完全相同)为电子钟主体,其显示笔画数据从P1口分时输出,P3口则输出对应的六位选通信号。由于LED数码管点亮时耗电较大,故不能使用AT89C2051单片来完成,但是可以可以用STC89C1052来完成。另外,本站制作时用超高亮的发光二极管代替昂贵的大数码管,成本低,效果独特。 本电子钟设计有三个轻触式按键,这里我们分别命名为:模式设定键K1、加调整键K2、减调整键K3。由于STC89C2032内部已经集成有复位电阻,所以,复位脚只需要接一只电容即可。本电子钟采用了一只NPN型的三极管及蜂鸣器为闹时讯响电路。本图采用电池供电,电路板上有桥式整流、滤波和三端稳压器7805的安装位置,可以用交流电压供整个系统工作。此电子钟可与任何612V/100mA的交直流电源适配器配合工作,适应性强。装好的成品如下:图3-2 成品图3.2 工作原理1、显示原理:显示部分主要器件为3只两位一体共阳极数码管,驱动采用 PNP 型三极管驱动,各端口配有限流电阻,驱动方式为动态扫描,占用 P3.0P3.5 端口,段码由P1.0P1.6输出。冒号部分采用 4 个 3.0的红色发光二极管,驱动方式为独立端口P1.7驱动。 2、键盘原理:按键 S1S3 采用复用的方式与显示部分的 P3.5、P3.4、P3.2 口复用。其工作方式为,在相应端口输出高电平时读取按键的状态并由单片机消除抖动并赋予相应的键值。 3、迅响电路及输入、输出电路原理:迅响电路由有源蜂鸣器和 PNP 型三极管组成。其工作原理是当 PNP 型三极管导通后有源蜂鸣器立即发出定频声响。驱动方式为独立端口驱动,占用P3.7端口。输出电路是与迅响电路复合作用的,其电路结构为有源蜂鸣器,5.1K定值电阻R6,排针J3并联。当有源蜂鸣器无迅响时J3输出低电平,当有源蜂鸣器发出声响时J3输出高电平,J3可接入数字电路等各种需要。驱动方式为迅响复合输出,不占端口。输入电路是与迅响电路复合作用的,其电路结构是在迅响电路的 PNP 型三极管的基极电路中接入排针J2。引脚排针可改变单片机I/O口的电平状态,从而达到输入的目的。驱动方式为复合端口驱动,占用P3.7端口。 4、单片机系统: 本产品采用了单片机AT89C2051为核心器件,并配合所有的外围电路,具有上电复位的功能,无手动复位功能。第四章 系统软件设计主程序(MAIN),如下:#includecodesenen_seg10=0x81,0xe7,0x92,0xa2,0xe4,0xa8,0x88,0xe3,0x80,0xa0; /P1.7(冒号)口高电平bit key1_enter=0,key2_enter=0,key3_enter=0,countdown_mark=0,stopwatch_mark=0,count_mark=0,bell_mark=0;/状态标志unsigned char program=0,program_variable=0,count_bit=0,count=0;unsigned char hour=10,minute=10,second=0; /时间变量unsigned char delayed_hour=22,delayed_minute=10,delayed_second=0;/定时变量unsigned char count_hour=0,count_minute=0,count_second=0;/计时计数变量unsigned char count_time=0,count_count=0;void delay(unsigned int t)/延时子程序 unsigned int i,j; for(i=0;it;i+)for(j=0;j=199)count_time=0; second+;if(second=60) second=0;minute+;if(minute=60) minute=0;hour+;if(hour=24)hour=0;if(delayed_hour=hour & delayed_minute=minute & second=199 & (count_second!=0|count_minute!=0|count_hour!=0)count_count=0;count_second-;if(count_second=60) count_second=59;count_minute-;if(count_minute=60)count_minute=59;count_hour-;if(count_hour=100) count_hour=99; if(count_second=0&count_minute=0&count_hour=0&count_count=15000) count_count=14000; if(stopwatch_mark=1) /秒表程序count_count+;if(count_count=2)count_count=0;count_second+;if(count_second=100)count_second=0;count_minute+;if(count_minute=60)count_minute=0;count_hour+;if(count_hour=60) count_hour=0;unsigned char show_key (void)unsigned char x=0,y=0;switch (program)case 0: P1&=senen_segsecond%10; /时钟秒的个位 break;case 1: if(count_time=90) P1&=senen_segsecond%10; /校正秒的个位 break;case 2: if(delayed_hour=24) P1=0xfe; /闹钟秒的个位else P1&=senen_segdelayed_second%10; break;case 3: if(count_bit=0) P1&=senen_segcount_second%10;/倒计时秒的个位else P1=0xff;break;case 4: P1&=senen_segcount_second%10; /秒表秒的个位break;case 5: P1&=senen_segcount_second%10; /计数器个位break; P3_3=0;delay(10);if(P3_5=0)/功能键1识别 key1_enter=1;if(count=90) P1&=senen_segsecond/10; /校正秒的十位break;case 2: if(delayed_hour=24) P1=0xfe; /闹钟秒的十位else P1&=senen_segdelayed_second/10; break;case 3: if(count_bit=1) P1&=senen_segcount_second/10;/倒计时秒的十位else P1=0xff;break;case 4: P1&=senen_segcount_second/10; /秒表秒的十位break;case 5: P1&=senen_segcount_second/10;/计数器十位break;P3_1=0;delay(10);P3_1=1;P1|=0xff;switch (program) case 0: P1&=senen_segminute%10;/时钟分的个位break;case 1: if(count_time=90) P1&=senen_segminute%10; /校正分的个位break;case 2: if(delayed_hour=24) P1=0xfe;/闹钟分的个位else P1&=senen_segdelayed_minute%10; break;case 3: if(count_bit=2) P1&=senen_segcount_minute%10;/倒计时分的个位else P1=0xff;break;case 4: P1&=senen_segcount_minute%10;/秒表分的个位break;case 5: P1&=senen_segcount_minute%10;/计数器百位break;P3_2=0; delay(10);P3_2=1P1|=0xff;switch (program)case 0: P1&=senen_segminute/10; /时钟秒的个位break;case 1: if(count_time=90) P1&=senen_segminute/10;/校正秒的个位break;case 2: if(delayed_hour=24) P1=0xfe;/闹钟秒的个位else P1&=senen_segdelayed_minute/10; break;case 3: if(count_bit=3) P1&=senen_segcount_minute/10;/倒计时秒的个位else P1=0xff;break;case 4: P1&=senen_segcount_minute/10;/秒表秒的个位break;case 5: P1&=senen_segcount_minute/10;/计数器千位break; P3_5=0;delay(10);P3_5=1;P1|=0xff;switch (program)case 0: P1&=senen_seghour%10; /时钟时的个位break;case 1: if(count_time=90) P1&=senen_seghour%10; /校正时的个位break;case 2: if(delayed_hour=24) P1=0xfe;/闹钟时的个位else P1&=senen_segdelayed_hour%10; break;case 3: if(count_bit=4) P1&=senen_segcount_hour%10;/倒计时时的个位else P1=0xff;break;case 4: P1&=senen_segcount_hour%10;/秒表时的个位break;case 5: P1&=senen_segcount_hour%10;/计数器万位break;P3_0=0;delay(10);if(P3_4=1 & key2_enter=1)x=3; /确认功能键2识别,返回3key2_enter=0;P3_0=1;P1|=0xff;switch (program) case 0: P1&=senen_seghour/10; /时钟时的个位break;case 1: if(count_time=90) P1&=senen_seghour/10; /校正时的个位break;case 2: if(delayed_hour=24) P1=0xfe; /闹钟时的个位else P1&=senen_segdelayed_hour/10; break;case 3: if(count_bit=5)P1&=senen_segcount_hour/10; /倒计时时的个位else P1=0xff;break;case 4: P1&=senen_segcount_hour/10;/秒表时的个位break;case 5: P1&=senen_segcount_hour/10;/计数器万位break; P3_4=0;delay(10);if(P3_5=1 & key1_enter=1) /确认功能键1识别,执行退出或进入下一个功能if(count=127) x=1; /确认功能键1为长按,返回1else x=2; /确认功能键1为短按,返回2key1_enter=0;count=0;if(P3_2=1 & key3_enter=1)x=4; /确认功能键3识别,返回4key3_enter=0; P3_4=1;P1|=0xff;if(program=100) P1&=0xff;/校时和显示功能时钟时冒号闪烁if(program=1 & count_time=24)hour=0;break;case 4: minute+;if(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大数据平台建设及运维服务合同
- 企业文化建设手册统一行为规范
- 生产线设备维护检查表
- 期末考试作文我们班的活宝800字(13篇)
- 汉语中常用谦敬词语的使用规则解析:社交汉语课程教案
- 泌尿外科管道的护理
- 双相情感障碍护理诊断
- 统编版语文四年级下册 第六单元 习作:我学会了- 课件
- 老年失眠护理
- 个性化教育培训项目合作协议
- 高中化学学法指导课件
- 仪表安装规范以及验收
- 《观潮》课件.ppt2
- 人教版(PEP)小学英语_3~6年级_单词表(带有音标)
- 农业环境讲义4
- 地下连续墙施工质量控制要点(北京17号线)
- 冀教版五年级下册数学应用题专项综合练习题
- 鲫鱼的外形与内部解剖
- 安全保证体系图及组织机构图
- CPS21F变频恒压供水调节器使用说明书1
- 视频会议系统中调音台的使用
评论
0/150
提交评论