课程设计(论文)基于单片机的智能交通灯控制系统设计_第1页
课程设计(论文)基于单片机的智能交通灯控制系统设计_第2页
课程设计(论文)基于单片机的智能交通灯控制系统设计_第3页
课程设计(论文)基于单片机的智能交通灯控制系统设计_第4页
课程设计(论文)基于单片机的智能交通灯控制系统设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、目录一.引言11.1 道路交通控制的发展背景11.2 道路交通控制的目的和作用11.3基于单片机的智能交通灯控制系统设计的意义1二.单片机概述22.1什么是单片机22.2单片机发展概况32.3 单片机的特点和应用32.4单片机的类型3三芯片简介53.1芯片简介53.2单片机的种类和型号63.3 at89c51的结构和性能8四系统硬件设计114.1 交通管理的方案论证114.2系统硬件设计11五系统软件设计125.1主程序设计125.2 硬件调试14六结论15七附图16一.引言1.1 道路交通控制的发展背景随着经济发展,城市化速度加快,机动车辆占有量急剧增加,由此引发出日益严重的交通问题:交通拥

2、挤甚至堵塞,交通事故频繁,空气和噪声污染严重,公共运输系统效率下降等。解决这一问题通常有两种办法,一种是修路造桥,这对道路交通状况的改善是一种最直接的办法,但它需要巨额的投资,且在城市中心区受拆迁的限制,很难实施另一种是在现有的道路交通条件下,实施交通控制和管理,充分发挥现有道路的通行能力,大量事实已经证明这种方法的有效性。 通常,一个经验丰富的交通警察能在极短的时间内把一个交叉路口的交通阻塞缓解或解除,但他的作用范围往往局限于单个交叉路口。而现代的道路交通非常复杂,常常是几个或几十个甚至是成百上千个路口互相关联,在这种情况下,任何一个经验丰富的交通警察都无能为力了因此,人们越来越关注把先进的

3、科学技术用于交通管理,从而促进了交通自动控制技术的不断发展。1.2 道路交通控制的目的和作用道路交通控制的目的可定义为:在确定的行政规定约束下,采用合适的营运 方法来确保公共和私人运输方式具有最佳的交通运行状态。围绕这一目的研制出的道路交通控制系统,把受控对象看成一个整体,采用对交通流科学地时间分割的方法,最大限度地保证交通流运动的连续性,使受控区域的交通流减少冲突,同时平稳地、有规则地运动。道路交通控制的作用主要表现为以下几个方面: (1) 改善交通秩序,增加交通安全。 (2) 减少交通延误,提高经济效益。 (3) 降低污染程度,保护生态环境。(4) 节省能源和土地消耗。1.3基于单片机的智

4、能交通灯控制系统设计的意义 目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。针对道路交通拥挤,交叉路口经常出现拥堵的情况。利用单片机控制技术提出了软件和硬件设计方案及两点改进措施:

5、1、根据各道路路口车流量的大小自动调节通行时间。2、考虑特殊车辆通行情况,设计紧急切换开关。二.单片机概述2.1什么是单片机将中央处理器(cpu)、存储器、输入/输出接口、定时器/计数器等多种资源集成在一个半导体芯片上,使得一块集成电路芯片就能构成一个完整的微型计算机。这种集成电路芯片被称为单片微型计算机(single chip microcomputer),简称单片机。又称单片微控制器(简称mcu)和嵌入式微控制器(embedded micro controller unit,emcu)。单片机的结构框图如下。 单片机是一种集成电路芯片,采集超大规模集成电路技术把具有数据处理能力(

6、如算数运算、逻辑运算、数据传送、中断处理)的微型处理器,随机存取数据存储器(ram)、只读程序存储器(rom)、输入/输出电路(i/o),可能还包括定时/计数器、串行通信口(sci)、显示驱动电路(lcd或led驱动电路)、脉宽调制电路(pwm)、模拟多路转化器及a/d转化器等电路集成到一片芯片上,构成一个最小而又完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效的完成程序设计者事先规定的任务。由此看来,单片机有着微处理器所不具备的功能,它可以单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成

