智能交通灯控制系统设计_第1页
智能交通灯控制系统设计_第2页
智能交通灯控制系统设计_第3页
智能交通灯控制系统设计_第4页
智能交通灯控制系统设计_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南工程学院等级:课 程 设 计课程名称 单片机原理及应用 课题名称 智能交通灯控制系统设计 专 业 自动化 班 级 学 号 姓 名 指导教师 王迎旭 李晓秀 2014年 12月1日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理及应用 课 题 智能交通灯控制系统设计 专业班级 自动化 学生姓名 xxx 学 号 指导老师 王迎旭 李晓秀 审 批 任务书下达日期 2014年 12月 1 日任务完成日期 2014年 12月14日设计内容与设计要求设计内容:本课题要求以单片机核心,设计一个智能交通灯控制系统。使其能模拟城市十字路口的交通灯功能,并能满足控制的特殊要求(有三个按键输入),以便

2、处理特殊事件。 设计要求:1)分析开发系统的硬件构成; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行单元电路及应用程序的调试;6)写出使用说明书。主 要 设 计 条 件1.控制十字路口四个方向的红、黄、绿型号灯的正常工作,规则应符合我国交通法规的规定;2.南北方向的准行基本时间均为60秒(可在线调整);3.在交通状况发生特殊情况时,可进行特殊处理:1)消防车、救护车通过时,按下K1建,关闭倒计时器,四个路口同时黄色灯闪烁5秒然后,转为红灯亮,只允许紧急车辆通过,K1建松开,交通控制回复正常;2)K2、K3键分别为南北和东西方向车辆多时的特殊处理,功

3、能自行定义。说 明 书 格 式封面课程设计任务书目录第1章 概述(课题设计的要求、目的及意义)第2章 系统总体方案选择与说明(系统硬件电路设计框图与工作原理)第3章 硬件电路设计(各部分电路设计、原理、参数计算、I/O分配等)第4章 应用软件设计(流程图、算法等)*第5章 系统仿真调试第6章 硬件调试与结果分析(开发板焊接、性能测试、结果、操作说明)第7章 总结(系统设计小结:已完成的工作、效果、特色、不足与展望)致谢参考文献 附录A 系统硬件电路原理图附录B 程序清单评分表进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍下午:借阅有关资料,总体方案讨论星期二、确定

4、总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五 小系统焊接与调试;第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献参考文献1 王迎旭等.单片机原理及及应用.机械工业出版社.2012年2 3 4目 录第1章 概述 1.1课题设计要求 -11.2课题设计目的及意义 -2第2章 系统总体方案选择与说明 21系统方案设计 -32.2 系统总体方案说明 -3第3章 硬件电路设计 3.1 时钟振荡电路和复位电路 -43.2 交通灯指示灯电路模块 -53.2.1指示灯- 53.2.

5、2各交通灯正常状况下转换表 -53.3 7段共阳极数码管显示电路 -63.4 按键电路-73.5 门铃电路-9第4章 应用软件设计4.1主程序模块 -104.2 按键模块 -124.2.1 按键查询模块 -12 4.2.2 K5 k6 k7按键模块 -144.2.3 K1按键模块 -15第5章 硬件调试与结果分析5.1硬件调试操作过程 -165.2 各键的调试 -165.2.1 按下K1键调试 -165.2.2 K2键的调试 -175.2.3 K3键的调试 -185.2.4 K4键的调试 -185.2.5 K5键的调试 -195.2.6 K6键的调试 -195.2.7 K7键的调试 - 205

6、.2.8 K8键的调试 -20第6章 总结 6.1 课程设计的总结 -216.2特色 -216.3不足 -21附件 附件A -22附件B -23 26第1章 概述1.1 课题设计要求当今社会机动车数量多,十字路口交通经常出现拥堵和交通事故的问题。为解决此问题。本课题是秉着为交通提供便利,减少堵车时间和交通事故的原则设计的智能交通灯系统。利用STC89C52单片机,KEIL软件,PROTUES软件完成智能交通灯的原理设计,软件设计,硬件调试。设计要求如下1)控制十字路口四个方向的红、黄、绿型号灯的正常工作,规则应符合我国交通法规的规定;2)南北方向的准行基本时间均为60秒(可在线调整);3)在交

