版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 自动控制系统课程设计 题 目 数字时钟设计 学 院 专业班级 姓 名 学 号 指导老师 1 自动化系统设计任务书院(系) 专业班级 学生姓名 一、自动化系统设计题目 数字时钟设计 二、课程设计工作自 2015_年_11_月_16日 起至_2015_年 12 月_16_日止三、设计进行地点: 实验室 四、设计内容要求: 设计目的与意义:在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想。本次设计要求学生根据所学知识完成带温度显示的万年历的设计,提高学生的分析问题,解决问题的能力。 其具体要求
2、如下: 1要求采用单片机完成数字时钟的设计 2实现24小时的时钟显示、校准等功能 论文要求: 1撰写要求格式规范,设计思路清晰,条理清楚; 2. 论文内容准确无误,用A4纸张打印。 进程安排如下: 1 查资料,调研,确定方案。 2对系统硬件电路进行模块化设计,采用编程语言进行软件编程,完成硬件电路的软件仿真;3进行系统硬件电路的搭建、调试和测试,完成设计验收。 4完成自动化系统设计任务,并提交最终电子档及论文。 指 导 教 师 系(教 研 室) 系(教研室)主任签名 批准日期 接受设计任务开始执行日期 学生签名 摘要现代生活的人们非常的重视时间观念,对于那些对时间把握非常严格和准确的人或事来说
3、,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并
4、在控制电路的作用下具有快速校时、快速校准功能。 目录1.绪论11.1 课题研究的背景11.2 课题研究的意义21.3 数字时钟的应用及发展前景21.4 课题的研究内容及技术要求32.系统的初步设计52.1设计目的52.2设计要求52.3.方案论证52.3.1计时方案52.3.2.显示方案62.4.系统框图63.系统硬件设计73.1 单片机最小系统73.2 晶振电路83.3复位电路83.4 数码显示电路93.4.1 LED的选择93.4.2 LED的驱动和显示103.5 按键电路113.6校准电路124. 系统软件设计134.1主程序流程图如下:134.2按键流程图如下:145.综合调试155.
5、1秒信号的测试155.2 时间设置功能的测试156.总结17参考文献18 1 绪论1.1 课题研究的背景加入世贸组织以后,中国会面临激烈的竞争。这种竞争将是一场科技实力、管理水平和人才素质的较量,风险和机遇共存,同时电子产品的研发日新月异,不仅是在通信技术方面数字化取代于模拟信号,就连我们的日常生活也进于让数字化取缔。说明数字时代已经到来,而且渗透于我们生活的方方面面。现代生活的人们非常的重视时间观念,对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而
6、机械式的依赖于晶体震荡器,可能会导致误差。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。1.2 课题研究的意义多功能数字时钟的用途十分广泛,只要有计时的存在,便要用到数字时钟的原理及结构;同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费者的喜爱。随着人类科技文明的发展,人们对于时钟的要求在不断提高。时钟已不仅仅被看出一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现在时钟生产研究的主导设计方向。随着电子技术的飞速
7、发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统15,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点闹钟,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。因此,研究数字时钟及扩大其应用,有着非常现实的意义。1.3 数字时钟的应用及发展前景数字时钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来
8、越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。数字时钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使电子时钟具有走时准确、性能稳定、携带方便等
9、优点,它还用于计时、自动报时及自动控制等各个领域2。数字时钟10是采用单片机原理实现对时、分、秒,数字显示及到时提醒的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的,所以数字时钟有很大的发展前景。1.4 课题的研究内容及技术要求 数字
10、时钟是采用单片机原理实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。都是以钟表数字化为基础的,所以数字时钟有很大的发展前景。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高
11、的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字时钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。目前,数字时钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。 2.系统的初步设计2.1设计目的设计一种多功能数字钟,该数字钟具有基本功能和扩展功能两部分。其中,基本功能部分的有准确计时,以数字形式显示时、分、秒的时间和校时功能。在计时出现误差时电路还可以进行校时和校分,为了使电路简单所设计的电路不具备校秒的功能。并且要用数码管显示时、分、秒,各位均为两位显示,扩展部分要有相应的响应电路。2.2设计要求具体要求:实现24小时的时钟显示、校
12、准等功能。(1)显示功能:具有“时”、“分”、“秒”的数字显示(“时”从023,分059,秒059)。(2)复位功能:当数字时钟有偏差时,可以通过手动的方式使其恢复初始零状态。(3)可以根据个人设想,适当的添加其他功能。2.3.方案论证2.3.1计时方案数字钟既可以通过纯硬件实现,也可以通过软硬结合实现,根据电子时钟的核心部件秒信号的产生原理,通常有三钟形式:(1) 用NE555时基电路的形式采用NE555时基电路或其他震荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子时钟。由555构成的秒脉冲发生器电路如图2-1所示。输出的脉冲信号V0的频率F=1.44
13、3/(RA+2RB)×C,可通过调节这3个参数,使输V0的频率为精确的1Hz3。2图2-1: 555构成的秒脉冲发生器电路 利用555多谐振荡器,优点:555内部的比较器灵敏度较高,而且采用差分电路形式,它的振荡频率受电源电压和温度变化的影响很小。缺点:要精确输出1Hz脉冲,对电容和电阻的数值精度要求很高,所以输出脉冲既不够准确也不够稳定。 (2) 采用石英钟专用芯片的实现形式 采用石英钟专用计时芯片实现的电子钟,具有实现简单、计时精度高的特点。石英计时芯片(简称“机芯”)比较多,常见的有STP5512F、SM5546A和D60400等4。现基于5512F的2秒输出信号作为秒加法电路
14、的计时脉冲,可实现电子时钟。5512F的引脚如图2-2所示。12348765图2-2 5512F引脚图V+ SCAK SC1M0 BPM1 GND 其中,引脚7、8为外接晶振及振荡电路,引脚1接电源正极,电源为1.5伏,引脚3、4原为指针用步进电机线圈的输出驱动端,这里可用3脚作为脉冲输出,频率决定于外接晶振的频率。(3) 采用基于单片机的实现形式 利用单片机的智能性,可方便的实现具有智能数字钟的设计。而且,微处理系统具有时钟振荡系统,利用系统时钟并借助微处理器的定时/计数器功能可以实现数字钟的功能。本设计采用AT89C2051单片机设计。 由于考虑成本问题,最终选择方案三最为合适。2.3.2
15、.显示方案对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用6位LED数码管来分别显示时、分、
16、秒,因数码管个数较多,故本系统选择动态显示方式。2.4.系统框图图2-4 系统框图 说明:系统由STC89C52、LED 数码管、按键等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由暂停和开始键完成。其中暂停为时间校对,定时器调整功能键,按暂停进入调整状态。当按下暂停键后,可以按下数字键调节当前时间;开始键为退出调整模式,当按下此按键时,时钟从设置好的时间处正常运行;当系统超出设置的24:00时,将自动从00:00开始运行,直到暂停键按下为止。3.系统硬件设计3.1 单片机最小系统 单片机中央处理系统的方案设计,选用STC89C52单片机作为中央处理器,该单片机除了拥
17、有MCS-51系列单片机的所有优点外,内部还具有8K的在系统可编程FLASH存储器,低功耗的空闲和掉电模式,极大的降低了电路的功耗,还包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比高。 本系统采用STC89C52作为核心的控制芯片,用紧锁座安装单片机方便更换,具体芯片的外部引脚图3.1所示:图3.13.2 晶振电路 系统利用晶体振荡器作为时钟电路,根据晶振的不同使用要求及特点,通常分为以下几类:普通晶振、温补晶振、压控晶振、温控晶振等。安装晶振时,应根据其引脚功能标识
18、与应用电路应连接,避免电源引线与输出引脚相接输出。 本设计晶振电路采用12M的晶振。晶振的作用是给单片机正常工作提供稳定的时钟信号。单片机的晶振并不是只能用12M,只要不超过20M就行,在准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M的话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接的是30pF的电容。3.3复位电路图3.3复位电路智能系统一般应有手动或上电复位电路。复位电路的实现通常有两种形式:即专用µp监控电路和RC复位电路。前者电路实现简单,成本低,但复位
19、可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高,并对电源电压进行监视的场合,大多采用这种方式。本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,单片机芯片正常工作。其中电阻R2决定了电容充电的时间,R2越大则充电时间长,复位信号从VCC回落到0V的时间也长。3.4 数码显示电路3.4.1 LED的选择单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成
20、显示电路,7段LED数码管,在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外 ,编程方法也是不同的。下图3-10阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。 将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中
21、接上限流电阻。假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。其它字符的显示原理类同。图3-5 数码管电路用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。静态显示就是显示驱动电路具有输出
22、锁存功能,单片机将所要显示的数据送出后就不再控制LED,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间;动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。这两种显示方式各有利弊:动态显示虽然有闪烁感,占用的CPU时间较多,但是用的硬件少,能节省线路板的空间。动态扫描显示接口是单片机种应用最广泛的一种显示方式。其接口电路是把所有的LED显示器的8个笔画段AG、DP的同名端连在一起,而每一个数码管的公共端COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于C
23、OM端,而这一端由I/O控制的,可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的,约1ms左右,但是由于人的视觉暂留现象及发光余晖效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多,但是编程相对于动态显示比较简单,本设计采用的是静态显示方案。 3.4.2 LED的驱动和显示单片机对LED数码管的驱动方法可以分为
24、串行和并行两种,分别适用于不同的使用场合,两者的硬件电路和程序区别也很大。并行驱动:在一般情况下,单片机使用并行驱动的方式进行LED的显示。并行驱动的结构较简单,并且非常适用于说明地址和数据总线复用的情况。LED并行驱动的电路原理图如图3.4所示。图 3.4最终的显示原理图图中显示的是使用STC89C52与LED显示器的接口,STC89C52的P10P17作为段选码口,经过74HC573驱动与LED的段相连;STC89C52的P10P15作为位选码口,经过74HC573驱动与LED的位相连。图中的P2.6作为74HC573的段选信号,P2.7作为74HC573的位选信号。3.5 按键电路按键电
25、路由12个轻触开关组成,如图2.5所示。按键用来调整时间,其两端分别接到单片机的端口,构成3*4的矩阵键盘,当按下按键时,通过键盘扫描程序就可以知道哪个按键按下,从而执行相应的程序段。 图3.5按键电路键盘的操作,无论是按键或键盘都是利用机械触点的合、断作用。一个电压信号通过机械触点的闭合、断开过程。由于机械触点的弹性作用,在闭合及断开瞬间均有抖动过程,会出现一系列负脉冲。抖动时间的长短,与开关的机械特性有关,一般为510ms。一组按键或键盘都要通过I/O口线查询按键的开关状态。且独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较时,I/O口线浪费较大。3.6
26、校准电路 数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。校正信号可直接取自信号发生器产生的信号;输出端则与分或时个位计时输入端相连。当开关打到一端时,正常输入信号可以顺利通过,故校时电路处于正常计时状态;当开关打到一端时,信号产生校时电路处于校时状态。4.系统软件设计4.1主程序流程图如下: 开始否是是否否是 单片机初始化详细描述:设置从00:00开始运行是否暂停键按下按下数字键调节当前时间是否开始键按下从当前设置的时间开始运行是否超过最大时间24:00正常运行 结束控制过程描述:首先设置好单片机的初始模式,打
27、开定时器0,用定时器0产生秒信号,程序正常运行,当秒信号达到60时,分信号自动加1,秒信号清0,;当分信号到达60时,时信号自动加1,分信号清0;当时信号到达24时,时、分、秒信号全部清0从头开始运行。同时,当运行中检测到有暂停键按下,此时计数立即暂停,等待输入数字键,调节当前时间,取数字键前6个的键值作为设置的时间,然后等待开始键按下继续运行 开始 按下暂停键1号数码管设置为0或13号数码管设置051号数码管设置为24号数码管设置095号数码管设置056号数码管设置092号数码管设置为092号数码管设置为04当6个数码管均设置完成,按下开始键,开始运行 结束4.2按键流程图如下:图4.2案件
28、流程图控制过程描述: 首先应先按下暂停键,按键的功能才能启动,然后按下一个数字键调节第一个数码管时间,第一个数码管代表小时的十位数,只能设置为0、1、2,当第一个键值是0或1时,第二个键值可以在09之间任意选择;当第一个键值是2时,第二个键值必须在04之间选择;第三个键值代表分钟的十位只能在05内选择,第四个键值可在09内选择;第5个键值代表秒的十位,可在05内选择,第6个键值可在09内选择。选择结束后等待开始键按下,正常运行。5.综合调试5.1秒信号的测试 用数字秒表测设定时间内数字时钟的计数个数,每个计数值代表1S,结果如下:数字秒表设定的时间测试次数制作的数字时钟计数时间 20s 1 2
29、0s 2 20s 3 20s 40s 1 39s 2 39s 3 40s 60s 1 59s 2 59s 3 59s误差分析:测试时间为20s时:error=20-20/20=0,此时无误差测试时间为40s时:error=40-(40+39+39)/3)/40=0.017测试时间为20s时:error=60-59/60=0.017综上:信号的误差很小,秒信号符合设计要求。5.2 时间设置功能的测试 图5.1 图5.2 图5.3 图5.4说明:数字时钟开机后如图4.1所示从00:00:00开始运行,当按下暂停键并依次按下键值为1,2,5,9,5,9设置时间为12:59:59,如图4.2所示;当按
30、下开始键后,从12:59:59处开始运行如图4.3所示;当达到23:59:59时自动从图4.3变为图4.1所示的时间。综上:本设计满足要求,能够实现数字时钟的完整功能。由电路各个部分的子电路构成的各个部分的功能,再由数字时钟的系统原理框图,可以清楚的知道了总体的电路情况。由总图可以看出和清楚的整个数字时钟的总体工作原理和整个工作过程:由555和RC构成的振荡器产生的秒脉冲信号,进入60进制的“秒”计时,“秒”的分位进入60进制的“分”计时,由分的“时”进位进入24进制的“时”计时。在电路中,还有由门电路和开关构成的校时电路对电路的“时”,“分”进行校时,得到正确的时间。6.总结转眼间,为期四周
31、的课程设计就结束了。通过这四周的课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。课程设计的过程中,由于对理论掌握的不熟练,或者是操作过程中发生失误,都会导致最后结果出不来。至善至美,是人类永恒的追求。但是,不从忘却“金无足赤,人无完人”,我们换种思维方式,去恶亦是至善,改错亦为至美。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。对我们自动化专业的本科生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我
32、们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。通过课程设计,我更加明白了一个真理,“实践是检验真理的唯一标准”。课程设计达到了专业学习的预期目的。课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对设计过程的了解,进一步激发了我们对专业知识的兴趣,并能结合实际存在的问题在专业领域内进行更深入的学习。 参考文献1 谢自美电子线路设计·实验·测试M武汉:华中理工大学出版社,1992.2 何立民单片机应用系统设计M北京:北京航空航天大学出版社,1993.3 楼然笛单
33、片机开发M北京:人民邮电出版社,1994.4 付家才单片机控制工程实践技术M北京:化学工业出版社 2004.3.5 李光才单片机课程设计实例指导M北京:北京航空航天大学出版社2004.6 朱定华单片机原理及接口技术实验M北京:北方交通大学出版社2002.11.7 刘湘涛江世明单片机原理与应用M. 北京:电子工业出版社,2006.8 李广弟,单片机基础,北京:北京航空航天大学出版社,20019 李朝青.单片机原理机接口技术M,北京航空航天大学出版社2005.110 靳达.单片机应用系统开发实力导航M,人民邮电出版社2003.1011 沈红卫.基于单片机的智能系统设计与实现M,电子工业出版社200
34、5.1致谢本课题在选题及进行过程中得到张老师的悉心指导。论文行文过程中,张老师多次帮助我分析思路,开拓视角。张老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。在此,谨向张老师致以诚挚的谢意和崇高的敬意。经过一个月的时间,课程设计按照预期完成了,由于本人的知识水平有限,论文和设计中有遗漏和缺陷的地方恳请指正。感谢老师给了我莫大的帮助,在他悉心的指导和严格的要求下,作品和论文顺利完成了。论文从选题和最终完成,凝结着导师的辛勤的汗水,他不辞劳苦的教导、严谨的作风使我终生受益。在此设计完成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。 附录:数字时钟设计程序#include
35、<reg51.h>#include<intrins.h>#include<math.h>#define uchar unsigned char#define uint unsigned intsbit rs=P20;sbit rw=P21;sbit en=P22;sbit reset=P15;sbit sclk=P16;sbit io=P17;sbit DQ=P30;uint tvalue; uchar tflag;unsigned int disdata4;unsigned char led_seg10=0xC0,0xF9,0xA4,0xB0,0x99,0
36、x92,0x82,0xF8,0x80,0x90;/显示段码uchar str1="date: "uchar str2="time: "uchar init=0x00,0x10,0x16,0x05,0x08,0x03,0x09;/秒,分,时 void delay()uchar j;for(j=250;j>0;j-);void en_toggle()en=0;/_nop_();delay();en=1;delay();/ _nop_();en=0; /注意必须加延时,否则会出问题的void is_ready() P0=0x00;/设置为输入口 /注意:
37、现实中应该送0xff rs=0; rw=1; en=1; while(P0&0x80); en=0;void write_cmd(uchar cmd)/写指令/ is_ready(); rs=0;rw=0; P0=cmd; en_toggle(); _nop_();void write_data(uchar indata)/写数据/ is_ready(); rs=1; rw=0; P0=indata; en_toggle(); _nop_();void write_str(uchar addr,uchar *p)uchar i; write_cmd(addr);while(pi!=
38、39;0')write_data(pi); i+;void write_position(uchar row,uchar col)uchar p;if(row=1)p=0x80+col-1; write_cmd(p);elsep=0xc0+col-1; write_cmd(p); void init_lcd()/初始化/write_cmd(0x38);write_cmd(0x0c);write_cmd(0x06);write_cmd(0x01);/清屏幕void write_byte(uchar inbyte)uchar i;for(i=8;i>0;i-) sclk=0; /写的
39、时候低电平改变数据 if(inbyte&0x01) io=1; else io=0; sclk=1; /写的时候高电平,把数据写入ds1302 _nop_(); inbyte=inbyte>>1;void wr_com(unsigned char com)/写指令/ is_ready(); rs=0; rw=0; P0=com; delay(); en=1; delay(); en=0;void wr_dat(unsigned char dat)/写数据/ delay(); rs=1; rw=0; en=0; P0=dat; en_toggle(); _nop_();voi
40、d display(unsigned char *p)/显示/while(*p!='0')wr_dat(*p);p+;delay();init_play()/初始化显示/ init_lcd(); wr_com(0x80);display(str1);wr_com(0xc0);display(str2); /注意点:sclk的上升沿输入数据,sclk的下跳沿输出数据/读写时都是从第0位开始uchar read_byte() /sclk的下跳沿读数据uchar i,temp=0; io=1; /设置为输入口for(i=7;i>0;i-) sclk=0; if(io=1) te
41、mp=temp|0x80; else temp=temp&0x7f; sclk=1; /产生下跳沿 temp=temp>>1;return (temp);void write_ds1302(uchar cmd,uchar indata) reset=1; write_byte(cmd); write_byte(indata); reset=0; sclk=0;uchar read_ds1302(uchar addr)uchar backdata;reset=1;write_byte(addr);backdata=read_byte();/先写地址,然后读数据reset=0;
42、sclk=0;return (backdata);/-设置初始时间-void set_ds1302(uchar addr,uchar *p,uchar n)/写入n个数据 write_ds1302(0x8e,0x00);/写控制字,允许写操作 for(;n>0;n-) write_ds1302(addr,*p); p+;addr=addr+2; write_ds1302(0x8e,0x80);/写保护,不允许写/- 读取当前时间-void read_nowtime(uchar addr,uchar *p,uchar n)for(;n>0;n-) *p=read_ds1302(add
43、r); p+; addr=addr+2; void init_ds1302() reset=0; sclk=0; write_ds1302(0x80,0x00);/写控制字,允许写 write_ds1302(0x90,0x00); /-ds1302模块结束-/*ds18b20*/void delay_18B20(unsigned int i)/延时1微秒/ while(i-);void ds1820rst() /*ds1820复位*/ unsigned char x=0;DQ = 1; /DQ复位delay_18B20(2); /延时DQ = 0; /DQ拉低/delay_18B20(50);
44、 /精确延时大于480us/DQ = 1; /拉高/delay_18B20(20); uchar ds1820rd() /*读数据*/ unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-) DQ = 0; /给脉冲信号/ dat>>=1; DQ = 1; /给脉冲信号/ if(DQ) dat|=0x80; delay_18B20(5); return(dat);void ds1820wr(uchar wdata)/*写数据*/unsigned char i=0; for (i=8; i>0; i-) DQ =
45、0; DQ = wdata&0x01; delay_18B20(5); DQ = 1; wdata>>=1; read_temp()uchar a,b;ds1820rst(); ds1820wr(0xcc);ds1820wr(0x44);ds1820rst(); ds1820wr(0xcc); ds1820wr(0xbe); a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1;tvalue*=6.25;return(tvalue);/*/void ds1820disp() uchar flagdat; disdata0=tvalue/1000;/十位数 disdata1=tvalue%1000/100;/个位数/ disdata2=tvalue%100/10;/十分位数/ disdata3=tvalue%10;/百分数位/ if(tfl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智研咨询发布-2026年中国半导体溅射靶材行业市场运行态势及发展趋势预测报告
- 审计第一阅读人制度
- 出纳人员绩效考核制度
- 小企业财务报销规章制度
- 制定选人用人工作制度
- 审计局数据采集制度
- 媒介部绩效考核制度
- 安全文明教育培训制度
- 审计师轮换制度
- 厨房切配绩效考核制度
- 2026四川成都成华区智慧蓉城运行中心招聘编外人员4人考试备考试题及答案解析
- 2026年安徽城市管理职业学院单招职业倾向性考试题库含答案详解(能力提升)
- 生产型小微企业管理制度
- 2025年江西建设职业技术学院单招综合素质考试题库及答案解析
- 抗菌药物临床应用指导原则试题含答案
- 金属非金属地下矿山人行梯子间设置细则
- 领导干部任前法律法规知识考试题库(2025年度)及答案
- 2025福建厦门航空有限公司招聘备考题库及答案详解(易错题)
- 村集体三资管理培训课件
- (正式版)DB61∕T 2115-2025 《中深层地热能开发钻完井技术规程》
- 2026年保安员证考试题库完整版
评论
0/150
提交评论