毕业论文(基于单片机的时钟电路的设计)_第1页
毕业论文(基于单片机的时钟电路的设计)_第2页
毕业论文(基于单片机的时钟电路的设计)_第3页
毕业论文(基于单片机的时钟电路的设计)_第4页
毕业论文(基于单片机的时钟电路的设计)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

基于单片的时钟电路设计TheofclockbasedMCU专

业电信科与术

基于单片的时钟电路设计要:文章主要采用单片机最小化应用设计LED显示采用动态扫描方式实现,P0口输出段码数据,P1.0-P1.2口作扫描输出,—P0.4口接按钮开关S1,S2,S3,S4,S5,rest接复位按键。P0.0控制秒的调整,每按一次加1秒;P0.1控制分的调整,每按次加1分;P0.2控时的调整,每按一次加1个小时为了提供LED数码管的驱动电流用74ls595作电源驱动输出实际设计按情况采用11.0592MHz晶振。电子时钟电路采用12h记时方式时间用8位数码管显示。该电路采用AT89c51单片机,使用电池供电。关键词单片机;抖动;数码管;中断;低功耗;时钟I

designofclockcircuitbasedonMCU:articlemainlyusesat98c51circuitminimumLEDthatthedynamicmethodrealize,P0mouthoutputsectiondata,thescanout,mouthmeetsS2,S5,P0.0ofsecondadjustment,andtimepointsofadjustment,eachtimeatpm;P0.2controlofadjustment,andtimeprovideLEDthedrivecurrent,9012makessourcewiththetriodetoactuateoutput.Thetothecrystaloscillator.electroncircuitselects24htimethetimewithelectriccircuitcircuit,uses5Vsupply.KeySCM;jitter;;interrupt;lowconsumption;theclockII

录1引言2以AT89C51单机为核的时钟电路构和工原理...............................................22.1AT89C51的结构组成及引脚功能.AT89C51的结构组AT89C51的引脚功2.2