7、电路,如果赋予它特定的程序,它便是一个最小的完整的微型计算机控制系统,它与单板机或个人电脑(pc)有着本质的区别。单片机的应用属于芯片级应用,需要用户了解单片机芯片的结构和指令系统,以及其它集成电路应用技术和系统设计所需的理论与技术,用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。 22单片机发展概况单片机的发展历史并不长,从intel公司生产出第一块单片机开始,单片机发展极为迅速,集成度越来越高,应用范围愈来愈广。到目前为止,单片机的发展主要经历了四个阶段。第阶段(19701974年):为4位单片机阶段。这种单片机的特点是:价格便宜,控制能力强。第二阶段(19741978

8、年):为低、中档8位单片机阶段。此类单片机一般不带串行i/o口,片内ram和rom容量小,寻址范围通常为4k字节。第三阶段(19781982年):为高性能8位单片机阶段。这类单片机是在低中档单片机的基础上发展起来的,因而其性能有明显的提高。第四阶段(1982年至今):为8位单片机性能提高和16位、32位单片机推出阶段。 2.3 单片机的特点和应用1单片机的特点(1)性价比高。单片机性能稳定,功能强大,价格便宜。(2)体积小、集成度高、速度快、可靠性高。(3)控制功能强。(4)单片机系统配置灵活、方便。(5)单片机类型多。2单片机的应用(1)工业控制。(2)智能化仪器仪表。(3)计算机

9、网络与通信。(4)家用电器。2.4单片机的类型1单片机的主要生产厂商及产品公 司典型产品系列intelmcs-48、mcs-51、mcs-96系列philips与mcs系列兼容的51系列motorolamc68系列atmel与mcs系列兼容的51系列microchippicl6c5x系列zilogz8系列 2mcs51系列单片机mcs51系列是高档8位单片机。成为当前工业测控类应用系统的优选单片机。mcs51系列单片机包括下列型号: 8051/8751/8031 这3种芯片常称为8051子系列,它们结构和功能相同,ram为128b,区别仅在于片内程序存储器。 8052/8752/80

10、32 是8051/875l/8031的改进型,常称为8052子系列。其片内rom和ram比8051子系列各增加倍,rom为8kb,ram为256b;另外增加了个定时器/计数器和个中断源。 80c51/87c51/80c31 这3个型号是8051子系列的chmos型芯片,其片内存储器与8051子系列相同,称为80c51子系列。chmos型芯片的基本特点是集成度高和功耗低。 (2)与mcs51系列兼容的单片机在众多的51系列单片机中,at89系列单片机在我国得到了极其广泛的应用。at89系列单片机是美国atmel公司的8位单片机产品。它的特点是片内含有flash存储器,flash存储器是

11、一种电擦除和电写入的闪速存储器(记为fperom),在系统的开发过程中可以很容易地进行程序修改,使开发调试更为方便。at89系列单片机有3类: 标准型 主要有at89c51、at89lv51、at89c52和at89lv52 四中型号, 低档型 主要有at89c1051、at89c2051两种型号。除并行i/o端口数较少外,其他部件和at89c51基本相同,引脚只有20条。 高档型 主要有 at89s51、at89s52和at89s53等型号,其中at89s51有4k可下载flash存储器,at89s52有8k可下载flash存储器,at89s53有12k可下载flash存储器,下载功能是由p

12、c机通过89系列单片机的串行外围接口spi实现的。不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构,用户要使用某种单片机,必须了解该型产品是否满足需要的功能和应用系统所要求的特性指标。这里的技术特征包括功能特性、控制特性和电气特性等等,这些信息需要从生产厂商的技术手册中得到。软件特性是指指令系统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式、数据处理和逻辑处理方式,输入输出特性及对电源的要求等等。开发支持的环境包括指令的兼容及可移植性,支持软件(包括可支持开发应用程序的软件资料)及硬件资料。要利用某型号单片机开发自己的应用系统,