7、通状况发生特殊情况时,可进行特殊处理:K1为紧急情况处理键。消防车、救护车通过时,按下K1建,关闭倒计时器,四个路口同时黄色灯闪烁5秒然后,转为红灯亮,只允许紧急车辆通过,K1建松开,交通控制回复正常;K2、K3键分别为南北和东西方向车辆多时的特殊处理,功能自行定义。K4键为复位键。K5、K6键分别为交警人员根据现场情况对东西方向通行时间做出调整的自动加1和减1功能键。K7键为暂停键。按一次暂停,显示当前时间。再按一次从调整好的时间开始显示并倒计时。K8为夜晚至凌晨期间车辆较少情况处理键,所有方向黄灯闪烁并所有显示时间为六十。1.2 课题设计目的及意义1)用来指导车辆和人群正确的通行,以减少交

8、通事故的发生率。2)系统有东西和南北方向车辆多的处理键,可减少交通道路拥挤情况发生。3)系统有紧急情况处理键,可以为110,120,119,节约时间。更好的服务人民群众。4)交警人员根据现场情况对东西方向通行时间做出调整的自动加1和减1功能键。可以更实时有效的调节灯,疏导交通。5)K8为夜晚至凌晨期间车辆较少情况处理键,所有方向黄灯闪烁并所有显示时间为六十,期间车辆可以观察周围车辆情况,通过交通路口。为夜间行驶车辆节约时间。第2章 系统总体方案选择与说明2.1 系统总体方案设计 该系统采用STC89C52单片机。主要分为时钟震荡电路,指示灯电路,7段共阳极数码管显示电路和倒计时电路,按键电路。

9、 图2-1 系统设计总框图2.2 系统总体方案说明 时钟振荡电路和复位电路由单片机内部构成。P1口连接六个模拟交通灯信号灯的发光二极管做指示灯显示电路。P0口做数码显示管的段码,P2口做数码显示管的位码,两者结合构成数码显示管电路。按键电路由P2口直接驱动,P2.5,P2.4做行线,P2.0-P2.3做列线,构成4*2矩阵键盘。P3.7接蜂鸣器构成响铃电路。 第3章 硬件电路设计3.1 时钟振荡电路和复位电路时钟振荡电路由单片机内部构成。单片机外部引脚XTAL1,XTAL2分别接在晶振两端,XTAL1,XTAL2分别通过电容C1,C2后接地。电容C1为30PF, C2为30PF。 图3-1时钟

10、振荡电路接线图 复位电路由按键和一个上拉电阻R1,下拉电阻R2和电容C3构成。按下按键,系统复位,同时C3充电。其中C3和R2构成放电释放通道,是保护电路。C3为22uF,R1,R2为10K。 图3-2 复位电路接线图3.2 交通灯指示灯电路模块3.2.1 指示灯 该交通灯系统采用六个发光二极管来模拟东西方向和南北方向交通指示灯情况。每个方向都有红绿黄三个灯。D1,D2,D3为东西方向红绿黄灯,D4,D5,D6为南北方向红绿黄灯。P1口通过各指示灯与上拉电阻相连。各指示灯的点亮顺序和倒计时的时间由单片机扫描按键和调用程序来实现控制。 表2-1 P1口各I/O口与指示灯的对应情况P1口各I/O口

