计算机控制技术课程设计报告
题目 交通灯控制器设计
指导老师 储忠
班级 07自动化2班
姓名 陈鹤碧 0705076040
李扬虎 0705076034
廖济森 0705076035
日期 2010年6月27日
《单片机原理与课程设计》
课程设计任务书
前言
随着社会的发展,交通问题也变得更严重,这就要求有很好的交通管理系统。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。城市交通控制系统是用于城市交通数据检测,交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥中最重要的部分。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本系统采用单片机为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示。
本设计系统由单片机I/O口扩展系统、交通灯状态显示系统等几大部分组成。系统具有基本的交通灯功能,较好的模拟实现了十字路口可能出现的状况。
软件上采用汇编编程,主要编写了主程序,中断程序延时程序等,其中还用到定时器。从最初编写到一步步调试,终于实现了交通信号灯功能的模拟。
摘要:本系统由单片机系统、数码管显示、交通灯演示板三部分组成。系统主要实现基本的交通灯的功能,包括南北与东西方向的交通灯,东西方向绿灯亮车道放行15s,,黄灯亮3s,提示路面行驶的车辆停止; 南北方向绿灯亮车道放行15s,,黄灯亮3s,提示路面行驶的车辆停止。
关键词:AT89C52,数码管,交通灯
一、设计目的
(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)把理论知识与实践相结合,用单片机模拟实现具体应用,充分发挥团队配合能力,并在实践中锻炼。
(3)提高实践动手能力。
二、设计任务和内容
1.设计任务
单片机采用用AT89C52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯(东西路口红灯15秒,东西路口绿灯15秒,南北路口红灯15秒,南北路口绿灯15秒,黄灯时间3秒)。
2.设计内容
具体内容:利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭。系统的工作符合一般交通灯控制要求。
三、 方案比较、设计与论证
1. 电源提供方案
为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案。
方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
综上所述,我们选择第二种方案。
2. 显示界面方案
该系统要求完成状态灯、时间显示功能。基于上述原因,我们考虑了三种方案。
方案一:数码管显示。
传统数码管具有低能耗、低损耗、低压、长寿命、耐老化、晒、防潮、防火、防高(低)温的特点;对外界环境要求低,易于维护;同时其精度比较高,精确可靠,操作简单,程序编写容易,资源占用少。本设计要求显示的内容较少,仅仅用两个数码管来显示即可,所以综上考虑后选择此方案。
方案二:完全采用点阵式LED 显示。
这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:采用液晶显示屏(LCD)显示时间
液晶显示器具有功耗低、无辐射危险、平面直角显示以及影像稳定等,可视面积大,画面效果好,也可以显示汉字,分辨率高,抗干扰能力强,显示内容多等特点。因此,只要用一块液晶显示器就可以显示设计要求的全部内容。此外,液晶显示器与单片机连接电路较简单,且占用的I/O口较少。然而液晶显示在编写程序方面相对复杂,由于初学单片机不久而且液晶显示不那么直观,所以我们不采用该方案。
四、电路图及设计文件
1.灯控制电路设计
我们组设计的红绿灯是放在马路中间的,由5个LED 来实现红绿黄灯状态,其中分为南北、东西各一组。所有方向公用一个黄灯
2.倒计时显示电路设计
前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,南北、东西公用一组数码管。
3.端口设计
五、程序设计思路与流程图
1.主程序流程图
系统程序流程图如下图所示:
Y N
N Y
N Y N Y
六、测试、数据及结果分析
系统上电,下载完程序即可开始测试,观测一个周期(共18秒)灯的显示状态是否正常,同时观察倒计的计数是否正常,是否与灯的亮灭同步。
七、总结
本次试验是非常具有综合性的实验,软件上我们使用到了循环,定时器0,中断等,硬件上我们使用到了数码管、LED灯等。
关于带数码管的倒计时交通灯,主要是定时器0的使用比较有挑战性,由于我使用的是现成的单片机开发板,所以有许多引脚的功能已经固定,很难在外接一些芯片,比如,在开始试验的时候,我不想放弃以往的单片机实验的成果,我尝试着将8255加入其中,但是很遗憾失败了,其中一个很重要的原因就是引脚的复用问题,比如P2口用于数码管的位选,但在8255的使用中是用来做读写等的控制。如果我们想要完成理想的设计,使用购买的单片机开发板式不合适的,还需要我们自己动手设计,并焊接属于自己的单片机最小系统,这在以后也是我们的努力方向。
这次课程设计虽然结束了,但是我们的学习工作远远没有结束。基于现有的硬件电路,我们还有很多的功能可以去完善,也许现在是上课期间,课程比较多,任务比较重,但是在暑假里,我们会有很多的空余时间,通过这次课程设计,培养了我们对单片机和计算机控制技术的浓厚的兴趣,在以后的时间里,我们一定会利用课余时间充分利用好手中的单片机并学习好它。
附录
系统总体电路图、原程序、实物图。
一、交通灯系统电路图
基于51单片机的设计仿真图
二、交通灯系统源程序
GEWEI EQU 21H ;个位数据
SHIWEI EQU 23H ;十位数据
SCANLED EQU 25H
SCANMODE EQU 26H
RED EQU 28H ;定义灯的缓冲区
GREEN EQU 29H
YELLOW EQU 32H
NUMTIM EQU 33H
LED EQU 34H
ORG 000H
JMP START
ORG 0BH
JMP TIMER0 ;定时器0中断入口
ORG 100H
START:MOV SP,#50H
MOV R0,#20H↑
MOV R5,#20
CLR0:MOV @R0,#00H
INC R0
DJNZ R5,CLR0 ;源操作数减一,不为零则转移
MOV TMOD,#01H ;设置定时器,定时器0工作于方式一
MOV TH0,#HIGH(65536-5000)
MOV TL0,#LOW(65536-5000)
SETB TR0 ;开定时器1
MOV IE,#10000010B ;端口初始化 P82,开总中,开内部T0中断
MOV P0,#0FFH ;各个端口付初值
MOV P1,#0FFH
MOV P2,#00H
MOV P3,#0FFH
MOV R3,#10
MOV R2,#3
MOV R1,#10
MOV R7,#200
MOV RED,#15 ;两红灯绿灯十秒,黄灯三秒
MOV YELLOW,#3
MOV GREEN,#15
MOV NUMTIM,#15
MOV LED,#0FFH
AJMP $
TIMER0: PUSH ACC ;定时器部分,负责交通灯的计时和数码管动态扫描
PUSH PSW ;ACC累加器 PSW程序状态字P23
MOV TH0,#HIGH(65536-5000) ;重新赋初值
MOV TL0,#LOW(65536-5000)
DJNZ R7,RET0 ;R7减一不为零则跳转
MOV R7,#200 ;R7重新赋值
MOV A,SCANMODE ;调用扫描
MOV B,#4
DIV AB ;A:AB之商,B:AB之余
MOV A,B
RL A ;A是AB的余数,A循环左移
MOV DPTR,#TAB_SCAN ;数码管查表扫描
JMP @A+DPTR
TAB_SCAN: AJMP RED_LIGHT ;程序的跳转
AJMP YEL_LIGHT
AJMP GRE_LIGHT
AJMP YEL_LIGHT
RET0: MOV A,NUMTIM ;给A赋值#10
LCALL BIN_BCD ;调用子程序???
MOV SHIWEI,A
MOV GEWEI,B
INC SCANLED
MOV A,SCANLED ;加一付A
MOV B,#4
DIV AB
MOV A,B ;A是余数
RL A
MOV DPTR,#TAB_SCAN0
JMP @A+DPTR
TAB_SCAN0:AJMP SCAN_L1
AJMP SCAN_L2
SCAN_L1: MOV P2,#0 ;选中十位数码管(最左端数码段)
MOV A,SHIWEI
JMP END_SCAN
SCAN_L2: MOV P2,#1 ;选中个位数码管
MOV A,GEWEI
JMP END_SCAN
END_SCAN:MOV DPTR,#TABLE ;数码管 表
MOVC A,@A+DPTR
MOV P0,A ;数码管段码
MOV A,LED ;LED是#ffh
MOV P1,A ;关掉所有灯
POP PSW
POP ACC
RETI
RED_LIGHT:MOV LED,#0E7H
MOV NUMTIM,RED ;灯的计时时间
DEC RED ;灯的计数值递减
MOV A,RED
CJNE A,#0FFH,RET0 ;不等则转移
MOV RED,#10
MOV A,SCANMODE
ADD A,#01H
MOV SCANMODE,A
JMP RET0
YEL_LIGHT:MOV LED,#0FBH
MOV NUMTIM,YELLOW
DEC YELLOW
MOV A,YELLOW
CJNE A,#0FFH,RET0
MOV YELLOW,#3
MOV A,SCANMODE
ADD A,#01H
MOV SCANMODE,A
JMP RET0
GRE_LIGHT:MOV LED,#0FCH
MOV NUMTIM,GREEN
DEC GREEN
MOV A,GREEN
CJNE A,#0FFH,RET1
MOV GREEN,#10
MOV A,SCANMODE
ADD A,#01H
MOV SCANMODE,A
RET1:JMP RET0
BIN_BCD:MOV B,#10
DIV AB
RET
DELAY: MOV R5,#02
D1: MOV R6,#200
D2: MOV R7,#200
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH;共阴字码表
DB 07H,7FH,6FH,77H,7CH,39H,5EH
DB 79H,71H,76H,73H,3EH,00H
END
三、交通等系统的实物连接图
第二篇:计算机控制实验报告
计算机控制系统实验报告
姓 名: 罗才宝
学 号: 0953505008
指导教师: 张志福
专业年级: 09自动化
所在院系: 昆仑学院
完成日期: 2012年12月8日
实验一 D/A数模转换实验
一、实验目的
1.掌握数模转换的基本原理。
2.熟悉12位D/A转换的方法。
二、实验仪器
1.EL-AT-II型计算机控制系统实验箱一台
2.PC计算机一台
三、实验预习
<1>、数模转换的原理:
?、D/A转换器是将输入的二进制数字量转换成模拟量,以电压或电流的形式输出。
?、D/A转换器实质上是一个译码器(解码器)。一般常用的线性D/A转换器,其输出模拟电压uo和输入数字量Dn之间成正比关系。UREF为参考电压。
则有:uo=DnUREF
?、将输入的每一位二进制代码按其权值大小转换成相应的模拟量,然后将代表各位的模拟量相加,则所得的总模拟量就与数字量成正比,这样便实现了从数字量到模拟量的转换。
<2>、数模转换的转换方法:
数模转换方法有多种:其中一种是对输入的数据进行补偿滤波,经补偿滤波后的数据率与补偿滤波前的数据率相同,补偿滤波后的输出信号;对该输出信号进行内插滤波及数据率上升,最后进行Delta-Sigma调制,输出单比特的数据流,对单比特的数据流进行半数字滤波,输出模拟信号;对模拟信号进行模拟低通滤波,输出最后的模拟信号。
另一种方法是:特征在于利用模拟信号提供装置,以相同的时间段将三个连续的采样数据变成模拟量,然后根据二次曲线运算方程,用模拟运算电路进行运算,即可输出一段二次曲线来近似表示原采样信号的相应段波形,继续地进行上述转换,就可还原出被采样的模拟信号。
四、实验测量结果
1、实验数据结果记录如下表:
数据处理:依据公式,模拟量Uo=Vref - 2Vref(29K10+...+20K0)/210 ,Vref=5.0v,可以算出理论值填入上表。
2、数字量与模拟量对应曲线
五、实验分析
从实验得出数据可以看出理论值与实测值明显有误差,其中原因主要有:量化误差,计算机本身的误差,实验箱电路产生的误差,电网电压波动,外界干扰,转换误差。
实验二 A/D模数转换实验
一、实验目的
1.掌握模数转换的基本原理。
2.熟悉10位A/D转换的方法。
二、实验仪器
1.EL-AT-II计算机控制系统实验箱一台。
2.PC计算机一台。
三、实验预习
<1>、数模转换的原理:
?、A/D转换是将模拟信号转换为数字信号,转换过程通过取样、保持、量化和编码四个步骤完成。
?、模数转换(ADC)亦称模拟一数字转换,与数/模(D/A)转换相反,是将连续的模拟量(如象元的灰阶、电压、电流等)通过取样转换成离散的数字量。
<2>、模数转换方法:
A/D转换器有直接转换法和间接转换法两大类。
直接法是通过一套基准电压与取样保持电压进行比较,从而直接将模拟量转换成数字量。其特点是工作速度高,转换精度容易保证,调准也比较方便。直接A/D转换器有计数型、逐次比较型、并行比较型等。
间接法是将取样后的模拟信号先转换成中间变量时间t或频率f, 然后再将t或f转换成数字量。其特点是工作速度较低,但转换精度可以做得较高,且抗干扰性强。间接A/D转换器有单次积分型、双积分型等。
四、实验测量结果
1、实验数据结果记录如下表:
数据处理:依据公式,数字量=(Vref-模拟量)/2Vref×210,可以算出理论值填入上表。Vref=5.0v。
2、数字量与模拟量对应曲线
五、实验分析
从实验得出数据可以看出理论值与实测值明显有误差,其中原因主要有:计算机本身的误差,实验箱电路产生的误差,电网电压波动,外界干扰,转换误差。
实验三 数字PID控制
一、实验目的
1.研究PID控制器的参数对系统稳定性及过渡过程的影响。
2.研究采样周期T对系统特性的影响。
3.研究I型系统及系统的稳定误差。
二、实验仪器
1.EL-AT-II型计算机控制系统实验箱一台。
2.PC计算机一台。
三、实验预习
<1>、PID控制器系统的组成:
<2>、PID控制器的参数对系统稳定性的影响:
1、比例系数Kp对系统稳定性能的影响
对系统的稳态性能影响:在系统稳定的前提下,加大Kp可以减少稳态误差,但不能消除稳态误差。Kp的整定主要依据系统的动态性能。
2、积分时间TI对系统性能的影响
对系统的稳态性能影响:积分控制有助于消除系统稳态误差,提高系统的控制精度,但若TI太大,积分作用太弱,则不能减少余差。
3、微分时间TD对系统性能的影响
对系统的稳态性能影响:微分环节的加入,可以在误差出现或变化瞬间,按偏差变化的趋向进行控制。它引进一个早期的修正作用,有助于增加系统的稳定性。
四、实验测量结果
1、实验参数及阶跃响应曲线
?、KP=1.000 Ki=0.020 Kd=1.000 δ%=(Cmax-C∞)/C∞=20% Ts=500ms
?、KP=2.000 Ki=0.020 Kd=1.000 δ%=(Cmax-C∞)/C∞=50% Ts=600ms
?、KP=1.000 Ki=0.020 Kd=10.000 δ%=(Cmax-C∞)/C∞=60% Ts=4000ms
④、KP=1.000 Ki=0.030 Kd=0.000 δ%=(Cmax-C∞)/C∞=20% Ts=600ms
⑤、KP=1.000 Ki=0.000 Kd=1.000 δ%=(Cmax-C∞)/C∞=0% Ts=200ms
⑥、KP=3.000 Ki=0.010 Kd=2.000 δ%=(Cmax-C∞)/C∞=30% Ts=400ms
2、实验结果总结
(1)验证了实验预习;
(2)PID控制器参数不仅对稳定性有影响,而且对动态性能也有影响。总结如下:
Kp对系统的动态性能影响:Kp加大,将使系统响应速度加快,Kp偏大时,系统振荡次数增多,调节时间加长;;Kp太小又会使系统的响应速度缓慢。Kp的选择以输出响应产生4:1衰减过程为宜。
Ti对系统的动态性能影响:积分控制通常影响系统的稳定性。TI太小,系统可能不稳定,且振荡次数较多;TI太大,对系统的影响将削弱;当TI较适合时,系统的过渡过程特性比较理想。
TD对系统的动态性能影响:微分时间TD的增加即微分作用的增加可以改善系统的动态特性,如减少超调量,缩短调节时间等。适当加大比例控制,可以减少稳态误差,提高控制精度。但TD值偏大或偏小都会适得其反。
五、本实验整体总结
PID控制器的参数必须根据工程问题的具体要求来考虑。在工业过程控制中,通常要保证闭环系统稳定,对给定量的变化能迅速跟踪,超调量小。在不同干扰下输出应能保持在给定值附近,控制量尽可能地小,在系统和环境参数发生变化时控制应保持稳定。一般来说,要同时满足这些要求是很难做到的,必须根据系统的具体情况,满足主要的性能指标,同时兼顾其它方面的要求。
实验四 炉温控制实验
一、实验目的
1.了解温度控制系统的特点。
2.研究采样周期T对系统特性的影响。
3.研究大时间常数系统PID控制器的参数的整定方法。
二、实验仪器
1.EL-AT-II型计算机控制系统实验箱一台
2.PC计算机一台
3.炉温控制实验对象一台
三、实验参数调制过程
?、Kp=2.000 Ki=0.020 Kd=1.000
?、Kp=2.000 Ki=0.200 Kd=10.000
?、Kp=1.000 Ki=0.200 Kd=10.000
④、Kp=1.000 Ki=0.100 Kd=15.000
⑤、Kp=1.000 Ki=0.500 Kd=20.000
⑥、Kp=1.000 Ki=0.800 Kd=15.000
实验结果及数据处理
1、通过多次调整Kp、Ki、Kd最终得到过渡过程较为满意且控制效果较好的控制参数:Kp=1.000 Ki=0.800 Kd=15.000
相应曲线如下:
2、实验结果分析
δ%=(Cmax-C∞)/C∞=20% Tr=14s 稳态误差:10%
总结:由于电加热炉的升温保温是靠电阻丝加热,降温则是靠环境自然冷却,所以当温度一旦超调就无法用控制手段来使其降温。这类电加热炉控制对象具有非线性,时滞以及不确定性。针对电加热炉有大惯性、纯滞后、参数时变的非线性对象的控制的特点,传统 PID 控制算法存在过渡过程时间与超调量之间的矛盾,无论怎样调节 PID 的 3 个参数,也无法解决。若要超调量小,则渡过程时间增长;如果要求过渡过程快,则必然出现较大的超调,二者难以求全。
四、提出一种有效的Kp、Ki、Kd的选择方法
实际上过渡电加热炉温度控制技术从模拟PID、数字PID到最优控制、自适应控制,再发展到智能控制,每一步都使控制的性能得到了改善。在目前的电加热炉控制方案中,PID 控制和模糊控制应用最多,但是他们都有自身难以克服的缺点。我们可以将两者结合起来提出一种 PID 参数自整定模糊控制,可以达到控制精度高、鲁棒性好、适应能力强,结构简单、易于实现的效果。其实验线路图可设计如下:
电加热炉实验线路图