单片机课程设计

发布 2022-10-04 21:47:28 阅读 8199

第一章绪论

1.1 交通灯系统的介绍。

在经济水平和科技水平日益提高的当代,人们的衣、食、住、行都得到了很大的改善。其中,“行”从古代马车到现代汽车的飞跃改善,彰显了人们生活水平提升的疾速。随着城市机动车辆的不断增加,交通问题越来越引起人们的关注。

没有交通规则,交通事故就会明显增多,安全从古至今都是一个不容忽视的话题,交通安全更是当今发展社会的一大重点,因此,控制好交通安全,制定好交通规则,交通信号灯的使用便在此显得极为重要。

城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。自80年代后期,许多城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况,确保了一定的交通安全问题。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。

而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。为此,笔者进行了一定的研究,以下就城乡交通信号灯控制系统的电路原理、设计、计算和实验调试等问题来进行具体分析讨论。

利用单片机实现的交通灯具有编程灵活,便于交通灯功能的扩充,即可用该单片机发出各种控制信号,精确度高等特点,同时可以用led显示路口的通过时间。

本次设计以at89s52芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟。在硬件方面,除了at89s52外,使用8个数码管来进行显示,led采用的是动态扫描显示,使用p0、p2口进行驱动。通过led能够比较准确显示某路口的通行时间,通过设置的k0、k1、k2、k3四个简单的按键实现交通灯开启、关闭及紧急情况的设置。

软件方面采用汇编语言编程。

第2章方案。

2.1.2 方案二:

运用plc控制器。运用plc来实现交通灯信号,plc的编程非常的简单,操作也很方便,电路更为简单,但是plc的成本很高,就因为这点最终没能选择这个方案。

2.1.3 方案三:

采用at89s52单片机。用at89s52单片机组成的电路简单,编程简单、操作方便、成本低和错误率低。能很好的利用单片机的资源,从各方面考虑,最终选择了此方案。

通过综合考虑,最终确定使用方案三,硬件方面使用单片机最小系统,硬件结构中包括了复位电路、键盘、led显示和蜂鸣器等电路,运用汇编语言编程来实现交通灯信号的设计。

2.3.1 计时方案。

本次设计利用at89s52单片机内部可以用定时/计数器进行中断定时,来确定延时时间,倒计时的计时。该方案节省硬件内存空间,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好并深入了解单片机技术这门课程起到一定的作用。

2.3.2 键盘/数码管方案。

at89s52的p0口和p2口外接由八个led数码管(led7~led0)构成的显示器,用p0口作led的段码输出口,p2口作八个led数码管的位控输出线,p1口外接八个按键k0、k1、k2、k3、k4、k5、k6、k7构成键盘电路,其中有用键k0、k1、k2、k3六个键。

at89s52 是一种低功耗,高性能的cmos 8位微型计算机。在本次课程设计中,利用按键k0、k1、k2、k3来开启、关闭、及甲乙路紧急。p3口控制led红、黄、绿灯的亮灭,用p0口作led的段码输出口,p2口作八个led数码管的位控输出线,这样通过汇编语言编程来控制整个系统的运行,方案总体框图如图2.

3.1所示。

图2.3.1方案框图。

第3章硬件设计介绍。

3.1晶振电路及复位电路设计。

图3.1.1晶振电路及复位电路设计。

3.1.1 晶振电路。

x1,x2分别是系统时钟信号fosc的输入xtal1、输出xtal2端。该开发板的使用的是石英晶体振荡器,晶振频率为f0=12mhz,而振荡电容c1、c2的典型值取值范围为20—33pf,所以这里取33pf的瓷介电容。注意:

为减少寄生电容对振荡频率的影响,在印制板上的电容c1和c2应尽可能靠近cpu芯片的x1和x2引脚。

3.1.2 rc分立元件构成的外部复位电路。

掉电复位:当正常工作时,电容充电完成、两端电压近似vcc,ret为低电平;