11、与指示灯的对应情况东西方向南北方向P1.0红灯P1.5红灯P1.1绿灯P1.6绿灯P1.2黄灯P1.7黄灯 图3-3 指示灯电路接线图3.2.2 各交通灯正常状况下转换表 上电后,东西南北方向所有黄灯闪烁5秒后,东西方向绿灯亮30秒并进入倒计时。南北方向红灯亮35秒并进入倒计时。当东西方向红灯熄灭同时,南北方向黄灯闪烁5秒,结束后,切换成南北方向绿灯亮30秒并进入倒计时,东西方向红灯亮35秒并进入倒计时,当南北方向红灯熄灭同时,东西方向黄灯闪烁5秒,结束后,切换成东西方向绿灯亮30秒,南北方向红灯亮35秒南北方向,黄灯闪烁。表2-2各交通灯正常状况下转换表状态东西方向南北方向红灯绿灯黄灯注释红

12、灯绿灯黄灯注释1灭灭亮通行提示灭灭亮通行提示2亮灭灭红灯亮黄灯闪烁灭亮灭绿灯亮3亮灭闪烁灭灭灭全灭4灭亮灭绿灯亮亮灭灭红灯亮黄灯闪烁5灭灭灭全灭亮灭闪烁3.3 7段共阳极数码管显示电路 7段共阳极数码管显示电路分段码和位码两部分。P0通过电阻接段码,位选通过9015和电阻连接P2口的高4位。四个显示管都共用段码,用STC89C52单片机的P0口送数码管的段码,紧接着用P2口给数码管送位码。通过这种方法,逐步的给4个数码管送段码、位码,实现动态显示。表3-3P0口各I/O口与显示管段码的对应情况P0口各I/O口与显示管的对应情况P0.0aP0.4eP0.1bP0.5fP0.2cP0.6gP0.3

13、dP0.7dp表3-4 P2口与显示管位选线的对应情况位线1位线2位线3位4P2.7P2.6P2.5P2.4 图3-4数码管显示电路接线图3.4 按键电路系统总共有K1,K2,K3,K4,K5,K6,K7,K8八个按键,故采用4*2的矩阵键盘。行线接P2口的P2.5和P2.4。列线接P2口的低四位。在按下键时,STC89C52单片机根据程序来查询按键和执行相应的按键功能。1)K1为紧急情况处理键。消防车、救护车通过时,按下K1建,关闭倒计时器,四个路口同时黄色灯闪烁5秒然后,转为红灯亮,只允许紧急车辆通过。第二次按下K1键,交通控制恢复正常;2)K2、K3键分别为东西和南北方向车辆多时的特殊处

14、理 。通行时间为60秒,红灯亮65秒,黄灯闪5秒。3)K4键为复位键。按下该键交通灯恢复上电的情况。4)K5、K6键分别为交警人员根据现场情况对东西方向通行时间做出调整的自动加1和减1功能键。通常该键与K7配合使用。5)K7键为暂停键。按一次暂停,显示当前时间。再按一次从调整好的时间开始显示并倒计时。通常该键与K5,K6配合使用.6)K8为夜晚至凌晨期间车辆较少情况处理键,所有方向黄灯闪烁并所有显示时间为六十。可避免交通事故发生。表2-4 各键与行线.列线的对应关系行线列线S1S2S3S4H1K1K2K3K4H2K5K6K7K8其中H1接P2.5,H2接P2.4,S1接P2.0,S2接P2.1

15、,S3接P2.2,S4接P2.3. 图3-5 按键电路接线图3.5 门铃电路 门铃电路由蜂鸣器构成,由P3口的P3.7控制。单片机则通过控制P3.7从而控制蜂鸣器的响与不响。在此次设计中,按键则调用门铃程序,即按键的同时,门铃响。故我们可以根据门铃有无响声判断是否有键按下,或者说按下是否有效。 图3-5 门铃电路接线图第4章 应用软件设计本次智能交通灯控制系统可以将系统分为几个模块,每个模块通过相对应的接线连接组成一个完整的系统。包括以下系统模块:(1) 主程序模块,通过主程序模块完成主要计时显示工作。(2) 数码管显示模块,通过数码显示完成倒计时时间的显示。(3) 按键扫描模块,通过按键扫描

