沈阳航空工业学院北方科技学院毕业设计(论文)
开始
程序初始化
执行状态S1
执行状态S2 执行状态S3 执行状态S4 运行状态S5 Y 按键是否拨下k1 时间调整
N 是否按下k2 运行状态S6 N Y 紧急停止 运行状态S7 运行状态S8 N 是否到12S 是否拨回k1 N Y 4.1主程序流程图
Y 22
沈阳航空工业学院北方科技学院毕业设计(论文)
4.2 通行规则如下
(1) 车辆南北直行、各路右转,南北向行人通行。南北向通行时间为25S。 (2) 车辆南北向左转、各路右转,行人禁行。通行时间为25S。
(3) 车辆东西向直行、各路右转,东西向行人通行。东西向通行时间为25S。 (4) 车辆东西向左转、各路右转,行人禁行。通行时间为25S。
4.3 每秒钟的设定
延时方法可以有两种,一是利用AT89S52内部定时器是否发生溢出中断来确定1秒的时间,另一种是采用软件延时的方法,本设计采用软件延时法。
4.4 计数器硬件延时
4.4.1 计数器初值计算
定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C
式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为28
4.4.2 计算公式
T=(M-TC)T计数
或TC=M-T/T
计数
T计数是单片机时钟周期TCLK的12倍;TC为定时初值 如单片机的主脉冲频率为TCLK12MHZ ,经过12分频 方式0 TMAX=213×1微秒=8.192毫秒
23
沈阳航空工业学院北方科技学院毕业设计(论文)
方式1 TMAX=216 ×1微秒=65.536毫秒
显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题.
4.4.3 1秒的方法
我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。
4.4.4相应程序代码
(1)主程序
定时器需定时50毫秒,故T0工作于方式1。 初值: TC=M-T/ T计数 =216 -50ms/1μs=15536=3CB0H ORG 1000H
START: MOV RO, #02H ;软件计数器赋初值
MOV TMOD, #01H ; 令T0为定时器方式1
MOV TH0, #3CH ;装入定时器初值 MOV TL0, #0BOH
SEBT TR0 ;启动T0计数器 CLR EA
4.5 软件延时
MCS-51的工作频率为2-12MHZ,我们选用的ATS89S52单片机的工作频率为3MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/3M)=4μs。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。 具体的延时程序分析:
Delay: mov r5, #8 ; 装入DELAY延时时间 DLoop0:mov r6, #0
24
沈阳航空工业学院北方科技学院毕业设计(论文)
DLoop1:mov r7, #0 DLoop2: NOP NOP
djnz r7, DLoop2 djnz r6, DLoop1
djnz r5, DLoop0 ret
Delay1: mov r5, #50 ;装入DELAY1延时时间 DdLoop0:mov r6, #0 DdLoop1:mov r7, #0 DdLoop2: NOP NOP
djnz r7, DdLoop2 djnz r6, DdLoop1
djnz r5, DdLoop0
ret ;返回 所以此指令的执行时间为2ms
DELAY 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*4=262144us 约为250μs
DELAY R5设置的初值为5 主延时程序循环5次,所以250μs*5= 1.25秒 同理,DELAY1 R5设置的初值为50 主延时程序循环50次,所以250μs*50= 12.5秒,由于单片机的运行速度很快其他的指令执行时间可以忽略不计。
本延时指令在设计中的最大应用就是给系统紧急停止设定时间,使其完成要求的交通状态。
4.6 时间切换
时间切换是以电平触发为基础的对时间系统进行改变的一项设计功能,当电平设为低时程序得到执行,系统由倒计时25S切换到35S。
4.6.1相应的程序代码
程序详见附录Ⅱ
25
沈阳航空工业学院北方科技学院毕业设计(论文)
整个程序是与原倒计时25S时间相平行的另一套时间系统,它的调用就是靠前面提到的低电平触发实现的。
26
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库城市智能交通灯系统(6)在线全文阅读。
相关推荐: