电气自动化技术毕业设计_第1页
电气自动化技术毕业设计_第2页
电气自动化技术毕业设计_第3页
电气自动化技术毕业设计_第4页
电气自动化技术毕业设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、沈阳大学沈阳大学 毕毕 业业 设设 计计题目 模拟交通灯 系别 机电系 专业 电气自动化技术 班级 电气 0401 姓名 学号 指导教师 日期 2007 年 12 月 沈阳大学i设计任务书设计题目:设计题目:模拟交通灯设计要求:设计要求:1.在十字路口的两个方向上各设一组红绿黄灯,显示顺序为: 其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯。2.设置一组数码管,以倒计时的方式显示允许通过或禁止通行的时间,其中左转灯、绿灯、黄灯、红灯的持续时间分别是 15s、30s、3s、48s。3.当各条路上任意一条出现特殊情况,例如消防车、救护车或其他需要优先放行的车辆时,各方向上均是红灯亮,

2、倒计时停止,且显示数字在闪烁,当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。设计进度要求:设计进度要求:第一周第二周指导教师(签名):指导教师(签名): 沈阳大学ii摘要设计以单片机为核心部件的模拟交通灯,利用 74ls244 作为断码驱动器,74ls07 作为位码驱动,led 七断数码管作为计时显示用,用发光二极管指示交通的通行,用按键进行紧急事件的发生,使两个方向都亮红灯,绿灯亮通行,红灯亮停止通行。本设计利用定时器进行定时,使定时器工作于方式一定时 50ms,配合软件计数器,调用中断程序使定时器定时 20 此,达到定时 1s 的目的,同时调用显示程序,显示到计时的时间,用单片机

3、 intel89s51 作为核心部件,8 路 74ls244 总线驱动器作为字形驱动芯片和 6 路驱动 74ls07 位选码作为中心器件来设计交通灯控制器,实现了交通灯的控制,显示时间直接通过 89s51 的 p0、p1 口输出;交通灯信号通过p3 口输出;按件通过 p3 口输入,本交通灯系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。关键词:单片机,交通灯,位码,段码,显示沈阳大学i目录摘要 .ii1 单片机的发展及应用 .11.1 单片机的发展.11.2 单片机的应用 .12 总体方案设计 .32.1 系统框图 .32.2 计时控制方案.32.3 显示控制方案.3

4、2.4 键盘控制方案.43 硬件设计 .53.1 89s51 单片机的简介 .53.2 89s51 单片机的引脚 .63.3 89s51 单片机复位方式 .73.4 74ls244 的功能 .73.5 74ls07 的功能 .83.6 键盘接口工作原理.93.7 七段 led 显示工作原理.103.8 电路原理.114 软件设计 .134.1 定时秒的方法.134.2 定时器初值计算.134.3 主程序模块.134.4 中断服务程序模块.154.5 显示程序模块.165 系统调试 .186 结 论 .20致谢 .21参考文献 .22附录 a.23沈阳大学11 单片机的发展及应用1.11.1 单

5、片机的发展单片机的发展单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。 1971 年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是 1 位的,处理能力有限。单片机的发展分为 4 个阶段: 第一阶段(197476 年):单片机初级阶段。因为受工艺限制,单片机采用单片的形式而且功能比较简单。例如美国仙童公司生产的 f8 单片机,实际上只包括了8 位 cpu,64 个字节的 ram 和 2 个并行接口 第二阶段(197678 年):低性能单片机阶段。以 intel 公司生产的

6、mcs48 系列单片机为代表,该系列单片机片内集成有 8 位 cpu,8 位定时器/计数器,并行 i/o 接口,ram 和 rom 等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内 ram 和 rom 容量较小,且寻址范围不大与 4kb。第三阶段(197883)高性能单片阶段这个阶段推出的单片机普遍带有串行接口。多级中断系统,16 位定时器/计数器,片内 rom,ram 容量加大,且寻址范围可达 64kb,有的片内还带有 a/d 转换器。第四阶段(1983 年至今)8 位单片机巩固发展以及 16 位单片机,32 位单片机推出阶段。此阶段的主要特征是:一方面发展 16 位单片机,32

7、位单片机及专用型单片机;另一方面不断完善高档 8 位单片机,改善其结构,增加片内器件,以满足不同的客户要求。1.21.2 单片机的应用单片机的应用 单片机的应用很广,分别在以下领域中得到了广泛的应用。工业自动化:在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。在工业自动化的领域中,机电一体化技术将发挥愈来愈重沈阳大学2要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和

