单片机课程设计.docx
- 文档编号:5676014
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:17
- 大小:85.96KB
单片机课程设计.docx
《单片机课程设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
单片机课程设计
单片微机原理课程设计任务书
1.课程设计的内容和要求(包括原始数据、技术要求、工作要求等):
十字路口交通灯控制器按管制运行和自由通行两种模式工作。
管制运行分为4种管制状态:
南、北直行,东、西直行,南、北右转,东、西右转。
设有红、绿、黄三色信号灯和运行方向指示灯。
在每种管制状态下的运行时间实行数码显示。
一、功能要求:
1、能够设置和修改4种管制状态下的运行时间。
2、在零点到6点为自由通行时间,各通道黄灯以秒为单位闪烁,提醒司机注意安全。
二、技术要求:
1、系统停电后上电,各通道黄灯以秒为单位闪烁,设置好时钟和管制时间后,系统正常运行。
2、系统安全可靠,不会出现死机现象。
3、计时误差<0.1S。
三、结果:
能在实验箱上模拟演示。
单片微机原理课程设计任务书
2.对课程设计成果的要求〔包括图表、实物等硬件要求〕:
1、设计硬件系统:
说明各部分的工作原理,进行相关元器件的参数选择和计算,用PROTEL画出系统硬件图。
(要求提出两个以上的设计方案进行比较论证)
2、系统软件设计:
系统功能模块的划分,主要功能模块的流程图。
源程序在实验箱上进行仿真调试。
3、撰写系统使用说明书。
3.主要参考文献:
[1]赵育良许兆林.“看门狗”技术在某型相机导航数据接口板中的应用[]J国外电子元器件2005(12)
[2]刘芳芳黄会雄单片机测控系统抗干扰方法的研究与改进[J]电子质量2006.
(1)
[3]姚德法张洪林串行时钟芯片DS1302的原理与使用[J]信息技术与信息.2006.
(1)
[4]张晓军罗翔史金辉基于时钟芯片的定时控制装置[J]现代电子技术2006
(1)
[5]沈卫红单片机应用系统设计实例与分析[M]北京航空航天大学出版社
[6]楼苗然李光辉51系列单片机设计实例[M]北京航空航天大学出版社
4.课程设计工作进度计划:
序号
起迄日期
工作内容
1
6.19~6.21
进行系统功能分析,查阅相关资料,提出系统初步设计方案。
2
6.22~6.24
硬件系统详细设计,画出详细设计电路图,按排好端口地址。
3
6.25~6.27
软件设计并调试。
所有功能在实验箱上实现。
4
6.28~6.29
撰写课程设计报告
5
6.30
交设计资料,并答辩。
主指导教师
日期:
2008年5月28日
目录
1引言……………………………………………………………………………………………3
2单片机应用设计---交通灯模拟控制器………………………………………………………3
2.1设计要求……………………………………………………………………………………3
2.2功能要求……………………………………………………………………………………3
2.3技术要求……………………………………………………………………………………3
3系统设计………………………………………………………………………………………4
3.1功能设计……………………………………………………………………………………4
3.2红绿灯显示电路……………………………………………………………………………4
3.3时间显示电路………………………………………………………………………………6
3.4中断控制(紧急情况)……………………………………………………………………6
3.5按键控制……………………………………………………………………………………7
3.6晶振电路……………………………………………………………………………………7
3.7总的硬件设计电路图………………………………………………………………………8
4软件实现………………………………………………………………………………………9
5系统调试………………………………………………………………………………………10
6设计心得………………………………………………………………………………………10
7设计参考………………………………………………………………………………………11
8致谢……………………………………………………………………………………………11
9附录……………………………………………………………………………………………12
摘要:
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);本系统实用性强、操作简单、扩展功能强。
关键词:
单片机交通灯闯红灯
1引言
这个学期我们学习了单片机,单片机又被称为微控制器,是指一个集成在一块芯片上的完整计算机系统。
尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
一块单片机芯片加上必要的外围器件,就可构成完整的计算机硬件系统。
具有体积小,可靠性高,性价比高,控制能力强,使用方便,容易产品化的特点。
单片机由于其体积小、功耗低、价格低廉,且具有逻辑判断、定时计数、程序控制等多种功能,广泛应用于智能仪表、可编程控制器、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
如今,随着我国社会主义事业的快速发展,人民的生活水平都得到了极大的提高,越来越多的人购买了私人轿车。
如此多的车就给道路交通造成了很大的压力。
此次我们单片机课程设计的课题是道路交通灯,交通灯的使用在很大程度上对拥挤的道路起到了一个管理和规范的作用。
交通灯的设计由来已久,以前由于技术的限制我们通常使用的是一些数字电路上面的器件来实现的,但是这样使用的器件多,线路设计复杂,产品可靠性低。
而今单片机的引进使得交通灯控制模拟器的设计游刃有余,从而能够使用软件语言来实现以前硬件所实现的功能。
2单片机应用设计---交通灯模拟控制器
2.1设计要求:
十字路口交通灯控制器按管制运行和自由通行两种模式工作。
管制运行分为4种管制状态:
南、北直行,东、西直行,南、北右转,东、西右转。
设有红、绿、黄三色信号灯和运行方向指示灯。
在每种管制状态下的运行时间实行数码显示。
2.2功能要求:
2.2.1.能够设置和修改4种管制状态下的运行时间。
2.2.2.在零点到6点为自由通行时间,各通道黄灯以秒为单位闪烁,提醒司机注意安全。
2.3技术要求:
2.3.1系统停电后上电,各通道黄灯以秒为单位闪烁,设置好时钟和管制时间后,系统正常运行。
2.3.2系统安全可靠,不会出现死机现象。
2.3.3计时误差<0.1S。
3系统设计
系统总的硬件框图:
3.1功能设计
按照系统所需功能的要求,本系统大致可以分为一下几块来实现。
首先是8051单片机,如何来使用该单片机的输出接口P0,P1,P2,P3。
考虑是在十字路口使用的交通灯,所以总共需要2组共6个红黄绿发光二极管,来分别指示4个方向的车辆。
功能中还要求能够显示时间,还要4个七段数码显示管。
这是硬件上的要求。
软件上需要实现的是能够指示南北、东西两个方向的车辆行驶,先南北绿灯25秒,黄灯闪烁警告5秒,东西线红灯30秒;而后东西线绿灯25秒,黄灯闪烁5秒警告,南北线红灯30秒。
而后南北、东西线均黄灯10秒,使得这两个方向的车辆能够左转拐弯。
这是设计的最原始的思想。
但本系统有更进一步的要求,能够对系统原来预置的30秒时间进行修改,并且能够在数码显示器上进行显示。
这就需要用矩阵开关来实现时间调整的功能。
3.2红绿灯显示电路
硬件电路图如下:
要使两组红绿灯实现功能要求,那么需要一组控制码,亦即电平触发。
当低电平时二极管被点亮,否则二极管不亮。
基于此,我们设计了控制码表,当这些对应的控制码被送到P1口后,就能实现所要求的红绿灯功能。
设计时系统默认的时间时30秒,即放行线绿灯25秒,黄灯5秒禁止,禁止线红灯30秒。
1、放行线—绿灯亮放行25秒,此时车辆可以直行也可以右转,而后黄灯警告5秒,禁止线红灯禁行30秒。
2、禁行线—红灯亮禁止行驶30秒,而后按照放行线规律运行。
当南北线和东西线交替的成为放行线和禁止线的时候,就能够实现定时交通都能够管制功能。
控制码表
状态
持续
时间/s
紧急
按钮
解除
按钮
南北线
东西线
控制码
绿灯
黄灯
红灯
绿灯
黄灯
红灯
P3.2
P3.3
P3.7
P3.6
P3.5
P3.4
P3.1
P3.0
1
25
无效
无效
亮
灭
灭
灭
灭
亮
2
5
无效
无效
灭
闪烁
灭
灭
灭
亮
3
25
无效
无效
灭
灭
亮
亮
灭
灭
4
5
无效
无效
灭
灭
亮
灭
闪烁
灭
5
10
无效
无效
灭
闪烁
灭
灭
闪烁
灭
6
30
无效
无效
亮
灭
灭
灭
灭
亮
紧急
不定
点按
无效
灭
灭
亮
灭
灭
亮
解除
无
无效
无效
记忆
记忆
记忆
记忆
记忆
记忆
本控制码的设计思想是当两线均黄灯的时候,车辆可以向其他方向线左转,其他情况下不允许左转。
当出现紧急情况需要占用车道的时候,两线均红灯禁止通行,让紧急车辆先通行,其他情况下按照一般红绿灯规律来运行。
3.3时间显示电路
硬件电路如下:
时间显示电路采用的是四个七段数码显示管来实现功能。
分两组十位和个位显示,来分别实现南北线和东西线时间显示。
因为显示的时间是按照十进制数来显示的,但是输入到单片机中的数值确实按照十六进制来显示的,所以在处理显示的时候就需要将十六进制转换成十进制,高位送显示器的十位,低位送显示器的个位,这样就可以实现倒计时时间显示的功能了。
3.4中断控制(紧急情况)
硬件电路:
本设计采用的是INT0中断,应为INT0中断是一个低电平有效的中断,当按动紧急按钮的时候,能够实现INT0中断,当按动解除按钮的时候中断恢复。
3.5按键设置
因为系统要求的是能够实现显示时间可调的功能,故我们采用的是一个矩阵键盘,通过扫描键盘来进行输入时间的预置。
矩阵键盘硬件图如下:
通过扫面键盘的程序,就能够把输入的数值存贮在实现设置的单元中,这样就可以轻松的对显示时间来实现预置了。
3.6晶振电路
本设计采用的晶振电路图如下:
晶振采用的是12MHZ频率的晶振,随后输出送到单片机XTAL1和XTAL2口,为单片机提供脉冲驱动。
3.7总的硬件设计电路图
4软件实现
系统总的流程图如下:
5系统调试
软件调试:
可以采用KEILμVision2软件,采用单步的调试方法,可以在软件里设置断点,查看各寄存器和内存单元里的内容。
如果程序很复杂,则可以采用子程序调试方法,就是把主程序分成多个部分。
硬件调试:
这里采用LJD-2008单片机实验仿真系统,根据程序设计原理,首先检查实验箱有无硬件问题,按照如下从单片机各I/O引脚接线,这里将P1.0—P1.6接数码管的段选端,将P2.0—P2.3接数码管的位选信号,也就是数码管的动态显示。
将P3.0-P3.7接二极管指示。
将P0.0-P0.3,P2.4-P2.7分别接矩阵键盘。
检查总的电路图后无误,将调试箱同电脑进行连接,进行下载调试,这里也可以结合软件进行分步调试。
这里我们采用软件和硬件结合的调试方法,最终可以实现键盘设置时间,并且到时后按照红绿灯规律进行变换,同时也可以从数码管看到计数的正确性,经调试结果基本正常。
6设计心得
本系统就是充分利用了8051和8255芯片的I/O引脚。
系统统采用MSC-51系列单片机Intel8051和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。
。
系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。
这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现。
从拿到题目到设计再到实现所要求的功能,整整花了两周的时间。
通过这两周的实习,让我深深的体会到了从理论到实践的重要性,以前只是略懂得书本上的基本知识就以为掌握了,够了,真正参加实践才知道自己所知道的只是皮毛,实践不仅能让我们更深刻的掌握知识,也大大的增加了我们的动手操作能力。
使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为以后的就业及成为综合性人才打下来良好的专业基础。
为此,我很感谢在设计过程中帮助过我的人,也感谢老师给我这次设计的机会,非常感谢。
7设计参考
[1]赵育良许兆林.“看门狗”技术在某型相机导航数据接口板中的应用[]J国外电子元器件2005(12)
[2]刘芳芳黄会雄单片机测控系统抗干扰方法的研究与改进[J]电子质量2006.
(1)
[3]姚德法张洪林串行时钟芯片DS1302的原理与使用[J]信息技术与信息.2006.
(1)
[4]张晓军罗翔史金辉基于时钟芯片的定时控制装置[J]现代电子技术2006
(1)
[5]沈卫红单片机应用系统设计实例与分析[M]北京航空航天大学出版社
[6]楼苗然李光辉51系列单片机设计实例[M]北京航空航天大学出版社
8致谢
本论文是在余老师的悉心指导以及许多同学的热心帮助下完成的,我敢说要是没有他们的帮助我根本不可能完成。
为此,我要对他们致以最衷心的感谢。
9附录
设计源程序:
SHIJIANEQU50H;预置时间存贮单元
ORG0000H
;******************************************************************
;交通灯控制主程序
;******************************************************************
AJMPMAIN;跳转主程序
ORG000BH
AJMPT0INT;转定时器0服务子程序
MAIN:
MOVSP,#50H
MOVIE,#82H;允许T0中断
MOVTMOD,#01H;T0,定时方式1
MOVTL0,#78H;定时10ms,晶振6MHZ
MOVTH0,#0ECH
SETBTR0
MOV50H,#25;将延时时间送到50H单元
N0:
MOVR3,SHIJIAN;将延时时间送到R3
MOVP3,#07EH;南北线绿灯亮,东西线红灯亮
N01:
CJNER3,#05H,$;剩余时间是否到5秒?
N02:
MOVP3,#0BEH;南北线黄灯闪烁,东西线红灯亮
N1:
MOVR4,#00H
N11:
CJNER4,#32H,$;到0.5s没?
N12:
CPLP3.6;到0.5s闪亮0.5次(状态变换一次)
CJNER3,#00,N1;检查是否闪亮5次
N2:
MOVR3,SHIJIAN
MOVP3,#0CFH;东西线绿灯亮,南北线红灯亮
CJNER3,#05,$;检查是否剩余5秒?
MOVP3,#0DDH;东西线黄灯闪烁,南北线红灯亮
N3:
MOVR4,#00H
N31:
CJNER4,#32H,$
N32:
CPLP3.1
CJNER3,#00,N3
MOVR3,#30
SJMPN0
;**********************************************************************
;中断程序
;**********************************************************************
T0INT:
MOVTL0,#78H;定时器0中断子程序
MOVTH0,#0ECH
JNBP3.2,T02;判断紧急按钮是否有效
INCR4;10ms单元加1
INCR5
CJNER5,#64H,T01
MOVR5,#00H;1s单元
DECR3
T01:
ACALLDISP;调用显示子程序
RETI;中断子程序返回
T02:
CLRTR0;紧急状态处理子程序
PUSHP3;保护当前状态
PINT0:
MOVP3,#0DEH;送紧急状态控制码
PN0:
JNBP3.3,PN2;检查是否接触紧急状态
PM1:
ACALLDISP;调用显示子程序,使显示器静止显示
SJMPPN0
PN2:
POPP3;恢复紧急状态前的状态
SETBTR0
RETI;中断子程序返回
;*******************************************************************
;显示子程序
;*******************************************************************
DISP:
MOVR7,#00H
MOVB,#0AH
MOVA,R3
DIVAB;将十六进制转换成两位BCD码数
MOV79H,A;低位BCD码数存入低位显示缓冲区
MOV7AH,B;高位BCD码数存入高位显示缓冲区
DS1:
MOVA,79H;取待显示数字低位
MOVDPTR,#TAB;送字形码表首地址
MOVCA,@A+DPTR;取字形码
MOVP1,A;
MOVP2,#11110101B;送字位码
DJNZR7,DS1;延时
MOVR7,#00H
DS2:
MOVA,7AH;取待显示数字高位
MOVCA,@A+DPTR;取字形码
MOVP1,A
MOVP2,#11111010B
DJNZR7,DS2;延时
RET;显示子程序返回
;**************************************************************************
;字形码表
;**************************************************************************
TAB:
DB0C0H,0F9H,0A4H
DB0B0H,99H,92H
DB82H,0F8H,80H
DB90H,88H
;**************************************************************************
;键盘处理子程序
;***************************************************************************
KEY:
LCALLCHKEY
JZKEY
LCALLDELAY
LCALLCHKEY
JZKEY
LCALLVAKEY
PUSHACC
LP0:
LCALLDELAY
LCALLCHKEY
JNZLP0
POPACC
MOV7FH,A
SJMPEOF
REOF:
MOV7FH,#0FFH
EOF:
RET
;*********************************************************
;键盘分析子程序
;*********************************************************
VAKEY:
MOVR2,#0EFH
CLRA
MOVR3,A;清行计数器
MOVR4,A;清列计数器
JIANPAN:
MOVP1,R2
JBP1.0,NEX1
TAL:
MOVA,R3
ADDA,R4
RTN:
RET
NEX1:
JBP1.1,NEX2
MOVR3,#04H
SJMPTAL
NEX2:
JBP0.2,NEX3
MOVR3,#08H
SJMPTAL
NEX3:
JBP1.3,NEX4
MOVR3,#0CH
SJMPTAL
NEX4:
JBP1.7,NEX5
MOVA,#0FFH
JMPRTN
NEX5:
MOVA,R2
RLA
ORLA,#0FH
MOVR2,A
INCR4
SJMPJIANPAN
;*************************************************************************
;击键检查子程序
;*************************************************************************
CHKEY:
MOVP1,#0FH;初始化P1口低4位为输入口,高4位送0000B
MOVA,P1;取击键信息到累加器A
ORLA,#0F0H
CPLA
RET
;*************************************************************************
;消抖延时子程序
;*************************************************************************
DELAY:
MOVR7,#0AH
AA1:
MOVR5,#0FAH
AA:
NOP
NOP
DJNZR5,AA
DJNZR7,AA1
ret
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计