路灯控制系统毕业设计论文_第1页
路灯控制系统毕业设计论文_第2页
路灯控制系统毕业设计论文_第3页
路灯控制系统毕业设计论文_第4页
路灯控制系统毕业设计论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要 STC89C52RC单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。本系统以毕业设计的题目要求为目的,采用8051单片机为控制核心,利用光敏传感器出检测环境的明暗变化以及路灯的工作状态,利用对射式红外线检测交通的情况,通过在硬件的基础上进行编程,利用软件达到路灯模拟系统的支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯;支路控制器应能根据环境明暗变化,自动开灯和关灯;路控制器应能根据交通情况自动调节亮灯状态;支路控制器能分别独立控制每只路灯的开灯和关灯时间;当路灯出现故障时(灯不亮),支路控制器应发出声光报警信号,并显示有故障路灯的地址编号。

2、整个系统的电路结构简单,可靠性能高。实验测试结果满足要求。采用的技术主要有:(1) 通过编程来路灯的状态。(2) 传感器的有效应用;(3) 新型显示芯片的采用. 关键词:STC89C52RC单片机 声光报警 光电传感器 红外传感器AbstractThe system USES the monolithic STC89C52RC as the core of the system simulation street lamp control. Infrared sensor by electric circuit, photosensitive feedback circuit, keyboar

3、d input and digital pipe display circuit, LED lamp circuit structure, voice and LED indicator light buzzer circuit, constant current source circuit. The clock by single-chip microcomputer system structure, using photoconductive resistance induction external environment light and dark change and dete

4、ction of LED lights, using state reflecting photoelectric sensor test the way information. Reliable hardware design and optimization software algorithm, and independent keyboard and seven period of digital tube makes street lamp of the control system of the operation is simple, intuitive, system has

5、 set up fault alarm function, make this a design more humane.Keyword: STC89C52RC Singlechip LED Indicator Fault alarm目 录第一章 前 言1第二章 方案设计与论证3一 直流调速系统3二 检测系统4三 显示电路9四 系统原理图9第三章 硬件设计10一 80C51单片机硬件结构10二 最小应用系统设计11三 前向通道设计12四 后向通道设计15五 显示电路设计17第四章 软件设计20一 主程序设计20二 显示子程序设计24三 避障子程序设计25四 软件抗干扰技术26五 “看门狗”技术

6、28六 可编程逻辑器件29第五章 测试数据、测试结果分析及结论30致 谢31参 考 文 献32附录A 程序清单33附录B 硬件原理图41第一章 绪论随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。设计的智能电动小车应该能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车。根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加装光电、红外

7、线、超声波传感器及金属探测器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用MCS-51系列中的80C51单片机。以80C51为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。80C51是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。它是第三代单片机的代表。第三代单片机包括了Intel公司发

8、展MCS-51系列的新一代产品,如8C15280C51FA/FB80C51GA/GB8C4518C452,还包括了PhilipsSiemensADMFujutsuOKIHarria-MetraATMEL等公司以80C51为核心推出的大量各具特色与80C51兼容的单片机。新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,将一些外部接口功能单元如A/DPWMPCA(可编程计数器阵列)WDT(监视定时器)高速I/O口计数器的捕获/比较逻辑等。这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加

9、灵活的方式。Philips公司还为这一代单片机80C51系列8C592单片机引入了具有较强功能的设备间网络系统总线-CAN(Controller Area Network BUS).新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。 本设计就采用了比较先进的80C51为控制核心,80C51采用CHOMS工艺,功耗很低。该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。尤其是在足球机器人研究方面具有很好的发展前景;在考古方面也应用到了超声波传感器进行检测。所以本设计与实际相结合,现实意义很强。第二章 方案设计与论证根据题目的要求,确定如下方案:利用光电

10、传感器和红外传感器进行外部路灯状态和交通状态的信息收集,然后将收集的数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对路灯的智能控制。这种方案能实现对路灯的工作进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。一 外部环境明暗的检测单元方案一:采用光敏二极管感受外届光照变化,无光照时,有很小的饱和反向漏电流,二极管截止;光照时反向电流增大,形成光电流。方案二:采用光敏电阻对光源的感应改变自身电阻,由电压比较器提取之间电压,考虑到电阻变化的灵敏度,采用两个光敏电阻串联的方式,通过改变与光敏电阻串联的电位器的值可以调节光敏电阻的感光范围。考虑到现实中声光控制技术的运用已经

