单片机原理及应用课程设计-基于单片机的城市道口交通灯控制系统内容摘要:
图 8 特种车辆控制模块电路图 6 元件清单 表 1 元件清单 符号 型号 参数 数量 备注 芯 片 STC89C52 1 个 单片机主控芯片 8255 1 个 单片机串口扩展芯片 三极管 9015 8 个 LED 闪烁灯 8 个 红灯和绿灯各四个 电阻 1k 若干 作为上拉电阻使用 电容 33PF, 103,104 若干 LED 数码管 八段数码管 2 个 共阳极 系统软件设计 软件总流程图 Y N 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。单片机原理及应用课程设计-基于单片机的城市道口交通灯控制系统
相关推荐
0832 单缓冲方式是控制输入寄存器和 DAC 寄存器同时接收资料 ,或者只用输入寄存器而把 DAC 寄存器接成直通方式。 此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。 波形产生过程 1)方波产生过程 方波的实现只需开始 的时候设置一个初值然后直接输出这个值就行了 ,输出一段时间后 ,然后再重新置一个数据 ,然后再输出这个数据一段时间 ,但是此时的时间一定要等于前面那段时间。
器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。 单片机执行指令是在控制器的控制下进行的。 首先从程序存储器中读出指令,送指令寄存器保存,然后送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号和控制信号,再送到单片机的各个部件去进行相应的操作。 这就是执行一条指令的全过程
80C51 系列是其中的佼佼者,加之 Intel 公司将其 MCS –51 系列中的 80C51 内核使用权以专利互换或出售形式转让给全世界许多著名 IC 制造厂商,如 Philips、 NEC、 Atmel、 AMD、华邦等,这些公司都在保持与 80C51 单片机兼容的基础上改善了 80C51 的许多特性。 这样, 80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为
教育、道德教育和心理教育统称为“德育”(国家教委:《中小学德育工作规程》, 1998),这即是“大德育”的由来。 所谓“小德育”,仅指道德教育,国际上通行的即是“小德育”。 大德育的说法与做法,有其合理性,但也带来了一些问题。 德育之“名”如何解决,目前似乎没有最好的办法。 (二) 传统的德育 观:德育即转化 把社会要求转化为受教育者思想道德品质的过程。 (三) 现代的德育观:建构论的主张
6. n (x)= x vdw = =() 按机床选取 n(w)= 故实际切削速度 v=I=75mm, I (1)=175mm, I(2)=3mm t(m)=工序 1:铣端面, ( 1) 粗铣为 215x140 另一端面。 a(f)= v=(21m/min) 采用高速端面铣刀, d(w)=175mm,齿数 Z=16. n (x)= x vdw = =() 按机床选取 n(w)= 故实际切削速度
粗车: Z粗= 半精车: Z半精= 精车: Z精= ( 3)计算各工序的基本尺寸,精车后工序基本尺寸为Φ 85,其他各工序基本尺寸依 次为: 半精车: Φ 85+=Φ 粗车: Φ +=Φ 88mm 毛坯: Φ 88+=Φ ( 4)确定各工序的公差及偏差。 工序尺寸的公差按加工经济精度确定。 精车 IT8, 公差值为 半精车 IT10,公差值为 粗车 IT12,公差值为 按工序入体原则: 精车:Φ