16、完成对于基准时间调整的功能模块。4.1 主程序模块上电初始化后,查询有无键按下,有键按下执行该按键功能模块,并且通过按键扫描来确定倒计时时间。无键按下时,首先南北方向所有黄灯闪烁5秒后,东西方向绿灯亮30秒并进入倒计时。南北方向红灯亮35秒并进入倒计时。通过按键来调用bell程序和延时程序,并进行延时时间初始化设置。东西为红灯时比南北方向的绿灯多5s,5s为南北的黄灯闪烁时间,然后东西方向由红灯跳为绿灯,南北方向的绿灯先跳到5s黄灯再跳为红灯,反之一样,方向发生改变。图4-1 主程序流程总图4.2 按键模块4.2.1 按键查询模块先调用键盘查询程序查询有无键按下,然后判断是K1按下吗?是则门铃

17、响,执行K1键功能,不是则查询K2是否按下?是则门铃响,执行K2功能,延长东西方向通行时间为60秒,南北方向红灯亮;不是则转查询K3是否按下?是则门铃响,执行K3功能,延长南北方向通行时间为60秒,东西方向红灯亮;不是则转查询K4是否按下?是则门铃响,复位上电的情况,东西南北方向所有黄灯闪烁5秒后,东西方向绿灯亮30秒并进入倒计时。南北方向红灯亮35秒并进入倒计时;不是则转查询K5是否按下?是则门铃响,东西方向通行时间加一,南北方向红灯亮的时间加一;不是则转查询K6是否按下?是则门铃响,东西方向通行时间减一,南北方向红灯亮的时间减一;不是则转查询K5是否按下?是则门铃响,判断K7是第一次按下?

18、是则暂停;不是则查询K7是第二次按下?是则恢复显示,并且对计数单元初始化为0.不是跳出K7查询,查询K8是否按下?按下则门铃响,东西南北方向所有黄灯闪烁5秒后,东西南北方向数码管均显示为60秒。不是则再进入查询入口,开始新的一轮查询。以此类推,重复执行上述操作。图4-2 按键查询流程图634.2.2 K5,k6,k7按键模块K7按键有两个功能,第一次按下时暂停,第二次按下时,则按当前显设定值显示。其中7FH单元用来存按下的次数,初始化为0.并且按一次自动加一。按下K7,暂停,可对东西方向通行时间进行调整,K5东西方向通行时间加一,K6东西方向通行时间减一,再按K7,按当前显设定值显示。 图4-

19、3 按键k5k6k7功能流程图4.2.3 K1按键模块K1按键有两个功能,第一次按下时暂停,第二次按下时,则恢复正常。其中B用来存按下的次数,初始化为0.并且按一次自动加一。图4-4 按键k1功能流程图第5章 硬件调试与结果分析5.1 硬件调试操作过程 硬件调试前,把编好的汇编程序写进KEIL 软件,经编译无错误后,通过调试工具,把程序生成HEX文件并下载到单片机里,接好硬件的接线,进行调试。接线方法如下:A到DP接P0.0到P0.7,VCC,GND分别接VCC,GND.W1到W4接P2.7到P2.4,S1到S4接P2.0到P2.3,H1接P2,.5,H2接P2.4。5.2 8个键的调试5.2

20、.1 按下K1键调试K1按键有两个功能,第一次按下时暂停,所有黄灯闪五秒后,东西方向和南北方向数码管显示为99。第二次按下时,则恢复正常。 图5-1 第一次按下K1的调试图 图5-2为按下K1后五秒后的显示图5.2.2 K2键的调试按下K2,延长东西方向通行时间为60秒。南北方向红灯亮65秒,5秒倒计时时,南北方向黄灯闪烁5秒。倒计时为0时,东西方向和南北方交换交通灯亮灭情况。 图5-3 按下K2键的调试图5.2.3 K3键的调试按下K3,延长南北方向通行时间为60秒。东西方向红灯亮65秒,5秒倒计时时,东西方向黄灯闪烁5秒。倒计时为0时,东西方向和南北方交换交通灯亮灭情况。 图5-4 按下K