8、危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。仪器仪表:目前对仪器仪表的自动化和智能化要求越来越高。在自动化测量仪器中,单片机应用十分普及。单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展。消费类电子产品:该应用主要反映在家电领域。目前家电产品的一个重要发展趋势是不断提高其智能化程度。例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、ic 卡、汽车电子设备等。在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制信方面:较高档的单片机都具有通信接口,因而为单片

9、机在通信设备中的应用创造了很好的条件。例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用。武器装备:在现代化的武器装备中, 如飞机、军舰、坦克、导单、鱼雷制导、智能武器设备、航天飞机导航系统,都有单片机在其中发挥重要作用。终端及外部设备控制:计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。沈阳大学32 总体方案设计2.12.1 系统框图系统框图 交通灯控制的总体设计框图如图 2.1

10、所示。 图 2.1 系统框图2.22.2 计时控制方案计时控制方案利用 mcs-51 内部的定时器/计数器进行定时,配合软件延时实现到计时。该方案节省硬件成本,切能够使读者在定时器/计数器的使用、中断及程序设计方面得到锻炼与提高,2.32.3 显示控制方案显示控制方案显示分为静态示和动态显示静态显示由于占用较多的接口,在单片机设计中常采用串行扩展来完成。该方案占用接口资源多,显示亮度由保证,但硬件开销大,电路复杂,信息刷新速度慢,实用于并行接口资源较少以及对显示没有要求的场合。led 动态显示硬件连接简单,但动态扫描的显示方式需占用 cpu 较多的时间,在该系统中由于单片机除了扫描 89s51

11、 芯片外没有太多的实时测控任务,故选用动态扫描方式。 显示时间电路指示灯电路7474急停按键 系 统 处 理重起按键沈阳大学42.42.4 键盘控制方案键盘控制方案键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一跟 i/o 接口线,i/o 接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根 i/o 接口线上,故只在按键数量不多时采用。而行列式键盘每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省 i/o 接口。本设计采用两个按键,所以这里选用独立式键盘。

12、沈阳大学5 并 行/ 接 口存储器 并 行/ 接 口中断系统定时器/计数器3 硬件设计3.13.1 89s5189s51 单片机的简介单片机的简介 89s51 是 mcs-51 系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。89s51 单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:图图 3.13.1 单片机内部结构示意图单片机内部结构示意图1、中央处理器 中央处理器(cpu)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制

13、数据或代码,cpu 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(ram) 89s51 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的 ram 只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。3、程序存储器(rom)沈阳大学689s51 共有 4kb 掩膜 rom,最大可扩展 64k 字节,用于存放用户程序,原始数据或表格。4、定时/计数器:89s51 有两个 16 位的可编程定时/计数器,

14、以实现定时或计数产生中断用于控制程序转向。5、并行输入输出(i/o)口:89s51 共有 4 组 8 位 i/o 口(p0、 p1、p2 或 p3),用于对外部数据的传输。6、中断系统89s51 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。3.23.2 89s5189s51 单片机的引脚单片机的引脚89s51 单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89s51有 40 条引脚, 与其他 51 系列单片机引脚是兼容的. 这 40 条引脚可分为 i/o 接口线、电源线、控制线、外接晶体线 4 部分.

15、 89s51 单片机为双列直插式封装结构, 如图 3.2所示.图 3.2 89s51 引脚分配图 89s51 单机的电源线有以下两种:(1) vcc:+5v 电源线。电源线 (2) gnd:接地线。89s51 单片机的外接晶体引脚有以下两种: 沈阳大学7(1)xtal1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2) xtal2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。 控制线 89s51 单片机的控制线有以下几种:(1) rst:复位输入端,高电平有效。(2

16、) ale/prog:地址锁存允许/编程线。(3) psen:外部程序存储器的读选通线。(4) ea/vpp:片外 rom 允许访问端/编程电源端。 3.33.3 89s5189s51 单片机复位方式单片机复位方式单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位. 复位的作用是使中央处理器 cpu 以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作.89s51 单片机的复位靠外部电路实现,信号由 reset(rst)引脚输入,高电平有效,在振荡器工作时,只要保持 rst 引脚高电平两个机器周期,单片机即复位. 复位后,pc程序

