单片机课程设计--基于单片机的城市道口交通灯控制系统内容摘要:
N N Y Y 图 8 软件总流程图 开 始 初始化中断、定时器 =0。 Shu=0? LED 闪烁灯显示状态改变 LED 数码管重新倒计时 LED 闪烁灯显示状态 LED数码 管倒计时 中 断 响 应 Shu1=0? 7 软件单元模块分析 主程序 主程序主要负责总体程序管理功能,实现人及交互设定。 由于采用动态扫描方式显示时间,因此主程序大部分要调用扫描显示程序 [5]。 主程序流程图如图 7所示: void main() { init()。 P1 = tab[0]。 a8255_CON=0x89。 //电源控制 , 进入空闲待机状态 , 中断请求有效 while(1) { shuma(shiw,gew)。 //数码管显示时间 deng()。 //灯亮状态 } } 初始化程序 初始化程序主要完成定时器的工作模式、外部中断方式等的设定。 定时器 T0 设为工作方式 1,为 16 为定时器模式,定时时间为 50ms,外部中断方式为外部中断方式 0。 程序如下: void init() //定时器和外中断 0的初始化程序 { TMOD = 0x01。 //工作在定时器工作方式 1 TH0 = 0x3c。 //装入初值 TL0 = 0xb0。 EA = 1。 //开总中断 ET0 = 1。 //开定时器 0 中断 TR0 = 1。 //启动中断 8 EX0=1。 //开外部中断 0 IT0=0。 //触发方式为低电平 } 定时器中断和数码管显示程序 1定时器中断和数码管显示程序流程图 N N Y 图 9 定时器中断和数码管显示程序流程图 2定时器中断和数码管显示程序及说明 定时中断服务程序主要用于车辆及行人的通行时间指示,其通行规则如下:先把数码管 0 至 9 十个数存起来,定时器 T0 的溢出中断周期设为 50ms,中断累计 20 次(即1s)则对倒计时单元减 1 操作。 然后通过取整和取余以及查表法逐一实现在不同的 shiw和 gew 给控制端口送不同数据码值,程序如下: uchar code table[]={ 0xA0, 0xBB,0x62,0x2A,0x39,0x2C, 0x24,0xBA,0x20, 0x28}。 T0 中断程序 现场保护 关中断 T0 T0初值重设 t0++ shu shiw=shu/10。 gew=shu%10。 a8255_PB=table[shiw] a8255_PB=table[gew] shu=0 shu=30 t0=0? 9 //共阳数码管 09 void shuma(uchar shiw, uchar gew) { if(shiw!=0) { a8255_PA=0xff。 a8255_PB=0xff。 a8255_PB=table[shiw]。 //段选,显示十位上数字 a8255_PA=0xfe。 //位选,选择数码管 PA0 作为十位 delay(1)。 } a8255_PA=0xff。 a8255_PB=0xff。 a8255_PB=table[gew]。 //段选,显示个位上数字 a8255_PA=0xfd。 //位选,选择数码管 PA1 作为个位 delay(1)。 } void time0() interrupt 1 //定时器 0中断程序 { TH0 = 0x3c。 //重新装入初始值 TL0 = 0xb0。 t0++。 if(t0%20==0) //1s 时间的变化,改变数码管的显示 shu。 if(shu==0) shu=30。 shiw=shu/10。 gew=shu%10。 } 10 定时器中断和 LED 灯显示程序 1定时器中断和 LED 灯显示程序流程图 N Y N Y 图 10 定时器中断和 LED 灯显示程序流 程图。单片机课程设计--基于单片机的城市道口交通灯控制系统
相关推荐
; ③体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度; ④使用方便,电阻值可在 ~ 100kΩ 间任意选择;⑤易加工成复杂的形状,可大批量生产; ⑥稳定性好、过载能力强. 热敏电阻的阻值会随着温度的变化而改变,这种变化不是线性的,但是每一种热敏电阻传感器都有一个阻值和温度对应的表格,可以通过查表得到温度值,当然也可以通过非线性公式计算出温度值。 具体工作原理: 单片机通过
— 载波 频率 fc 与调制信号频率 fr 之比 N,既 N = fc / fr 调制度――调制波幅值 Ar 与载波幅值 Ac 之比,即 Ma= Ar/Ac 同步调制 —— N 等于常数,并在变频时使载波和信号波保持同步。 基本同步调制方式, fr 变化时 N不变,信号波一周期内输出脉冲数固定; 三相电路中公用一个三角波载波,且取 N 为 3 的整数倍,使三相输出对称; 为使一相的
ONT4条为申报二等奖必备条件, 1?/FONT3 条为申报三等奖必备条件,此外再同时具备第 6条条件之一者方可申报二、三等奖。 三、近两年来有下列情况之一者不予申报优秀集体和优秀个人奖 1.一年内上课迟到或提前下课达两次者; 2.无故缺课一次者 (含实验课、见习课、录相课等 ); 3.未经批准擅自调 课者; 4.发生其他教学事故一次者; 5.由于监考不严,考场纪律混乱,甚至发生学生作弊事故者;
51单片机有一个复位引 脚 RST,它是史密特触发输入 (对于 CHMOS单片机,RST引脚的内部有一个拉低电阻 ),当振荡器起振后 该引脚上出现 2个机器周期 (即24个时钟周期 )以上的高电平,使器件复位,只要 RST保持高电平, MCS51保持复位状态。 此时 ALE、 PSEN、 P0、 P P P3口都 输出高电平。 RST变为低电平后,退出复位, CPU从初始状态开始工作。 单片机
有 4根。 (1) ALE/PROG:地址锁存允许 /片内 EPROM 编程脉冲。 ALE:用来锁存 P0口送出的低 8位地址。 /PROG:片内有 EPROM 的芯片 ,在 EPROM 编程期间 ,此引脚输入编程脉冲。 (2) /PSEN:外 ROM读选通信号 .在外部程式记忆体的指令码获取周期时 ,PSEN 将送出一个闪控信号 ,以表示 CPU 正自外部的程式记忆体中读取 指令码。 (3)
*/ /*项目所以单片机资源: P0 口输出数码管段控信号, P2 口输出数码管位控信号, P1 口接按键, P3 口接流水灯; 晶振 12MHz; 按键 S1: ,甲车道通车; 按键 S2: ,乙车道通车; 按键 S3: ,紧急情况通车; 按键 S4: ,复位显示 P.; 40H 用于显示缓冲区个位; 41H 用于显示缓冲区十位; 堆栈栈底: 70H。 */ /*项目所用的显示模块