21、3键的调试5.2.4 K4键的调试按下K4,进行复位。恢复上电后的情况,所有黄灯闪五秒后,南北绿灯亮30秒,东西红灯亮35秒,倒计时为5秒时,南北方向黄灯闪烁5秒。倒计时为0时,东西方向和南北方向交换交通灯亮灭情况。 图5-5 按下K4键的调试5.2.5 K5键的调试按下K7时暂停,再按下K5,对东西方向的时间进行加一手动调节,同时南北方向的红灯时间加一。 图5-6 按下K5键的调试5.2.6 K6键的调试按下K7时暂停,再按下K6,对东西方向的时间进行减一手动调节,同时南北方向的红灯时间减一。 图5-7 按下K6键的调试5.2.7 K7键的调试K7按键有两个功能,第一次按下时暂停,第二次按下

22、时,则按当前显设定值显示。图6-8 按下k7键的调试5.2.8 K8键的调试按下K8,开启深夜模式。所有黄灯闪五秒,所有方向灯显示60秒。 图6-9 按下k8键的调试第6章 总结6.1 课程设计的总结 两个星期的单片机课程设计,分两个阶段。第一个星期我们查阅了相关资料,制定出相关的总体方案,画出相关的原理图和仿真图。第二个星期我们进行边调试边修改程序。完成了由STC89C52控制的,较为满意的智能交通灯控制系统,并提供自动和手动程序。但在此过程中,也遇到了许多麻烦。仿真时,刚开始出现数码管不亮的问题,加入驱动后,数码管未能按期待的显示。而在调试过程中,出现了按键时门铃不响,按键按下时,不能进行

23、紧急情况处理功能和东西方向加一的功能。在检查程序无错后,检查电路发现接线无错,但接线时没把S1线接触不良,纠正错误后,调试,既能实现按键时响铃,也可以实现各按键的功能。 在这两个星期内,我很感谢李老师和王老师的指导,她们的指导使得我们能在思维和知识上得到更好的认识。也很感谢同学的帮助和讨论,他们及时的指出我的错误,并帮助我改正。在这个过程,我学会了团结和合作,也学会了感恩。6.2 特色1)因采用发光二极管做指示灯,具有节能的特点。2)具有多功能按键,操作简单,可实时处理事务。3)系统提供自动和手动程序,可以灵活选择。4)在按键时提供门铃功能,可以通过门铃来判别是否有键按下或者说按键是否有效。6

24、.3 不足系统为能提供南北方向手动调节时间的程序,不能对南北方向实时的调节;系统没有提供拐弯的功能和拐弯的指示图案。附录附录A 汇编程序附录B 汇编程序 ORG 0000H SJMP MAIN ORG 0030HMAIN: MOV SP,#0A0H;设置指针指向A0H单元 MOV 7AH,#05H;数据缓存区7A MOV 7BH,#00H;数据缓存区7B MOV 7CH,#05H;数据缓存区7C MOV 7DH,#00H;数据缓存区7D MOV P1,#0FFH ;全灭S6: CLR P1.3;清0 ,点亮东西方向黄灯 CLR P1.7 ;清0. LCALL DELAYEX CJNE A,#0

25、FFH,KEY_1 SETB P1.3 SETB P1.7 LCALL DELAYEX CJNE A,#0FFH,KEY_1 ; DEC 7CH ;减一 DJNZ 7AH,S6 ; MOV 70H,#00H;(绿灯)时间缓存区 MOV 71H,#03H; MOV 72H,#05H;(红灯)时间缓存区 MOV 73H,#03H; MOV R4,#30M1: MOV B,#00H MOV 7FH,#00H ; MOV P1,#0FFH CLR P1.0 CLR P1.6 MOV 7DH,73H MOV 7CH,72H MOV 7BH,71H MOV 7AH,70H MOV A,R4 MOV R0,