13、掌握其结构特性和技术特性是必需的。三芯片简介3.1芯片简介通用型是一种基本芯片,如市场上常见的mcs-51、atmel、philips、avr、pic、winbond等系列的单片机产品,他们的资源比较丰富,性能全面,适用性强,在生产、科研等得到广泛应用,本课程所介绍的单片机是通用型单片机。 专用型单片机也叫专用微处理器,是专门针对某个特定产品而设计的,各方面均经过最优化的考虑,具有十分明显的综合优势。例如数码相机、手机、洗衣机功能控制器、空调控制器、ic卡读写器中所应用的单片机等。 以单片机芯片为核心组建的一个能完成特定应用功能的硬件组合实体,称为单片机的硬件系统。 软件是指用来完成一定任务的

14、所有程序及数据,即为运行、管理和维护计算机所编制的程序的总和。软件系统简单,不需要复杂的操作系统进行系统管理,只有简单的管理程序(监控程序)和完成具体任务的应用程序。简单的应用系统,只有为实现控制目的的应用程序。 单片机应用系统编程方式:汇编语言和高级语言。单片机的特点1、单片机的存储器rom和ram是严格区分的 rom称为程序存储器,只存放程序、固定常数及数据表格。 ram则为数据存储器,用作工作区及存放用户数据。2、采用面向控制的指令系统 为满足控制的需要,单片机有更强的逻辑控制能力,特别是具有很强的位处理能力。3、单片机的i/o引脚通常是多功能的 由于单片机芯片上引脚数目有限,为了解决实

15、际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法。引脚处于何种功能,可由指令来设置或由机器状态来区分。4、单片机的外部扩展能力强 在内部的各种功能部分不能满足应用需求时,均可在外部进行扩展(如扩展rom、ram,i/o接口,定时器/计数器,中断系统等),与许多通用的微机接口芯片兼容,给应用系统设计带来极大的方便和灵活性。5、体积小,成本低,运用灵活 易于产品化,它能方便地组成各种智能化的控制设备和仪器,做到机电一体化。6、面向控制 能针对性地解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。7、适应性强、抗干扰 在各种恶劣的环境下都能可靠地工作,这是其它类型计算机无法比拟的。8

16、、方便实现多机和分布式控制使整个控制系统的效率和可靠性大为提高3.2单片机的种类和型号8位单片机:mcs-51系列及其兼容机型(占主导地位) atmel、philips、winbond非mcs-51系列单片机 motorola68hc05/08系列 、pic单片机、atmel的avr 16位单片机:intel的mcs-96/196系列 、ti的msp430系列 、motorola的68hc11系列 32位单片机:motorola、toshiba、hitach、nec、epson、mitsubishi芯片的可靠性及温度等级:民用级:070 工业级:-4085 军用级:-65125片内rom供应状

17、态:片内无rom 、片内带rom 、片内带eprom、片内带e2prom 、片内带flash 半导体工艺状态:hmos 、cmos、 chmosmcs-51单片机系列及兼容系列mcs-51单片机可分为2个子系列和4种类型。2个子系列为: 51子系列和52子系列,其中51子系列是基本型,如8031、8051、8751;52子系列是增强型,如8032、8052、8752。它们以芯片型号最末位数字的“1”和“2”作区分标志。4种类型为:无片内rom、有片内掩模rom 、有eprom或opt rom、eeprom或flash rom。分类情况如下面的表1.1所示。 在产品型号中凡是不带字母“c”的为h

18、mos工艺芯片,带有字母“c”的芯片即为chmos工艺芯片,如80c31、80c51、87c51、89c51等。目前常用的与mcs-51系列的兼容芯片:mcs-51增强型单片机: mcs-51系列单片机除了89c51之外,主要包括89c52、89c54、89c58、89c516等型号,它们的区别主要是三个方面:一是片内ram由128b增加到256b;二是多一个定时器/计数器;三是片内flash rom由4kb分别增加到了8kb、16kb、32kb和64kb。不同厂家的产品可能还增加有其它外设或功能,但引脚和指令都是完全兼容的。为了讨论方便起见,将89c51(包括8031、8051等)称为基本型

19、,其他的型号称为增强型。atmel89系列单片机atmel公司生产的89系列单片机是市场上比较具有代表性的mcs-51单片机。(1)atmel89系列单片机型号说明 at89系列单片机型号由三个部分组成,它们分别是前缀、型号、后缀,其格式如下: at89c(lv、s)xxxx-xxxx前缀 前缀由字母“at”组成,它表示该器件是atmel公司的产品。型号 型号由“89cxxxx”或“89lvxxxx”或“89sxxxx”等表示。“9”表示芯片内部含flash存储器;“c”表示是cmos产品;“lv”表示低电压产品;“s”表示含可下载的flash存储器。“xxxx”为表示型号的数字,如:51、5