17、计数器的内容为 0000h,片内 ram 中内容不变. 复位电路一般有上电复位、手动开关复位和自动复位电路 3 种,如图 3.3 所示. a.上电复位电路 b. 手动复位电路 c. 自动复位电路图 3.3 单片机复位电路3.43.4 74ls24474ls244 的功能的功能74ls244 是原码三态输出的 8 缓冲数码驱动器,其管脚分布图如图 3.4 所示,g为控制端,又称为使能端其工作原理如下: 10kmax750pesetwdcwdi10fp1.0vccrst+5v89c511kvccrstgnd+5v c10f r8.2k89c5189c51 r8.2k c10f+5vgndrstvc

18、c沈阳大学8当 g=0 时,a 输入为低电平时,y 输出也为低电平。当 g=0 时,a 输入为高电平时, y 输出为高电平。当 g=1 时,a 不论输入高电平还是低电平 y 为高阻状态功能表如表 3.1 所示:表 3.1 74ls244 的功能表 图 3.4 74ls244 管脚图3.53.5 74ls0774ls07 的功能的功能74ls07 是六缓冲的数码驱动器,它是有 6 个集电极开路的非门所组成,管脚分布如图 3.5 所示,其工作原理如下,当使能端为低电平时,输入为高电平时输出也为高电平,当输入为低电平时输出也为低电平,其逻辑表达式为:y=a 图 3.5 74ls07 管脚图74ls2

19、442a11y42a21y32a31y22a41y12gvccgnd2y11a42y21a32y31a22y41a11g2019181716151413121110987654321输出输入zxhhhllllyga74ls074y4a5y5a6y6avccgnd3y3a2y2a1y1a1234567891011121314沈阳大学93.63.6 键盘接口工作原理键盘接口工作原理在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。3.6.13.6.1 按键开关的去除抖动功能按键开关的去除抖动功能目前, mcs51 单片机应用系统上的按

20、键常采用机械触点式按键,它在断开、闭合时输入电压波形如图 3.6 所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为 510ms。由于抖动,会造成被查询的开关状态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,cpu 多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证 cpu 对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。后沿前沿识别区安键过程 图 3.6 按键过程3.6.23.6.2 独立式键盘的接口电路独立式键盘的接口电路独立式键盘的接口电路:在单片机应用系统

21、中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根 i/o 接口线上,这种连接方式的键盘称为独立式键盘。如图 3.7 所示,每个独立按键单独占有一根 i/o 接口线,每根 i/o 接口线的工作状态不会影响到其他 i/o 接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根 i/o 线,i/o 接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,i/o 接口线有确定的高电平。当 i/o 接口内部有上拉电阻时,外电路可以不配置上拉电阻。沈阳大学10图 3.7 独立式键盘电路3.73.7 七段

22、七段 ledled 显示工作原理显示工作原理led 显示器是由发光二极管显示字段的 mcs-51 单片机输出设备。单片机应用系统常采用七段 led 数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。因此应用比较广泛。led 数码管显示器可以分为共阴极和共阳极两种结构。(1)共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段输入高电平该段便发光,如图 3.8a 所示。(2)共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,如图 3

23、.8b 所示。 a .共阴极 b .共阳极图 3.8 七段 led 显示器 (3)led 动态显示接口:led 动态显示就是利用单片机依次输出每一位数码管的k1k2k3k4k5k6k7k8p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7+5v89s51沈阳大学11段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对每位数码管来说,每隔一段时间点亮一次,如此循环。利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。在动态显示方式中,同一时刻,只有一位 led 数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持 1ms

24、 左右,这个时间应根据实际情况而定。不能太小,因而发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。但也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用 cpu 时间也越多。采用动态显示方式比较节省 i/o 接口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,cpu 要依次扫描,占用 cpu 较多的时间。用 mcs-51 单片机构建七段数码管动态显示系统时,4 位数码管均采用共阴极led,p0 接口作为段选码输出口,8 路驱动采用 74ls244 总线驱动器作为字形驱动芯片,经过 8 路驱动电路后接至数码管的各段,字形驱动输出

25、0 时发光。p2 接口作为位选码输出口,4 路驱动采用 74ls07(oc 门驱动器) ,当 c 接口线输出 1 时,选通相应位的数码管工作。3.83.8 电路原理电路原理电路的核心是 89s51 单片机,其内部带有 4kb 的 flashrom,无须扩展程序存储器;电脑没有大量的运算和暂存数据,现有的 128b 片内 ram 已能满足要求,也不必扩展片外 ram,系统配备 4 位 led 显示和 2 个单接口键盘,采用 p0 接口外接 8 路反相三态缓冲器 74ls244 作 led 动态扫描的段码控制驱动信号,用 p1 接口的 p1.0-p1.3 外接一片集电极开路反相门电路 74ls07

