《计算机控制技术》课程设计报告学院:沈阳工业大学专业:电气工程及其自动化班级:06电气2班姓名:朱红云学号:09指导教师:李英顺起止日期:2009年6月15日~2009年6月28日目录1. 课程设计目的 (1)2.课程设计题目和要求 (1)2.1课程设计题目 (1)2.2系统要求 (2)2.3控制方案 (2)3设计内容 (3)3.1硬件设计 (3)3.1.1单片机最小硬件电路 (3)3.1.2芯片介绍 (6)3.1.3数码管显示电路 (8)3.1.4键盘接口电路 (8)3.2软件设计 (9)3.2.1总体设计 (9)3.2.2主程序设计 (10)3.3.3显示及闪烁程序设计 (12)3.3.4交通控制时间处理程序 (16)3.3.5键盘功能处理程序设计 (20)3.3.6AT24C02操作程序 (23)4.设计总结 (25)参考书目 (25)附录............................................... 错误!未定义书签。
课程设计目的1、通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;2、完成控制系统的硬件设计、软件设计;3、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
4、通过交通信号灯控制系统的设计,掌握定时/计数器的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
5、进一步熟悉和掌握单片机的结构和工作原理。
6、掌握单片机的接口技术及相关外围芯片的外特性,控制方法,通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术。
7、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
8、通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。
2.课程设计题目和要求2.1课程设计题目交通灯的设计在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但。
这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿色两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
1914年,电气启动的红绿灯出现在美国。
这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
2.2系统要求1)允许过程中有时间提示2)系统运行参数可以在运行现茶馆修改3)控制灯切换原则:某一个灯方向的红灯显示时间比另一个方向绿灯显示多3s,绿灯结束黄灯闪烁2s,然后变红灯,红灯结束后变绿灯。
4)在修改参数过程中各个方向都黄灯闪亮,指示车辆减速慢行。
5)提供具体的修改参数方法,便于用户操作。
6)为简化设计,不考虑行人通道。
2.3控制方案1)本例中用通用的LED数码管作为时间显示器件,LED二极管作为交通控制的指示灯(实际交通灯中都是高亮度的二极管点阵构成,和本例的区别仅是驱动电路,控制的过程是一致的)。
共需要8个数码管、12个二极管(红、黄、绿各4个)。
2)现场修改参数系统必须设计键盘,本例设计有4个按钮组成的独立式键盘,采用中断控制扫描方式,定义键的功能如下:第一个键:从指挥交通状态进入参数修改状态,并调出系统原来的参数,前面两个数码管显示南北方向红灯时间,后两个显示南北方向绿灯时间(东西方向可以根据切换规则计算出来,修改参数只需要改变某一个方向的参数),以备修改,修改时有一个数码管闪烁,表示该位显示的数可以修改。
第二个键:(在指挥交通状态该键不起作用,后面两个键也只这样)加一键,使闪烁的数码管加1,并在0~9之间变化。
第三个键:移位键,使4个数码管杉树状态依次循环切换,和第二个键配合可以修改四个数码管上的数据,达到修改参数的目的。
第四个键:运行键,保存设置的参数,并按照修改的参数进入指挥交通状态3)考虑到现场可能停电,为防止片外的数据存储器来保存参数,数据量不是很多,也不经常变动,采用ATMEL公司的AT24C02。
图2.3交通灯控制系统结构框图3设计内容3.1硬件设计3.1.1单片机最小硬件电路单片机最小硬件电路组成简述:要使单片机工作起来,最基本的电路的构成为本系统采用AT89S51单片机,程序量不大,使用内部的存储器。
电源电路:向单片机供电。
时钟电路:单片机工作的时间基准,决定单片机工作速度。
复位电路:确定单片机工作的起始状态,完成单片机的启动过程。
图3.1单片机最小硬件电路1、电源AT89S51单片机的工作电压范围:4.0V—5.5V,所以通常给单片机外接5V直流电源。
连接方式如图图3. 2电源图2、时钟电路:时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。
AT89S51单片机时钟频率范围:0 — 33MHz。
3.3时钟电路连接方式图中的电容C1和C2起稳定作用。
3、复位电路复位电路产生复位信号,使单片机从固定的起始状态开始工作,完成单片机的“启机”过程。
AT89S51单片机复位信号是高电平有效,通过RST/VPD(9脚)输入。
复位电路连接方式有两种。
(1)上电复位单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。
(2)手动复位手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。
通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机“重启”。
(3)混合复位电路将上电复位电路和手动复位电路结合到一起构成,通常使用的都是这种混合复位电路。
4、最小硬件系统电路图图3.4最小硬件系统电路图3.1.2芯片介绍1、AT89S51芯片的介绍EA/VP(31脚)接+5V。
单片机的P0、P1、P2、P3四个端口用于输入/输出数字电信号。
(1)电源引脚:连接电源Vcc(40脚):电源正极 Vss(20脚):电源负极(2)时钟引脚:连接时钟电路XTAL1(19脚):输入引脚 XTAL2(18脚):输出引脚(3)复位引脚:连接复位电路RST/VPD(9脚):复位引脚(4)控制引脚:辅助控制作用PSEN(29脚)ALE/PROG(30脚) EA / VPP(31脚):接高电平(5)I/O端口引脚:用来连接单片机和外部设备,实现数据的输入/输出。
P0.0—P0.7(39脚—32脚):P0端口P1.0—P1.7( 1脚— 8脚):P1端口P2.0—P2.7(21脚—28脚):P2端口 P3.0—P3.7(10脚—17脚):P3端口图3.5 AT89S51引脚图2、8155芯片简介8155可编程并行接口芯片有三个输入输出端口,即PA口、PB口和PC口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。
其内部还有一个控制寄存器,即控制口。
通常PA口、PB口作为输入输出的数据端口。
PC口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。
它们分别与端口PA/PB配合使用,可以用作控制信号输出或作为状态信号输入。
8155可编程并行接口芯片工作方式:方式0:基本输入/输出方式。
适用于三个端口中的任何一个。
每一个端口都可以用作输入或输出。
输出可被锁存,输入不能锁存。
方式1:选通输入/输出方式。
这时PA或PB口的8位外设线用作输入或输出,PC口的4条线中三条用作数据传输的联络信号和中断请求信号。
方式2:双向总线方式。
只有PA口具备双向总线方式,8位外设线用作输入或输出,此时PC口的5条线用作通讯联络信号和中断请求信号3.1.3数码管显示电路采用共阳型数码管,6个LED 灯如图中接法,灯的负载依次接到数码挂的a-f 段,采用动态扫描电路,并把显示程序作为主程序。
数码管的段用P0口控制,P2.0-P2.3作为数码管的控制,p2.4作为指示灯的控制。
图3-8共阳 图3-6管脚图 图3-7共阴LED 数码管的管脚配置如图3-1所示。
LED 数码管有共阴极和共阳极两类。
共阴极LED 数码管的发光二极管的阴极共地,如图3-2(a ),当某个发光二极管的阳极电压为高电平时,二极管发光;而共阳极LED 数码管是发光二极管的阳极共接,如图3-2(b ),当某个二极管的阴极电压为低电平时,二极管发光。
图3.9显示电路3.1.4键盘接口电路图3.10键盘接口电路如图(a) 共 阴 极(b) 共 阳 极a d e d f e g f g 1321098GND GNDP1.0-P1.3作为接键的输入信号,采用中断控制草庙方式,采用简单的二极管与门电路,与门输出接到外部中断0,外中断设置成边沿触发方式。
任意键按下时都会在P3.2引脚产生下降沿,从而触发中断,在中断服务程序中检测P1.0-P1.3引脚,判断是哪个键按下,执行该键按下,执行该键功能。
3.1.5存储器电路AT24WC02 是一个2K 位串行CMOS E2PROM 内部含有256个8 位字节缓冲器AT24WC02 有一个16 字节页写缓冲器该器件通过I2C 总线接口进行操作有一个专门的写保护功能。
芯片引脚地址全部接地,用P2.6作为串行的数据线SDA,P2.7作为串行的时钟线SCL。
图3.11存储器芯片引脚图3.12存储器接口电路3.2软件设计3.2.1总体设计程序模块包括:主程序(系统初始化、显示程序)、外中断服务程序(按键处理)、定时器服务程序(倒计时处理)、AT24C02操作程序等。
主程序的框图如图所示。
图3.13主程序结构框图主程序包括对定时/计数器、外部中断的初始化,读出系统运行参数,将交通灯时间参数送对应的显示缓冲区,然后反复调用显示子程序。