11、证明了光敏电阻完全可以达到要求,且价格便宜,电路简单。综合考虑以上方案采用光敏电阻。二 路况的检测单元 方案一、采用摄像头或探测头收集路面上信息。用这种方法,对路面信息处理准确,但是成本过高,数据处理量大,对硬、软件的要求都非常高,短时间内难以实现。 方案二:使用反射式红外二极管和接收管组成发射-接收器。由于红外光波长比可见光长,因此受可见光的影响比较小,同时,红外对管还具有以下优点:质量轻,灵敏度高,线性好,接口电路比较简单,安装方便,足够满足对本系统中物体检测的要求。基于以上原因,选用了成本较低的方案二。 三 处理器的选择 单片机STC89C52RC作为模拟路灯控制系统的核心。STC89C

12、52RC 具有许多优点:RAM,ROM空间大、指令周期短、运算速度快、低功耗、低电压、可编程音频处理,易于编程和调试。本题要求支路控制器有声光报警功能,由此看来单片机STC89C52RC更具有优越性。第三章 硬件设计 一个单片机应用系统的硬件电路设计包含有两部分内容:一是系统扩展,即单片机内部的功能单元,如ROMRAMI/O口定时/记数器中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统配置,既按照系统功能要求配置外围设备,如键盘显示器打印机A/DD/A转换器等,要设计合适的接口电路。一 80C51单片机硬件结构80C51单片机是把那些作为控制

13、应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上2。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。1 微处理器该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。2 数据存储器片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的

14、工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。3 程序存储器由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。4 中断系统具有5个中断源,2级中断优先权。5 定时器/计数器片内有2个16位的定时器/计数器, 具有四种工作方式。6 串行口1个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。7 P1口、P2口、P3口、P4口为4个并行8位I/O口。8 特殊功能寄存器共有21个,用于对片内的个功能的部

15、件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。由上可见,80C51单片机的硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。二 最小应用系统设计 80C51是片内有ROM/EPROM的单

16、片机,因此,这种芯片构成的最小系统简单可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图3.1 80C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:(1) 有可供用户使用的大量I/O口线。(2) 内部存储器容量有限。(3) 应用系统开发具有特殊性。图3.1 80C51单片机最小系统1、时钟电路80C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。80C51单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,

17、内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。所以本设计中,振荡晶体选择6MHZ,电容选择65pF。在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用NPO电容。2、复位电路80C51的复位是由外部的复位电路来实现的。复位引脚RST

18、通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用6MHZ时C取22uF,R取1K。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。按键手动复位电路见图3.2。时钟频率选用6MHZ时,C取22uF,Rs

19、取200,RK取1K。图3.2 80C51复位电路三 键盘输入及数码管显示电路四 LED灯电路构成 LED的内在特征决定了它是最理想的光源去代替传统的光源,它有着广泛的用途。体积小 ,LED基本上是一块很小的晶片被封装在环氧树脂里面,所以它非常的小,非常的轻。耗电量低,LED耗电非常低,一般来说LED的工作电压是2-3.6V。工作电流是0.02-0.03A。这就是说:它消耗的电不超过0.1W。灯体内也没有松动的部分,这些特点使得LED可以说是不易损坏的。 五 蜂鸣器发生及LED指示灯电路 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、

20、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。而我们用的是压电式蜂鸣器,图如上所示,当我们是pnp三极管工作在饱和状态时,三极管输出低电平,反之三级管输出高电平,使得蜂鸣器发出声音。六 故障检测电路七 直流稳压电路 三端集成稳压电路,这是一种集成电路的稳压电路,其功能是稳定直流输出电压。这种集成电路只有三根引脚,使用很方便,在许多场合都有着广泛应用。稳压电路的作用是使得输出的直流电压在电网电压或负载电流发生变化时保持稳定。它由电源变压器、整流电路、滤波电路、稳压电路等4部分组成的。变压器的作用是将交流市电变换成所需要的交流电压;整流电

21、路的作用是将交流电变换成单向脉动直流电;滤波电路的作用是将脉动电压中的脉动成分去掉,输出比较平滑的直流电压;稳压电路的作用是使得输出的直流电压在电网电压或负载电流发生变化时保持稳定。第四章 软件设计系统软件设计说明:在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。为了完成上述任务,在进

22、行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是:1、 单个模块比起一个完整的程序易编写及调试;2、 模块可以共存,一个模块可以被多个任务在不同条件下调用;3、 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序定时子程序、避障子程序中断子程序显示子程序调速子程序算法子程序构成。一 主程序设计 主程序清单如下:软件流程 如图4.1流程图所示:图4.1 流程图二 显示子程序设计程序清单如下:三 避障子程序设计程序清单如