26、 做为 4 位 led 的位选信号驱动口, led 共阴极端与 74ls07 的输出端相连;按键接口,由 p2.0,p2.1 来完成。p3 口接交通指示灯,整个系统采用查表的方发,将交通灯的显示情况和数码管的计时情况,分别以代码的形式送到指示灯和 led 数码管,启动定时器,同时调用显示程序,和查询按键。利用软件计数器的方法计时一秒,利用中断的方法使计时时间循环,当按下应急按键时停止定时器,送一个代码使两个方向都亮红灯,按下一个按键时启动定时器,恢复循环。如图 3.9 所示沈阳大学12ea/vp31x119x218reset9rd17wr16int012int113t014t115p101p1

27、12p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324p2425p2526p2627p2728psen29ale/p30txd11rxd10vcc40gnd20u189s511g1a121y118a241y216a361y314a481y412vcc20gnd102g19b1112y19b2132y27b3152y35b4172y43u274ls244r1res2r2res2r3res2r4res2r5res2r6res2r7res2r8res2r9res2r10res2r11

28、res2r12res2r13res2r14res2r15res2r16res2r17res2r19res2r20res2s3sw-pbs1sw-pbs2sw-pbd1ledd2ledd3ledd4ledd5ledd6ledd7ledd8ledc1cap1a11y22a32y43a53y6gnd74y84a95y105a116y126a13vcc14u3lede1d23c4dp5b6a78f9g10abcdefgd12lede1d23c4dp5b6a78f9g10abcdefgd13lede1d23c4dp5b6a78f9g10abcdefgd14lede1d23c4dp5b6a78f9g10a

29、bcdefgd15ledvccvccvccvcc图 3.9 电路原理图沈阳大学134 软件设计4.14.1 定时秒的方法定时秒的方法定时方法我们采用软硬件结合的方法,在主程序中设定一个初值为 20 的软件计数器使定时器 0 工作于方式 1 定时 50 毫秒,这样每当 t0 到 50 毫秒时 cpu 就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,cpu 先使软件计数器减 1,然后判断它是否为零。为零表示 1 秒已到。4.24.2 定时器初值计算定时器初值计算定时器工作时必须给计数器送初值,将这个值送到 th 和 tl 中。他是以加法记数的,并能从全 1 到全 0 时自动产生

30、溢出中断请求。因此工作于方式 1,定时器为 16位计数器其定时时间由下式计算:定时时间=(216x)振荡周期12(或)x=216定时时间振荡周期12式中 x 为 t0 的初始值,该值和计数器工作方式有关。如单片机的主脉冲频率为,经过分频方式 0定时时间213 1 微秒8.192 毫秒方式 1定时时间216 1 微秒65.536 毫秒秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题,定时器需定时 50 毫秒,故0 工作于方式 1,定时 20 次,就可定时一秒。 4.34.3 主程序模块主程序模块主程序初始化和按键控制,首先将时间、中断、次数、和显示分别进

31、行初始化,然后启动定时器对时间进行判断,将时间送数据缓冲区,调用显示程序,同时扫描按键程序,用无条件跳转指令返回, 再调用显示程序,如此周而复始的循环,如图4.1 所示沈阳大学14保存表地址查时间表查灯状态表扫描按键调用显示启动t0显示初始化次数初始化中断初始化t0初始化开始图 4.1 主程序流程图主程序:初值:x=216定时时间振荡周期1221650ms/1us=15536=3cb0h,th0=3ch , tl0=0b0h。 org 0000h ajmp start org 0030hstart: mov tmod, #01h; 令0 为定时器方式 mov th0, #3ch ;装入定时器初

32、值 mov tl0, #0b0h setb ea ;开0 中断setb tf0 sebt t0 ;启动0 计数器沈阳大学15 mov r0, #20h ;软件计数器赋初值 ljmp $ ;等待中断4.44.4 中断服务程序模块中断服务程序模块进入中断程序后,先保护现场,判断一秒钟到了吗?如果没有到将定时器重装初值恢复现场,返回主程序,如果一秒钟到了,将软件计数器重初值;判断指示灯循环显示完了吗?如果没完,将保地址重新送入程序计数器中,然后再查表下一地址,显示下一组指示灯状态和显示时间,保存下一组程序数据地址,将定时器重装初值,恢复现场,返回主程序,如果完了,查表首地址,查时间地址,保存下一地址