26、AM2: LCALL R_AND_G DJNZ R0,M2 LCALL YELLOW2 MOV P1,#0FFH CLR P1.1 CLR P1.5 MOV 7DH,71H MOV 7CH,70H MOV 7BH,73H MOV 7AH,72H MOV A,R4 MOV R1,AM3: LCALL R_AND_G DJNZ R1,M3 M4: LCALL YELLOW1 LJMP M1 ;1键-紧急状态。KEY_1: CJNE A,#01H,KEY_2 ;判断按键是否为1,不是则跳到KEY_2 LCALL BELL MOV 7FH,#00H INC B;加一 MOV R0,B CJNE R0,

27、#01H,S3 MOV 7AH,#05H MOV 7BH,#00H MOV 7CH,#05H MOV 7DH,#00H MOV P1,#0FFH S1: CLR P1.3 CLR P1.7 LCALL DELAYEX CJNE A,#0FFH,KEY_1 SETB P1.3 SETB P1.7 LCALL DELAYEX CJNE A,#0FFH,KEY_1 DEC 7CH DJNZ 7AH,S1 MOV 7AH,#09H MOV 7BH,#09H MOV 7CH,#09H MOV 7DH,#09H MOV P1,#0FFH CLR P1.0 CLR P1.5 S2: LCALL DISPLA

28、Y LCALL KEY CJNE A,#0FFH,KEY_1 SJMP S2 S3: LJMP MAIN2键-延长东西绿灯。KEY_2: CJNE A,#02H,KEY_3 ;判断按键是否为2,不是则跳到KEY_3 LCALL BELLMOV B,#00HMOV 7FH,#00HS4:MOV P1,#0FFH CLR P1.1 CLR P1.5 MOV 7DH,#06 MOV 7CH,#00 MOV 7BH,#06 MOV 7AH,#05 MOV R1,#60M5: LCALL R_AND_G DJNZ R1,M5 LCALL YELLOW1MOV P1,#0FFH CLR P1.0 CLR

29、P1.6 MOV 7DH,#03 MOV 7CH,#05 MOV 7BH,#03 MOV 7AH,#00 MOV R0,#30M6: LCALL R_AND_G DJNZ R0,M6 LCALL YELLOW2 SJMP S43键-延长南北绿灯。KEY_3: CJNE A,#03H,KEY_4LCALL BELLMOV B,#00HMOV 7FH,#00HS5:MOV P1,#0FFH CLR P1.0 CLR P1.6 MOV 7DH,#06 MOV 7CH,#05 MOV 7BH,#06 MOV 7AH,#00 MOV R0,#60M7: LCALL R_AND_G DJNZ R0,M7

30、LCALL YELLOW2MOV P1,#0FFH CLR P1.1 CLR P1.5 MOV 7DH,#03 MOV 7CH,#00 MOV 7BH,#03 MOV 7AH,#05 MOV R1,#30M8: LCALL R_AND_G DJNZ R1,M8 LCALL YELLOW1SJMP S5;。4键-复位。KEY_4: CJNE A,#04H,KEY_5LCALL BELLLJMP MAIN;。5键-加一。KEY_5: CJNE A,#05H,KEY_6LCALL BELLMOV B,#00HINC 7FHLCALL DELAYEXCJNE R4,#94,N8SJMP N2N8:IN

31、C 70HINC 72HINC R4MOV R2,70HCJNE R2,#0AH,N1MOV 70H,#00HINC 71HN1: MOV R3,72HCJNE R3,#0AH,N2MOV 72H,#00HINC 73HN2:MOV 7DH,73H MOV 7CH,72H MOV 7BH,71H MOV 7AH,70H N3:LCALL DISPLAYLCALL KEYCJNE A,#0FFH,TRANSIT04SJMP N3;。下面这句用来中转。TRANSIT04: LJMP KEY_1;。6键-减一。KEY_6: CJNE A,#06H,KEY_7LCALL BELLMOV B,#00HI