20、2、2051、8252等。后缀 后缀由“xxxx”四个参数组成,与产品型号间用“-”号隔开。 后缀中第一个参数“x”表示速度后缀中第二个参数“x”表示封装 后缀中第三个参数“x”表示温度范围 后缀中第四个参数“x” 说明产品的处理情况2)at89c51单片机 at89c51单片机特点: 与mcs-51产品完全兼容; 具有4k字节可在系统编程的flash内部程序存储器,可写/擦1000次; 全静态操作:0hz24mhz; 三级程序存储器加密; 128字节内部ram; 2个16位定时器/计数器; 6个中断源; 可编程串行uart通道; 低功耗空闲和掉电方式; 32根可编程i/o线;(3)at89s

21、52单片机 at89s52单片机特点: 与mcs-51产品兼容; 具有8k字节可在系统编程的flash内部程序存储器,可写/擦1000次; 4.0v5.5v的工作电压范围; 全静态操作:0hz24mhz; 三级程序存储器加密; 256字节内部ram; 全双工异步串行通信通道; 低功耗空闲和掉电方式; 通过中断中止掉电方式; 看门狗定时器;两个数据指针。stc 89c51rc/rd系列单片机特点如下: 增强型6/12时钟/机器周期8051 cpu; 工作电压:5.5v3.4v(5v单片机)/ 3.8v2.0v(3v 单片机); 工作频率范围:040mhz,相当于普通8051 的080mhz; 用

22、户应用程序空间 4k 64k 字节; 片上集成1280字节/512字节ram; 通用i/o口32 / 36 个; isp(在系统可编程)/iap(在应用可编程),无需专用编程器/仿真器; 内部e2prom 功能; 硬件看门狗; 内部集成max810专用复位电路(d版本才有),外部晶体20m以下时,可省外部复位电路; 共3个16位定时器/计数器; 外部中断4路; 通用异步串行口,还可用定时器软件实现多个uart; 工作温度范围:0 75,4085; 封装:lqfp-44 ,pdip-40 , plcc -44 , pqfp-44 。常见的其它系列单片机介绍avr单片机 motorola单片机 m

23、icrochip单片机,scenix单片机 epson单片机 东芝单片机 gms90单片机 华邦单片机 zilog单片机 ns单片机 ax1001单片机由于本实验模版采用的是at89c51,所以做详细介绍:3.3 at89c51的结构和性能at89c51是美国atmel公司生产的低电压、高性能cmos 8位单片机,片内含4kb的可反复擦写的程序存储器和128b的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内配置通用8位中央处理器(cpu)和flash存储单元,功能强大的at89c51单片机可灵活应用于各种控制领域。主要性能

24、参数l 与mcs-51产品指令系统完全兼容l 4kb可反复擦写flash闪速存储器l 1000次擦写周期l 时钟频率范围:0hz24mhzl 3级加密程序存储器l 128*8b内部raml 32个可编程i/o接口线l 2个16位定时/计数器l 6个中断源l 可编程串行uart通道l 低功耗空闲和掉电模式功能特性概述at89c51提供以下标准功能:4kb的flash闪速存储器,128b内部ram,32个i/o接口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式

25、停止cpu的工作,但允许ram、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。引脚功能如图2-4所示at89c51芯片引脚图vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能

26、接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其

27、特殊功能寄存器的内容。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.

28、7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。图2-4 at89c51芯片引脚图rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指

29、令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反

30、向振荡器的输出。极限参数l 工作温度:-55+125l 储藏温度:-65+15l 任一引脚对地电压:-1.0v+7.0vl 最高工作电压:6.6vl 直流输出电流:15.0ma四系统硬件设计4.1 交通管理的方案论证方案:硬件材料规格:面包板1块、40脚基座1个、双色led灯4个、470欧姆电阻8个、10uf电容1个、20pf电容2个、12mhz石英晶振1个。利用at89s51单片机的p0口控制四只双色led灯,来模拟十字路口交通灯的工作方式。交通灯变化规律:十字路口是东西南北走向,初始状态为状态s1(南北绿灯、东西红灯),延时8秒后转状态s2(南北绿灯闪烁2次变黄灯,东西红灯),延时4秒后转