23、下:四 “看门狗”技术 PC受到干扰而失控,引起程序乱飞,也可能使程序陷入“死循环” 6。指令技术、软件陷阱技术不能使失控的程序摆脱“死循环”的困境,这时系统完全瘫痪。如果操作者在场,就可以按下人工复位安钮,强制系统复位。但操作者不能一直监视着系统,也往往是在引起不良后果之后才进行人工复位。为使程序脱离“死循环”,通常采用“看门狗技术”。“看门狗”技术就是不断监视程序循环运行时间,若发现时间超过已知的循环设定时间,则认为系统陷入了“死循环”,然后强迫程序返回到0000H入口,在0000H处安排一段出错处理程序,使系统运行纳入正规。“看门狗”技术可由硬件实现,可由软件实现,也可由两者结合实现。本

24、系统采用硬件“看门狗”电路。实现硬件“看门狗”电路方案较多,目前采用较多的方案有以下几种:1、 采用微处理器监控器;2、 采用单稳态电路来实现“看门狗”,单稳定电路可采用74LS123;3、 采用内带震荡器的记数芯片。本设计采用第三种方案实现“看门狗”电路,下面就对该方案作以介绍。(1)基本原理CD4060 是带震荡器的14位计数器,由该芯片构成的看门狗电路如图4.2看门狗电路图所示。4060记数频率由RT和CT决定。设实际的程序所需工作周期为T,分频器记满时间为T,当T>T 且系统正常工作时,程序每隔T对4060进行扫描一次,分频且永无记满输出信号。如系统工作不正常(如程序跑飞、死循环

25、等),程序对4060发不出扫描信号,分频器记满输出一脉冲号使CPU复位。(2)参数选择4060的振荡频率f由 RT 、CT决定。Rs用于改善振荡器的稳定性,Rs 要大于RT。一般取Rs=10RT,且RT>1k,CT100pF。如果Rs=450,RT=45,CT=1uF,则f=10HZ。4060的振荡频率和Qi(i=6,7,8,9,10,12,13,14)的选择要根据情况确定。(3)几个原则看门狗电路必须由硬件逻辑组成,不宜由可编程计数器充当,因为CPU失控后,可能会修改可编程器件参数,使看门狗失效。4060的RST线上阻容组成的微分电路很重要,因为扫描输入信号是CPU产生的正脉冲,若此信

26、号变“1”后,由于干扰,程序乱飞,微分电路只能让上跳沿通过,不会封死4060,看门狗仍能计数起作用。若没有微分电路,扫描输入信号上的“1”状态封死4060,使之不能记数,看门狗不起作用图4.2看门狗电路图CPU必须在正确完成所有工作后才能发扫描输入信号,且程序中发扫描信号的地方不能太多。否则,正好在哪里有死循环,看门狗就不产生记满输出信号,不能重新启动CPU。4060的记满输出信号不但要接到MCS-51的RST脚,而且还应接到其它芯片的RST脚,因为程序乱飞后,其它具有RST脚的芯片也混乱了,必须全部复位。4 系统测试4.1 总功率测量(室温条件下) 输入信号 频率 幅度 测量时域总功率(w)

27、测量频域总功率(w) 理论值估算误差 正弦波 100Hz 1 Vpp0.127 0.129 0.125 1.2% 1KH 1 Vpp 0.1260.129 0.125 1.3%音频信号 20Hz-10KHz20mVpp-5Vpp 0.783 0.761 X 5% 1.803 1.777 X 5% 结果分析: 由于实验室提供的能够模仿音频信号的且能方便测量的信号只有正弦信号,所以我们用一款比较差点的信号发生器产生信号,然后进行测量,发现误差不达,在+-5%以内。我们以音频信号进行测量,由于其实际值无法测量,所以我们只能根据时域和频域以及估计其误差,都在5%以内。4.2 单个频率分量测量(室温条件

28、下) 输入信号频率幅度最大功率频点最大功率频点功率次大功率频点次大功率频点功率正弦波500Hz100mVpp 500Hz1.20mw 520Hz0.04mW正弦波5KHz1Vpp 5KHz 120mw 5.02KHz3.56mw音频信号20Hz-10K X 880Hz 23mw 600Hz 4.3mw结果分析:我们首先以理论上单一频率的正弦波为输入信号,在理想状况下,其频谱只在正弦波频率上有值,而由于有干扰,所以在其他频点也有很小的功率。音频信号由于有多个频点,所以没有一定的规律性。由于音频信号波动较大,没有一定的规律,且实验室没有专门配置测量仪器,所以我们只好以正弦波和三角波作为信号进行定量