33、,将定时器重装初值,恢复现场,返回主程序。同时一秒到了应先判断个位是否为 0,如果个位是 0,判断十位是不是 0,如果十位也是 0,判断交通灯是否安黄、绿、红的顺序循环完必,如果没循环完应查下一组数据继续循环,如果循环完必,应查表首地址,周而复始的循环,如果十位不是 0,应将十位先减 1,个位送 9,然后返回,再进行中断定时一秒,然后再判断,如果个位不是 0,应将个位减 1,将定时器重装初值,恢复现场。重新周而复始的循环,如图 4.2 所示。沈阳大学16图 4.2 中断程序流程图4.54.5 显示程序模块显示程序模块显示程序采用动态显示,由位码控制那一个数码管显示,由段码控制数码管显示什么数值

34、,根据中断程序显示时间来查表显示数值,从第一位到第四位逐个点亮,同时每显示一位判断一次四位显示完了吗?没有显示完进行显示下一位,显示完了从头开始再循环。如图 4.3 所示沈阳大学17 将段码送口将位码送口调用延时判断显示完了吗?子程序返回将位码左移将下一段码送口显示程序入口图 4.3 显示程序流程图 desplay: mov r2 , #01h ;将位码送 r2mov r0 , #30 ;将段码送 r0next3: mov a , r0 mov dptr , #tab2movc a , a+dptrmov p0 , a ;将段码送 r0mov p1 , r2 ;将位码送 r2lcall del

35、ay1 ;调用延时程序mov a , r2jb acc.3 , u2 ;显示完转 u2rl a ;未显示完,将未码左移mov r2 , a ;将位码重送、r2 中inc r0 ;指向 31hljmp next3 u2: ret ;显示返回沈阳大学185 系统调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,其运行是软硬件相结合的,因此,软硬件的调试也是绝对不可能分开的。 程序的调式应一个模块一个模块地进行,单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最

36、后逐步将各个子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下: 将所要调试的程序输入道伟福 6000 中,然后进行编译,根据系统的提示查找原因将出错的地方调整正确,例如:有的时标号未定义,有的时少标点符号等。最后以 asm 扩展名保存。将在伟福中调试好的程序方入 keil 内,将单片机实验相与计算机连接,然后在keil 中进行编译程序,运行程序,根据单片机所显示的结果分析程序,修改程序直到程序正常。在调试过程中出现的问题:(1)指示灯显示不正常,经分析原因在与灯的表格列的不对,指示灯输出低电瓶时亮,结果程序中都是以高电瓶

37、输出,经修改后正常(2)数码管从 15 到计时,当减到 11 时直接变成了 9,而没有经过 10,经过对整个程序的分析也没能够找到问题,后经老师的讲解分析最后发现是程序设计的错误,在计时时间到时,必须先判断个位是否为 0,如果个位是 0,判断十位是不是0,如果十位也是 0,判断交通灯是否安黄、绿、红的顺序循环完必,如果没循环完应查下一组数据继续循环,如果循环完必,应查表首地址,周而复始的循环,如果十位不是 0,应将十位先减 1,个位送 9,然后返回,再进行中断定时一秒,然后再判断,如果个位不是 0,应将个位减 1,而不能先减 1 再判断,而我开始设计的正好与此相反,我先减 1 后进行判断,然后

38、又减 1 所以就出现了这种现象,经改正数码管能够按设定的数据变化。(3)紧急事件发生时,按下急停按键时两个方向都亮红灯,而数码管不会闪烁,沈阳大学19经老师帮助当按键按下时,在按键服务程序中向数据缓冲器中送入#16h 即可。沈阳大学206 结 论依据本论文设计以 89s51 单片机为核心的交通灯,经过近 4 个月的设计,最后按设计要求终于在单片机实验箱上试验成功,选择不同的单片机,可以组成具有较强抗干扰能力和运行可靠性的产品,其抗干扰能力虽然不如 plc,但 plc 价格较贵,用单片机运行效果仍然令人满意,同时证明了本方案的正确性。这种交通灯比较适合应用于中小型城市的十字路口,如果将本方案加上

39、定时器和传感器比较适合应用于大种型城市,它能根据时间的变化自动调节交通灯的时间,或根据车流量的大小自动调节时间的长短,效果会更佳。沈阳大学21致谢本课题在选题及研究过程中得到郭继红老师的悉心指导。郭老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。郭老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时三载,却给以终生受益无穷之道。对郭老师的感激之情是无法用言语表达的。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都