31、状态s3(东西绿灯,南北红灯),延时8秒后转状态s4(东西绿灯闪烁2次变黄灯,南北红灯),延时4秒后跳转到状态s1循环。并且利用串行口以工作方式0在led上显示时间。此处双色led灯有3只引脚,工作时中间引脚接地,另外两只引脚单独接高电平,一种亮红灯,一种亮绿灯(最短引脚),两只引脚同时接高电平时,亮黄灯。方案分析:模拟交通灯控制器就是使用单片机来控制一些led 和数码管,模拟真实交通灯的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。单片机可选用at89c51,它与8051系列单片机全兼容,但其内部带有4kb的flas

32、h rom,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的io口不够用时,可以考虑扩展8255或8155满足系统的要求。根据设计要求,程序框图如图1所示。软件可由汇编语言完成,也可由c语言完成。4.2系统硬件设计设计所需器件:面包板1块、40脚基座1个、双色led灯4个、470欧姆电阻8个、10uf电容1个、20pf电容2个、12mhz石英晶振1个。东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指

33、挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。60s 5s 80s 5s 东西道 红灯亮 黄灯亮 绿灯亮 黄灯亮 南北道 绿灯亮 黄灯亮 红灯亮 黄灯亮 附:单片机的最小系统atmel公司生产的at89c51单片机它是硬件电路的核心部分,时钟电路晶振使用12mhz,复位电路采取按键复位方式。单片机系统的时钟电路五系统软件设计5.1主程序设计5.1.1每秒钟的设定 延时方法可以有两种一中是利用1内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。5.1,2计数器硬件延时5.1.3 计数

34、器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到th和tl中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为c和计数初值设定为tc 可得到如下计算通式: tc=m-c式中,m为计数器摸值,该值和计数器工作方式有关。在方式0时m为213 ;在方式1时m的值为216;在方式2和3为285.1.4 计算公式 t=(mtc)t计数 或tcmtt计数 t计数是单片机时钟周期tclk的12倍;tc为定时初值如单片机的主脉冲频率为tclk12mhz ,经过12分频方式0 tmax213 1微秒8192毫秒方式1 tmax216 1微

35、秒65536毫秒 显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题5.1.5 1秒的方法 我们采用在主程序中设定一个初值为20的软件计数器和使t0定时50毫秒这样每当t0到50毫秒时cpu就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,cpu先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。5.1.6相应程序代码(1)主程序 定时器需定时50毫秒,故t0工作于方式1。 初值: tcmt t计数 216 50ms/1us=15536=3cboh org 1000h start: mov tmod

36、, #01h ; 令to为定时器方式1 mov th0, #3ch ;装入定时器初值 mov tl0, #boh ; mov ie, #82h ;开t0中断 sebt tro ;启动t0计数器 mov ro, #14h ;软件计数器赋初值loop: sjmp $ ;等待中断(2)中断服务子程序 org 000bh ajmp brt0 org 00bh brto:djnz r0,next ajmp time ; 跳转到时间及信号灯显示子程序 djnz:mov ro,14h ;恢复r0值 mov th0, #3ch ;重装入定时器初值 mov tl0, #boh ; mov ie, #82h re

37、t1end5.1.7软件延时 mcs-51的工作频率为2-12mhz,我们选用的8031单片机的工作频率为6mhz。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6m)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。 具体的延时程序分析: delay:mov r4,#08h 延时1秒子程序 de2:lcall delay1 djnz r4,de2 retdelay1:mov r6,#0 延时125ms 子程序 mov r5,#0de1: djnz r5,$ djnz r6,de1 ret mov rn,#data 字节数数为2 机器周期数为1所以此指令的执行时间为2ms delay1 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125us delay r4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒 由于单片机的运行速度很快其他的指令执行时间可以忽略不计。 软件调试主要是利用proteus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。5.2 硬

温馨提示

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

评论

0/150

提交评论