32、NC 7FHLCALL DELAYEXCJNE R4,#15,N9SJMP N5N9:DEC 70HDEC 72HDEC R4MOV R2,70HCJNE R2,#0FFH,N4MOV 70H,#09HMOV A,71HJZ N4DEC 71HN4: MOV R3,72HCJNE R3,#0FFH,N5MOV 72H,#09HMOV A,72HJZ N5DEC 73HN5:MOV 7DH,73H MOV 7CH,72H MOV 7BH,71H MOV 7AH,70H 6:LCALL DISPLAYLCALL KEYCJNE A,#0FFH,TRANSIT01SJMP N6KEY_7: CJNE

33、 A,#07H,KEY_8LCALL BELLINC 7FH MOV R0,7FH CJNE R0,#01H,N7SJMP N5N7:LJMP M1;。夜间。KEY_8: CJNE A,#08H,TRANSIT01LCALL BELL MOV 7AH,#00H;(绿灯)时间缓存区 MOV 7BH,#06H; MOV 7CH,#00H;(红灯)时间缓存区 MOV 7DH,#06H;LOOP: MOV P1,#7BH LCALL DELAYEX CJNE A,#0FFH,TRANSIT01 MOV P1,#0FFH LCALL DELAYEX CJNE A,#0FFH,TRANSIT01 SJMP

34、 LOOP;。下面这句用来中转。TRANSIT01: LJMP KEY_1;。下面是键盘扫描程序。KEY: PUSH PSW ;2SETB RS0 ;1MOV P0,#0FFH ;2MOV P2,#0CFH ;2MOV A,P2 ;1CJNE A,#0CFH,L2SJMP L1L2: LCALL DELAY MOV P2,#0DFHMOV A,P2 K1:CJNE A,#0DEH,K2;查第1行的键值 MOV A,#01H SJMP L5 K2: CJNE A,#0DDH,K3 MOV A,#02H SJMP L5 K3: CJNE A,#0DBH,K4 MOV A,#03H SJMP L5

35、K4: CJNE A,#0D7H,K5 MOV A,#04H SJMP L5 K5:MOV P2,#0EFH;查第2行的键值MOV A,P2CJNE A,#0EEH,K6 MOV A,#05HSJMP L5 K6: CJNE A,#0EDH,K7 MOV A,#06H SJMP L5 K7: CJNE A,#0EBH,K8 MOV A,#07H SJMP L5 K8: CJNE A,#0E7H,L1 MOV A,#08H SJMP L5L1: MOV A,#0FFH ;1L5: CLR RS0 ;1POP PSW ;2 RET ;2;。显示子程序01。DISPLAY: SETB RS0 MOV

36、 A,#0EFH ;显示外加延时,延时1秒* 从这里往下到注释“3”共6038个机器周期 ;1 MOV R0,#7AH ;1LOOP1: MOV DPTR,#TAB ;2 MOV P2,A ;1 MOV R1,A ;将A存起来 ;1 MOV A,R0 ;1 MOVC A,A+DPTR ;2 MOV P0,A ;1 MOV A,R1 ;1 LCALL DELAY ;2026 INC R0 ;1 RL A ;1 CJNE A,#0FEH,LOOP1 ;2 CLR RS0 RET ;。下面是延时程序。DELAY: SETB RS1 MOV R0,#05 ; 2个机器周期 D2:MOV R1,#200 ; 2 DJNZ R1,$ ; 2个机器周期 DJNZ R0, D2 ; 2Q CLR RS1RET ; 2;。第一个(东西)路口黄灯闪烁。YELLOW1: MOV R6,#05 MOV 7CH,#05H MOV 7DH,#00H SETB P1.1 F1: CLR P1.2 LCALL

温馨提示

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

评论

0/150

提交评论