断电后,vcc下降,当vcc=0时,vcc与地gnd等电位,电容c3通过r15放电, 保证再放电时,rst引脚为高电平,cpu可靠复位。

按键复位:但按下按钮s1时,电容c3通过r14放电,当电容c3放电结束后,ret引脚电位由r15和r14分压比决定,由于r14<

3.2 独立键盘模块。

图3.2.1 独立键盘电路。

如图3.2.1所示,开发板独立按键与p1口相连,当某一按键按下时,对应的口线为低电平;如按键s2按下,则p1.

0口为低电平(p10~p17分别与p1.0~p1.7口相连)。

当按键没有按下时,p1口通过排电阻与vcc相连,为高电平;按键按下,对应口线直接与地相连,为低电平。

3.3 蜂鸣器模块。

图3.3.1 蜂鸣器电路。

如图3.3.1所示,三极管的基极接单片机的p3.

1口,当p3.1口输出低电平时,三极管导通,蜂鸣器可以发出声音。其基极的限流电阻r12=1k,当vcc=5v时,ib=(vcc-0.

7)/1k≈4.3ma,pnp三极管9012的放大系数约为100,则最大集电极电流ic大约430ma,足以驱动蜂鸣器工作。(注意,负载必须串联在集电极,而不是发射极,否则pnp驱动管不可能进入饱和状态,功耗大,而且负载的压降也小,蜂鸣器不能正常驱动。

3.4 数码管显示模块。

图3.4.1 数码管显示电路。

如图3.4.1所示,开发板数码管显示所用的是两只4位led数码管,为共阳led数码管,p0.

0~p0.7送段码,p2.0~p2.

7送位码(p20~p27分别与p2.0~p2.7口相连,p00~p07分别与p0.

0~p0.7口相连)。

数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向电压较大,正向电阻也大,在一定范围内,其正向电流也发光亮度成正比。由于常规的数码管段电流不小于25ma,字电流不小于50ma,当然电流也不能太大,所以它的输入端在5v电源的电路信号相接时,一定要串加限流电阻,以免损坏元件。

基极的限流电阻rb:本设计使用的开发板,基极的限流电阻rb=470,则基极电流ib=(vcc-veb)/470≈9ma,三极管9012的放大倍数β≈100,则集电极的最大电流为900ma,每一位数码管有8段led发光二极管,流过每一段发光二极管的电流为900/8=100ma,所以rb=470可以驱动数码管。

led数码显示驱动电路使用动态显示方式,单片机p2口通过三极管对led数码管进行位控,如电路图3.4.1所示,由于三极管发射级与vcc连接,当p2.

0口为低电平时,三极管q8饱和导通,led2的d4为高电平即最后一位led数码管被选中显示;当p2.0口为高电平时,三极管q8处于截至状态,led2的d4为低电平未被选中。

3.5 发光二极管模块。

图3.5.1 发光二极管电路。

如图3.5.1所示,限流电阻rp其大小由led二极管工作电流i决定,一般控制在3~20ma之间,i=(vdd-0.

7)/rp=4.3/rp,取i=10ma时,求得限流电阻rp大致为430ω,所以去标称值470ω.。

此次设计中用到d3、d4、d5,分别为绿、红、黄主干道标志指示灯;d6、d7、d8为绿、红、黄次干道对应的标志灯。

第四章软件设计。

4.1倒计时500ms基本方法。

利用mcs-51系列单片机的可编程定时/计数器、中断系统可以实现延时500ms。计数初值计算如下:

4.1.1 延时500ms:

由于数码管每个数码管都在调用时用时1ms,因此8个数码管共计调用时间为8ms,给一个数字寄存器r3赋值为3eh,应用djnz来判断r3是否为零在应用时调用数码管显示程序,这样调用一次耗时8ms,调用3eh次共耗时500ms.

4.2数码管的计时显示。

交通灯系统在八位数码管上进行显示,因此,在内部ram中设置显示缓冲区共8个单元。

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...