29、分析测量,以及对音频信号进行定性的分析和测量。我们发现其数字和用电脑模拟的结果符合得很近。5 结论本设计以单片机STC89C52RC系统为核心部件,采用光电检测技术,通过软件分时复用控制算法对系统进行优化,分模块实现赛题要求。在系统设计过程中,充分利用单片机的强大功能,力求以方便灵活的软件编程简化复杂难调的硬件电路,满足系统设计要求。坚持“人性化”理念,在具体设计中,使用键盘输入、七段数码管显示形成较为友好的人机交互界面。整机操作简单,使用方便,并很好的完成竞赛的全部要求。本设计主要特色:l 采用全集成混合信号在线系统单片机STC89C52RC主控系统,提高系统运行速度、简化硬件设计;l 优化

30、的软件算法,智能化的自动控制;l 传感器检测系统,采用光敏电阻与光耦传感器;l 信号通过光电耦合器传递,实现控制电路与供电驱动电路隔离;l 声光告警指示电路;在本次设计过程中,我们三人通力合作,排除万难,终于按时完成了赛题设计任务。在这短短的四天三夜比赛过程中我们不仅提高了自己解决问题的能力,而且深深体会到团队协作精神的重要性。参考文献:信号与系统,ALAN V.OPPENHEIM著,西安:西安交通大学出版社,1997年;数字图像处理学,元秋奇著,北京:电子工业出版社,2000年;模拟电子线路基础,吴运昌著,广州:华南理工大学出版社,2004年;数字电子技术基础,阎石著,北京:高等教育出版社,

31、1997年;数据结构与算法,张晓丽等著,北京:机械工业出版社,2002年;ARM&Linux嵌入式系统教程,马忠梅等著,北京:北京航空航天大学出版社,2004年;单片机原理及应用,李建忠著,西安:西安电子科技大学,2002年;附录:附1:元器件明细表:1、 D8255AC2、 STC89C523、 DAC08324、 ADC08095、 74LS2456、 液晶320*240附2:仪器设备清单1、 数字示波器2、 数字万用表 3、 信号发生器4、 稳压电源附3:电路图图纸附4:程序清单/*此程序是路灯模拟系统*/#include<reg52.h>#include<ab

32、sacc.h>/STC 应包含的头文件#include<math.h>/*以下是对p1口的位寻址定义*/sbit DIR=P20;sbit J1=P10;sbit J2=P11;sbit J3=P12;sbit J4=P13;sbit J5=P14;sbit J6=P15;sbit J7=P16;sbit J8=P17;/*以下是对8255的端口地址的宏定义*/#define a8255 XBYTE0X0FF7C#define b8255 XBYTE0X0FF7D#define c8255 XBYTE0X0FF7E#define con8255 XBYTE0X0FF7F#de

33、fine uchar unsigned char Unsignedcharcode table=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e;/此为自己做的板子上的数码管显示编码/*以下是对时分秒变量的声明*/int scount=0;/这是中断次数的计数寄存器unsigned int second=0;unsigned int minute=0;unsigned int hour=0;unsigned int hour_zong=7;unsigned int hour_zong_

34、c=10;unsigned int minute_zong=0;unsigned int minute_zong_c=0;unsigned int hour_zhi_1=13;unsigned int hour_zhi_1_c=16;unsigned int minute_zhi_1=0;unsigned int minute_zhi_1_c=0;unsigned int hour_zhi_2=20;unsigned int hour_zhi_2_c=22;unsigned int minute_zhi_2=0;unsigned char minute_zhi_2_c=0;unsigned i

35、nt zong;unsigned int zong_k;unsigned int zong_c;unsigned int zhi_2;unsigned int zhi_2_k;unsigned char zhi_2_c;unsigned int zhi_1;unsigned int zhi_1_k;unsigned int zhi_1_c;/*以下是按键复用的变量的声明*/unsigned char x=0;unsigned char y=0;unsigned char z=0;/*按键扫描部分-判断哪一个按键被按下*/unsigned char temp,temp1,temp2;unsign

36、ed char key=0;unsigned char key_down=0; unsigned char key2=0;unsigned char a,b,k;/*以下是一段大约6ms的延时*/void delay()uchar i,j,k; for(i=1;i>0;i-) for(j=2;j>0;j-) for(k=200;k>0;k-);/*以下是一段大约防抖的延时*/void delay_1() uchar d,e,f; for(d=10;d>0;d-) for(e=10;e>0;e-) for(f=200;f>0;f-);/*以下是声光报警部分的延

37、时程序*/void delay_2() uchar ii,jj,kk; for(ii=2;ii>0;ii-) for(jj=50;jj>0;jj-) for(kk=100;kk>0;kk-);/*以下是8255的初始化*/void init8255() con8255=0x80; c8255=0xff;/colse light /*以下是定时器0的初始化*/void timer0_init() TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; TR0=1; ET0=1; /*关闭定时器0*/void