40、能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。我在指导老师郭老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,这对我今后进一步学习单片机方面的知识有极大的帮助。在此,我忠心感谢郭继红指导和支持。在未来的工作和学习中,我将以更好的成绩来回报老师。在此,我还要感谢在一起愉快的度过大学生生活的机电系全体老师和同门,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。 在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里

41、请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!沈阳大学22参考文献1 王玉龙.数字逻辑.北京.高等教育出版社,19872 傅承义.地球物理学基础.北京.科学出版社,1985,4473 华罗庚,王元.论一致分布与近似分析. 北京.中国科学,1973(4):3393574 张筑生.微分半动力系统的不变集研究.学位论文.北京.数学系统学研究所,1983黑体 3 号字居中,段前、段后 0.5 行沈阳大学23附录 a org 0000h ljmp start org 000bh ljmp ctc0 org 0030hstart: mov tmod , #01h ;定时器 t0 初

42、始化 mov th0 , #3ch ;定时器 t0 初始化 mov tl0 , #0b0 ;定时器 t0 初始化 mov r3 , #20 ; 定时器次数初始化mov r5 , #03 ; 循环次数初始化mov 30h , #16h ;数据缓冲区初始化mov 31h , #16h ;数据缓冲区初始化mov 32h , #16h ;数据缓冲区初始化mov 33h , #16h ;数据缓冲区初始化 setb ea ;总允许中断 setb et0 ;t0 允许中断 setb tr0 ;启动 t0 mov dptr ,#tab ;置表格 tab 起始值 clr a movc a ,a+dptr mov

43、 p3 , a ;查表将结果送 p3 口inc dptrclr amovc a ,a+dptrmov r4 , a ;查表下一地址,结果送寄存器 r4mov 30h ,a ;将结果送 30hinc dptr沈阳大学24clr amovc a , a+dptrmov r6 , a ;查表下一地址,将结果送 r6mov 31h , a ;将结果送 31h inc dptrclr amovc a , a+dptrmov r7 , a ;查表下一地址,将结果送 r7mov 32h , a ;将结果送 32h inc dptr clr amovc a , a+dptrmov r2 , a ;查表下一地址

44、,将结果送 r7mov 33h , a ;将结果送 32hinc dptrmov 50h , dph ;将下一地址送 50h 和 51h mov 51h, dplloop: lcall display ;调用显示程序 jb p1.0 , loop1 ;k1 键未按下,转 loop1 lcall delay1 ;延时 10ms 消除抖动 jb p1.0 , loop1 ;k1 键未按下,转 loop1loop2 jnb p1.0 , loop2 ;k1 键按下,顺序执行 k1 键功能 mov a , p0 mov p0 , #11h ;送 11h 到 p0 口,使两个方向的灯都亮红灯clr tr

45、0 ;定时器停止计数mov 30h , #16hmov 31h , #16hmov 32h , #16h沈阳大学25mov 33h , #16hanjian: jb p1.1 , loop ;k2 键未按下,转 looplcall delay ;延时 10ms 消除抖动jb p1.1 , loop ;k2 键未按下,转 loopl2 : jnb p1.1, l2 ;k2 键按下,顺序执行 k2 键功能setb tr0 ;重新启动定时器mov p0 , a ;将状态送 p0 口ljmp loopctco: push acc ;保护现场 push pswdjnz: r3 , next2 ;定时器一

46、秒未到转 next2mov r3, #20 ;定时一秒到,送 20 到 r3mov a,r4cjne a, #0ff , l15 ;(主干道)判断个位,个位不等 0,转l15mov a, r6 ;个位等 0 顺续执行cjne a,#0ffh , l16 ; 判断十位,十位不等 0,转 l16ljmp l17 ; 十位等 0,转 l17l16: dec r6 ; 十位减 1mov r4 , #09 ; 个位送 9ljmp l8l15 : djnz r4, l8 ;个位不为 0 时,个位减 1l17; djnz r5 , ll1 ;未循环完,转 ll1mov r5 , #05 ;循环寄存器重装初值mov dptr , #tab1 ;将 tab1 首地址送 dptrljmp ll2l8: mov a, r7cjne a,#0ffh ,l11 ;(直干道)判断个位,个位不等 0,转沈阳大学26l11mov a,r

温馨提示

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

评论

0/150

提交评论