时钟电路工作原理及原理图.2.4时钟电路的消除震荡设计2.5时钟电路的误差分析及功耗3以AT89C51单机为核的时钟电路程序设.....................................................123.1主程序设计及系统主流程图3.2时钟电路的时钟和闹铃程序设计及流程图.3.3时钟电路的显示程序设计及流程图.3.4时钟电路的键盘程序设计及流程图.4Keil与Proteus软件的调仿真...............................................................................164.1KeilSoftware简介...........................................................................164.2时钟电路的仿真图如下5结束[考文献附致

录.谢.III

1引言单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟是采用数字电路实现对.时,分,秒.字显示的计时装置,泛用于个人家庭车站,码头办公室等公共场所,成为人们日常生活中不可少的必需,由于数字集成电路的发展和石英晶体振荡器的广泛应,使得数字钟的精度,远远超过老式钟表,钟表的数字给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文主要采用片机最小化应用设计,LED示采用动态扫描方式实现,P0口输出段码数据P1.0-P1.2口作扫描输出,P0.1—P0.4口接按钮开关S1,S2,S3,S4,S5,rest接S6复位按键。下面我主要从硬件、程序、软件联调3面来设计。

2以单片为心时电结和作理2.1AT89C51结构组及引脚功能的结构组AT89C51一种带字节闪可编程可擦除只读存储器(FPEROMFalshProgrammableandErasableReadOnlyMemory的低电压,高性能CMOS8微处理器,俗称单片机AT89C51是一种带字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造与工业标准的指令集和输出管脚相兼容。由于将多功能位闪烁存储器组合在单个芯片中,ATMEL的是一种高效微控制。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。图89C51管图

2.1.2AT89C51的脚功能表89C51功能列·兼容MCS51指令系统·两个16位可编程定时/计数器·两个外部中断源·低功耗睡眠功能·低功耗的闲置和掉电模式·三级程序存储器锁定·128x8bit内部RAM·6个中断源

·32可编程I/O线·全静态工作:0-24MHz·数据保留时间:10年·可编程串行通道·寿命:1000写/擦循环·片内振荡器和时钟电路·2.7-6.V的宽工作电压范围·4K字节可编程闪烁存储器AT89C51芯片的管脚说明:1.VCC:供电电压。2.GND:接地。3.P0口:P0口为一个8位漏级开路双向口,每脚可吸收8TTL电流。当P1口的管脚第一次写1时,被定义为高阻输入。能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时外部必须被拉高。4.P1口:P1口是一个内部提供上拉电阻的8位双向口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时将输出电流这是由于内部上拉的缘故在编程和校验时,P1口作为第八位地址接收。5.P2口:P2口为一个内部上拉电阻的位双向I/O口,P2口缓冲器可接收,输4个TTL门电流,P2口被写“1”时其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或位地址外部数据存储

器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。6.P3口P3口管脚是8个带内部上拉电阻的双向口可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流()这是由于上拉的缘故。P3口同时为闪烁编程和编程校验接收一些控制信号。表2.2P3功表P3引脚P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

兼用功能串行通讯输入(RXD)串行通讯输出(TXD)外部中断0(INT0)外部中断1(INT1)定时器0输入(T0)定时器1输入(T1)外部数据存储器写选通WR外部数据存储器写选通RD7.RST复位输入。当振荡器复位器件时保持脚两个机器周期的高电平时间。图3复位电

8.ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE止,置位无效。9./PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效/PSEN信号将不出现。10./EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时/EA将内部锁定为RESET当/EA端保持高电平时,此间内部程序存储器在FLASH编程期间,此引脚也用于施加12V编程电源(VPP。11.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。12.XTAL2:来自反向振荡器的输出。图4时钟源动电路振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.2

时钟电工作原理及理图电路特点这里介绍的电子钟,电路可称得上极简它仅使用单片很少引脚完成电子钟的全部功能。一片40引脚的单片机AT89C51为电子钟主体,其显示笔画数据P0口分时输出,P1则输出对应的位选通信号由于LED数管点亮时耗电较大,故使用89C51单片机来完成。本电子钟程序设计时只使用了一个定时数其它的中断全部关断,定时器工作在两个位自动加载初始值状态.这是保证走时精确稳定的重要方法.很多书本教材上都让大家用定时器中断来执行动态显示程序和按键扫描程序,我自己认为这是一种很不好的方(但是这种方法是初学者必须掌握的基础,除了浪费硬件资源以外,还会增加程序复杂性,还会影响其它程序运行。系统框图:实时控制校时定时电

单片机

显示电路整点报时图5系统框一、电子时钟的技术指标显示范围:时间采用12/24小时制显示格式:时间按时分秒排列,显示如00点分22秒显示为000122显示位数:8位8段LED数码管作正常、调时和节电显示时钟误差:24小时误差3~5秒二、硬件电路的选择1、单片机的选择

选用片机,配备11.0592MHz晶振,复位电路

BLKL采用上电复位。2、显示电路选择

采用软件译码动态显示。3、电源选择电路图如下:

采用直流5V电源供电。g

f

eda

f

edcb

A2DAHLED-7

B

A

A4LED-7I

I

I

I

I

I

I

I

dig8dig7dig6dig5dig4dig3dig2dig1iiiiiiiiabdfA3ADHA1ADHL'V

DIY1

EA/VPX1X2

RXDTXDALE/P

K

图6时钟电原理图2.3钟电路显示元动态显示技术:在多位LED显示时由一个位口控制由另一个端口进行显示位的控制。但是,由于段选是公用的,要让各位数码管显示不同的字符,就必须采用扫描方式,即动态扫描显示方式。首先从段选线上送出字段码,再控制位选线,字符就显示在指定位置上,持续1~5ms时间,然后关闭所有显示;接下来又送出新的字段码,按照上述过程又显示在新的位置上,直到每一位数码管都扫描完为止,即为一个扫描周期。由于人的视觉停留效应,因此当扫描周期小到一定程度时,人就感觉不出字符的移动或闪烁,觉得每位数码管到一直在显示,达

到一种稳定的视觉效果。动态扫描显示的扫描方式有程序控制和定时中断扫描两种。程序控制扫描方式要占用许多间,在计算机的任务较重时,难以得到好的效果,所以在实际中常采用定时中断扫描方式,这种方式是每隔一定时间(如1ms)显示一位数码管,假设有8位数码管,显示扫描周期2ms,显示效果十分良好。本次设计采用这种方法。图7显示电主要采用595来驱动,74HC595的管教如下:图8595脚图

【1】74595的数据端:1.Q0—Q7:八位并行输出端,可以直接控制数码管的个段。2.Q7':级联输出端。我将它接下一个595SI端。3.SI:串行数据输入端。【2】74595的控制端说明:1./SCLR(10脚):低点平时将移位寄存器的数据清零。通常我将它接。2.SCK(11脚)上升沿时数据寄存器的数据移位QA-->QB-->QC-->...-->QH下降沿移位寄存器数据不变。(脉冲宽度5V时,大于几十纳秒就行了。我通常都选微秒级)3.RCK(12脚:上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将为低电平,当移位结束后,在RCK端产生一个正脉冲(时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。4.脚):高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。2.4时钟电的消除荡设计在单片机应用系统中,消除抖动有硬件和软件两种方法。硬件去抖动方法主要有利用R-S触发器和滤波器电路,由于按键消除抖动时按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程,所以键闭合与断开会产生如附图所示的电压波形,抖动时间一般在5~10ms。这个抖动对判断键是否按下或释放有较大影响,因此必需消除键的抖动,只有这样,才能可靠地判断键的状态。软件去抖动通常是程序检测到键被按下时时10ms后再检测键是否仍然闭合,若是则确认是一次真正的闭合,否则就忽略次此按键。本次设计时采用的软件消抖程序。

2.5时钟电的误差析及功耗【1】主要误差来源及补偿:1硬件电路在线路手工焊接时可能存在虚焊,或者有接触不良的情况,以及外界环境的影响,通过使用印刷电路板机器焊接,可以减少硬件误差影响。2、采用11.0592MHz晶振计算定时计数初值时存在小数舍入误差公式:,定时器/计数器采用工作方式1,定时器、T1溢出周期为计算得到N=19456=4C00H,TH0=4CH,TL0=00H.若仍采用理论上的算初值,则有:N1=3CB0H,那么用,N1不,益出周期约为54.25ms,每次溢出比实际的要慢,那么一秒钟要慢,从而影响实际的要慢122min。修正后误差处理通过软件实现,最终的时钟误差测得值。功耗问题:【2许多实时时钟都采用电池供电典型应用是利用一块小的锂电池在主电源掉电时直接驱动振荡器和时钟电路。为有效延长电池的使用寿命,振荡器必需消耗尽可能少的能量。为了保证这一点,应谨慎考虑振荡器的设计。典型的高频振荡电路ESR较低但设计中一般会留出倍、甚10倍的ESR裕量而低频晶振则具有较高的。对于一个振荡器,或许留出2倍的负阻裕量即可,振荡器的负阻裕量越小、耗电越低,但是,这种电路对寄生参数、噪声非常敏感。此外,振荡电路的负载电容对功耗也有一定影响,虽然12.5pF部负载的RTC的耗电要比负的RTC,但是,它通常具有更高的抗干扰能力。在有些应用中(如VCR,时钟和日期信息在系统掉电时将会丢失,而在大多数应用中要求系统主电源断电时仍保持时钟和日期有效。为保持时钟振荡器持续运转,可采用主/辅电池结构或大电容配合主电源为时钟电路供电,这样RTC芯片内部还必须提供两组电源的切换电路。如果用电池(如i+电池)作为备份电源,RTC计还应该注重低功耗指标,以使其在电池供电时具有尽可能低的功耗。电源切换控制电路通常由主电源供电,需要时可切换到电池供电,并将为低功耗模式,电池供电时,可禁止微处理器与RTC间的通信(通常被称为写保护),以使电池电流降至最小,同时避免数据被破坏。在采用电池为电路系统供电时,时钟电路耗电最大的部件是振荡器,对于

那些嵌入了晶振和电池的时钟模块(如DS12C887,由于振荡器在出厂时处于禁止状态,因此电池的损耗电流主要是电池的自放电,室温下,电池自放电每年的消耗能量大约占电池容量的0.5%。有些时间保NVRAM模块利用时钟来控制,出厂时,振荡器处于禁止状态、电池断开,只有模块在主电源供电并第一次与时钟电路断开时电池才与SRAM接通这一功能常被称作电池保鲜。Dallas的绝大多数RTC都提供有一个电池输入引脚和一个内部反向充电保护电路。由于Li+电池的额定温度是-40℃~+85℃,因此,使用时应确保环境温度不要超出+85℃。图9晶振与度关系11

3以单片为心时电的序计3.1程序设及系主流程主程序设计中采用定时器中断完成其余状态循环调用显示子程序。系统主流程图如图所示:主程序中断初始化初始化打开定时器时间显示在LED上图主程序流图

3.2时钟电的时钟闹铃程序设及流程时钟采用11.0256MHZ的脉冲控制,闹铃采用整点报时功能。开始初始化开定时器时器计数时钟显示判断是否达到整点报时图11时钟闹铃程序程

3.3时钟电的显示序设计及流图显示子程序:数码管显示的数据存放在内存单元70H-75H中,其中70H~71H存放秒数据,存放分数据74H~75H存时数据,一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中时取出70H~75H某一地址中的数据,然后查的对应的显示段码从P1口出。口将对应的数码管选中,就是显示该地址单元的数据值,每个LED码管亮1MS时间再逐循环。进入中断读取存储区内数据给传送位码给595传断码判断8位据是否传送毕开显示返回中断图显示程序程图

3.4时钟电的键盘序设计及流图P0口输出段码数据,口作扫描输出,P0.1—P0.4口接按钮开关S1,S2,S3,S4,S5,rest接S6位按键。控制秒的调整,每按一次加1秒;P0.1控制分的调整,每按一次加分;控制时的调整,每按一次加个小时。进入中断扫描键盘判断键盘序号执行相关按键程序调节分钟

调节小时

调节星期

12/24小切

辅助功能标换

识返回中断图键盘程序程图

4与软件的联调真4.1Software及Proteus简介在这里我们对KEIL和PROTEUS简单介绍下:[1]KeilC51是美国司出品的51列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势因而易学易用用过汇编语言后再使用C来开发体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。KeilC51单片机软件开发系统的整体结构:C51工具包的整体结构中uVision与分别是forWindows和forDos的集成开发环境(IDE)可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C汇编源文件后分别由C51A51译器编译生成目标文件(.OBJ)。目标文件可由创建生成库文件,也可以与库文件一起L51接定位生成绝对目标文件(.ABS)文件由OH51转换成标准的Hex文件,以供调试器或tScope51用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM。[2]Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件。Proteus软件有十多年的历史在全球广泛使用除了其具有和其它工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果配合系统配置的虚拟仪器如示波器逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是ProteusLite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。Proteus组合了高级原理布图、混合模式SPICE真,PCB设计以及自动

''''布线来实现一个完整的电子设计系统统受益于15年来的持续开发子世界》在其对设计系统的比较文章中评为最好产品“TheRoutetoPCBCADProteus产品系列也包含了我们革命性的VSM技术用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD盘RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。PROSPICE仿真器的一个扩展PROTEUSVSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外还可以结合微控制器软件使用动态的键盘关按钮LEDs甚至LCD显示CPU模型。4.2

时钟电的仿真图如用proteus仿真的电路f

f5513456791234567901234567QQQQQQQ

7

0123567QQQQQQQ

7

_S

_

E

_S

_

E11

21

01

1411

21

0311

图时钟仿真路在keil编写的时钟程序:

图时钟仿真序

5结语本次设计采用单片机作为核心控制器具有定时时功能的数字钟。随着人们生活水平的提高,人们对数字钟的要求越来越高,有单一的计时功能到发展到现在有温度检测、湿度检测等多功能数字钟。这些多功能数字钟多用在工业里作为检测元件,因此需要能够在恶劣的环境下工作。利用单片机作为数字钟的控制核心可以做到硬件电路简单稳定小电磁干扰和其他环境干扰,充分发挥软件编程的优点,减少因元器件精度不够引起的误差。设计中了解到数字钟的迅猛发展,它已经普遍应用到人们日常生产和生活之中了。数字钟有很强的发展空间,因此我们有理由相信将来数字钟会与我们的生产和生活更加紧密相连。

[考献[1]汪德彪《单机原理及接口技术[M].京:电子工业出版社,2003.8.[2]丁元杰《片微机原理及应[M].北京:机械工业出版社2005.1.[3]聂毅《单片机定时器中断时间误差的分析及补偿[J].计算机信息2002.18(4):37~38.[4]楼然苗李飞《系列片机设计实例[M].京:航空航天大学出版社2003.3.[5]谢自美《子线路设计、实、测试》武汉:华中理工大学出版社2000.[6]何书森何斌《用数字路原理与设计速成[M].福州:福建科学技术出版社,2000.6.[7]白驹衍《片计算机及应用[M].京:电子工业出版社,[8]谭浩强.《语程序设计教程[M]北京:清化大学出版,2000.1.[9]周润景丽印Keil与Proteus联调教程北京机工业2007.9.1.[10]付才《单片机控制工程实践技术[M].北京:化学工业出版,2004.[11]孙才王兴等《型AT89S52列单片机及其应用[M].北京清大学出版社,2005.[12]朱华《单片机原理及接口技术实验[M].京:北方交通大学出版社,2002.[13]胡才单机原理及其口技术(第2版[M].北京:清华大学出版社2003.[14]蒋彪《单片机原理及应用MCS-51》[M].庆:重庆大学出版社2003.[15]Y.,Yi.designlinearityandefficiencyofmicrowaveDohertyamplifierusinganewloadmatchingtechnique[J].,2001,(12),pp.–36.[16]R.Dye,“VisualObject-Programming,Dr.DobbsMacintoshJournal[J],Sept.1st([17]IntelCorporation.MCS-Microcontrollerfamilyuer

附A:以单片机为系统的总体设计方案

录开始确定任务、功能和技术指标选择机型,软硬件功能划分硬件逻辑框图设计

软件结构设计确定算法,程序流程设计选择器件、完成逻辑设计编写程序硬件仿真调试

程序编写部分软件功能调试软件联调仿真调试排除硬件错误完善软件功能系统设计完成

B:时钟电路的时钟程序

图系统设总流程WR_595(unsigned){dataif((num2&0x80)==0x80)//最高位为,则向发送1SDATA_595=1;//发出数据的最高位SDATA_595=0;num2<<=1;//右位SCLK_595=0;SCLK_595=1;}

//生上生沿}Out_595(void){RCK_595=0;RCK_595=1;/*上升沿锁存数据*}/*voidLed_Init(void){WR_595(0xff);WR_595(0xff);Out_595();}*/

C:时钟电路的显示程序共阳数码管接法见资料本,暂为整理添加<reg51.H>//数码管驱动相关接口SDATA_595=/*串行数据输入*SCLK_595=/*移位时钟脉冲*=/*输出锁存器控制脉冲*

codeLED_Tab[9]={0xFF,//灯//从低到高指级//阴数码管段码表,连线如上所注释charcodeDuan_Tab[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//0-9//显示内容的位码表charcodeWei_Tab[8]={0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10};

向74595输出一字节数据子程序WR_595(unsigneddata){dataif((num2&0x80)==0x80)//最高位为1则向发送1SDATA_595=1;//发出数据的最高位SDATA_595=0;num2<<=1;//右位SCLK_595=0;SCLK_595=1;}

//生上生沿}打开锁存,更新74595输出子程序Out_595(void){RCK_595=0;

RCK_595=1;/*上升沿锁存数据*}/*voidLed_Init(void){WR_595(0xff);WR_595(0xff);Out_595();}*/显示函数char{unsignedWR_595(Wei_Tab[count]);if(count==3||count==5)Out_595();count++;if(count>=8)count=0;}

D:时钟电路的键盘程序<reg51.H>minute_temper=P0^0;/*串行数据输入*hour_temper=P0^1;/*移位时钟脉*/*出锁存器控制脉冲*/P0^3;P0^4;externunsignedexternunsignedexternunsignedexternbitflog_time12;Scan_Key(void){bitPre_State_Key1=1;//按键的上一次状态bitLast_State_Key1=1;//按的当前状态bitPre_State_Key2=1;bitLast_State_Key2=1;bitPre_State_Key3=1;bitLast_State_Key3=1;bitPre_State_Key4=1;bitLast_State_Key4=1;Pre_State_Key1=Last_State_Key1;//保存上次键状态Last_State_Key1=minute_temper;读入当前按键状态Pre_State_Key2=Last_State_Key2;

Pre_State_Key3=Last_State_Key3;Last_State_Key3=week_temper;Pre_State_Key4=Last_State_Key4;{if(de_flog==0){minute--;if(minute>65)minute=59;}{if(minute>59)minute=0;}}{if(de_flog==0){hour--;}{

hour++;}}{if(de_flog==0){week--;}{week++;}}{flog_time12=!flog_time12;}}

E:时钟电路的总程序//**********************************************************************************//*************************************************************

温馨提示

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

评论

0/150

提交评论