38、close_timer() EA=0; ET0=0; TR0=0; /*以下是定时器0的定时部分也是中断服务子程序*/void timer0(void) interrupt 1 using 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; scount+; if(scount=20) scount=0; second+; if(second=60) second=0; minute+; if(minute=60) minute=0; hour+; if(hour=24)hour=0; /*以下是定时器0的数码管显示部分,人机对话窗口*/void d

39、isplay() b8255=0x40; a8255=tablesecond/10; delay(); b8255=0x80; a8255=tablesecond%10; delay(); b8255=0x10; a8255=tableminute/10; delay(); b8255=0x20; a8255=tableminute%10; delay(); b8255=0x04; a8255=tablehour/10; delay(); b8255=0x08; a8255=tablehour%10; delay(); void display_zong() b8255=0x40; a8255

40、=table0; delay(); b8255=0x80; a8255=table0; delay(); b8255=0x10; a8255=tableminute_zong/10; delay(); b8255=0x20; a8255=tableminute_zong%10; delay(); b8255=0x04; a8255=tablehour_zong/10; delay(); b8255=0x08; a8255=tablehour_zong%10; delay(); void display_zong_c() b8255=0x40; a8255=table0; delay(); b8

41、255=0x80; a8255=table0; delay(); b8255=0x10; a8255=tableminute_zong_c/10; delay(); b8255=0x20; a8255=tableminute_zong_c%10; delay(); b8255=0x04; a8255=tablehour_zong_c/10; delay(); b8255=0x08; a8255=tablehour_zong_c%10; delay(); void display_zhi_1() b8255=0x40; a8255=table0; delay(); b8255=0x80; a82

42、55=table0; delay(); b8255=0x10; a8255=tableminute_zhi_1/10; delay(); b8255=0x20; a8255=tableminute_zhi_1%10; delay(); b8255=0x04; a8255=tablehour_zhi_1/10; delay(); b8255=0x08; a8255=tablehour_zhi_1%10; delay(); void display_zhi_1_c() b8255=0x40; a8255=table0; delay(); b8255=0x80; a8255=table0; dela

43、y(); b8255=0x10; a8255=tableminute_zhi_1_c/10; delay(); b8255=0x20; a8255=tableminute_zhi_1_c%10; delay(); b8255=0x04; a8255=tablehour_zhi_1_c/10; delay(); b8255=0x08; a8255=tablehour_zhi_1_c%10; delay(); void display_zhi_2() b8255=0x40; a8255=table0; delay(); b8255=0x80; a8255=table0; delay(); b825

44、5=0x10; a8255=tableminute_zhi_2/10; delay(); b8255=0x20; a8255=tableminute_zhi_2%10; delay(); b8255=0x04; a8255=tablehour_zhi_2/10; delay(); b8255=0x08; a8255=tablehour_zhi_2%10; delay(); void display_zhi_2_c() b8255=0x40; a8255=table0; delay(); b8255=0x80; a8255=table0; delay(); b8255=0x10; a8255=t

45、ableminute_zhi_2_c/10; delay(); b8255=0x20; a8255=tableminute_zhi_2_c%10; delay(); b8255=0x04; a8255=tablehour_zhi_2_c/10; delay(); b8255=0x08; a8255=tablehour_zhi_2_c%10; delay(); void display_1() b8255=0x01; a8255=table1; delay(); void display_2() b8255=0x02; a8255=table2; delay(); /*按键扫描控制部分*/voi

46、d keyscan() con8255=0x89; /read 8255 port c temp=c8255; /read 8255c low 4 key_down=temp; temp1=temp&0x0f; /key ascii=temp if(temp1!=0x0f) delay(); if(temp1=0x07) key=1,delay_1(),delay_1(); else if(temp1=0x0b) key=2,delay_1(),delay_1(); else if(temp1=0x0d) key=3,delay_1(),delay_1(); temp2=temp&0xf0; /key ascii=temp if(temp2!=0xf0) delay(); if(temp2=0xe0) key=4,delay_1(),delay_1(); else if(temp2=0xd0) key=5,delay_

温馨提示

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

评论

0/150

提交评论