XX学院课程设计
课 程 单片机课程设计
题 目 交通灯系统
院 系 机电系
专业班级
学生姓名
学生学号
指导教师
2016年 X月 X日
目录
摘 3
引言 3
1设计目 4
2设计求 4
3系统总体方案硬件设计 4
31设计思想总体设计 4
32硬件设计 5
33复位电路 9
34数码显示 9
35 红绿灯显示 10
36键盘:独立键盘+中断 10
37系统原理图 11
4软件设计 11
41总体流程 11
42循环流程控制思路 12
43源程序 12
5调试运行 17
51正常运行状态 17
52左右行显示 18
53黄灯闪烁显示 18
6设计心体会 19
7参考文献 19
摘
交通日常生活中占重位着社会活动日益频繁点更体现淋漓致交通信号灯出现交通效制疏导交通流量提高道路通行力减少交通事明显效果系统采单片机AT89C51中心器件设计交通灯控制器系统实性强操作简单扩展强设计采单片机模拟十字路口交通灯种状态显示倒计时时间
设计系统单片机交通灯状态显示系统LED数码显示系统等部分组成系统基交通灯功外具倒计时紧急情况处理等功较模拟实现十字路口出现状况
系统采单片机C语言编写编写程序LED数码显示程序等总体完成软件编写
关键词:交通灯控制AT89C51倒计时显示
引言
年着科技飞速发展单片机应正断走深入时带动传统控制检测日新月益更新实时检测动控制单片机应系统中单片机作核心部件仅单片机方面知识够应根具体硬件结构针具体应象特点软件结合加完善交通信号灯出现交通效制疏导交通流量提高道路通行力减少交通事明显效果交通信号灯数城市广泛应传统交通信号灯控制般采电子线路继电器控制结构复杂性低障率高次设计基AT89C51单片机交通灯控制系统东西南北通行时间调倒计时显示通行时间灯功该系统具设计周期短性高维护方便简单等优点
1设计目
11巩固加深单片机原理接口技术知识理解
12培养根课题需选学参考书籍查阅手册文献资料力
13学会方案证较方法拓宽知识初步掌握工程设计基方法
14掌握常仪器仪表正确方法学会软硬件设计调试方法
15课程设计求编写课程设计报告正确反映设计实验成果计 算机绘制电路图流程图
2设计求
1)东西干道南北干道通行分左行右行直行中左行右行固定15秒直行固定30秒
2)信号灯分绿灯红灯黄灯次绿灯换红灯时黄灯亮3秒
3)东西干道南北干道交控制次干道绿灯交时3秒钟干道交通灯黄灯闪烁3秒钟提示已进入路口车辆迅速通
4)遇突发状况时方静止通行显示红灯维持5秒倒计时
3系统总体方案硬件设计
31设计思想总体设计
1)分析目前交通路口基控制技术种通行方案基础提出交通控制初步方案
2)确定系统交通控制总体设计包括十字路口具体通行禁行方案设计系统应拥项功里设计信号灯状态控制实现基交通功增加倒计时显示提示
3)进行显示电路灯状态电路键电路设计器件选择连接体分配器件模块基功求
4)进行软件系统设计系统采C语言编写单片机部结构工作情况做充足研究解定时器中断延时原理总体完成软件设计
中断键盘
单片机
LED数码显示
复位电路
LED指示灯
晶振电路
图1 系统框图
32硬件设计
1)单片机选型:AT89C51
MCS51单片机产品兼容8k字节系统编程Flash存储器1000次檫写周期全静态操作:0Hz~33Hz三级加密程序存储器32编程IO口线三16位定时器计数器八中断源全双工UART串行通道低功耗空闲掉电模式掉电中断唤醒门狗定时器双数指针掉电标识符
功特性描述
AT89C51种低功耗高性CMOS8位微控制器具 8K 系统编程Flash 存储器Atmel 公司高密度非 易失性存储器技术制造工业80C51 产品指令引脚完 全兼容片Flash允许程序存储器系统编程适 常规编程器单芯片拥灵巧8 位CPU 系统 编程FlashAT89C51众嵌入式控制应系统提 供高灵活超效解决方案 AT89C51具标准功: 8k字节Flash256字节RAM 32 位IO 口线门狗定时器2 数指针三16 位 定时器计数器6量2级中断结构全双工串行口 片晶振时钟电路外AT89C51 降0Hz 静态逻 辑操作支持2种软件选择节电模式空闲模式CPU 停止工作允许RAM定时器计数器串口中断继续工 作掉电保护方式RAM容保存振荡器冻结 单片机切工作停止直中断硬件复位止8 位微控制器 8K 字节系统编程 Flash AT89C52
P0 口:P0口8位漏极开路双IO口作输出口位驱动8TTL逻辑电P0端口写1时引脚作高阻抗输入
访问外部程序数存储器时P0口作低8位址数复种模式 P0具部拉电阻
flash编程时P0口接收指令字节程序校验时输出指令字节程序校验时需外部拉电阻
P1 口:P1 口具部拉电阻8 位双IO 口p1 输出缓器驱动4
TTL 逻辑电P1 端口写1时部拉电阻端口拉高时作输入口作输入时外部拉低引脚部电阻原输出电流(IIL)
外P10P12分作定时器计数器2外部计数输入(P10T2)时器计数器2触发输入(P11T2EX)具体表示
flash编程校验时P1口接收低8位址字节
引脚号第二功
P10 T2(定时器计数器T2外部计数输入)时钟输出
P11 T2EX(定时器计数器T2捕捉重载触发信号方控制)
P15 MOSI(系统编程)
P16 MISO(系统编程)
P17 SCK(系统编程)
P2 口:P2 口具部拉电阻8 位双IO 口P2 输出缓器驱动4
TTL 逻辑电P2 端口写1时部拉电阻端口拉高时作输入口作输入时外部拉低引脚部电阻原输出电流(IIL)
访问外部程序存储器16位址读取外部数存储器(例执行MOVX @DPTR)
时P2 口送出高八位址种应中P2 口强部拉发送18位址(MOVX @RI)访问外部数存储器时P2口输出P2锁存器容
flash编程校验时P2口接收高8位址字节控制信号
P3 口:P3 口具部拉电阻8 位双IO 口p2 输出缓器驱动4 TTL 逻辑电P3 端口写1时部拉电阻端口拉高时作输入 口作输入时外部拉低引脚部电阻原输出电流(IIL)
P3口作AT89C51特殊功(第二功)表示
flash编程校验时P3口接收控制信号
端口引脚 第二功
P30 RXD(串行输入口)
P31 TXD(串行输出口)
P32 INTO(外中断0)
P33 INT1(外中断1)
P34 TO(定时计数器0)
P35 T1(定时计数器1)
P36 WR(外部数存储器写选通)
P37 RD(外部数存储器读选通)
外P3口接收FLASH闪存编程程序校验控制信号
RST——复位输入振荡器工作时RST引脚出现两机器周期高电单片机复位
ALEPROG——访问外部程序存储器数存储器时ALE(址锁存允许)输出脉锁存址低8位字节般情况ALE时钟振荡频率16输出固定脉信号外输出时钟定时目注意:访问外部数存储器时跳ALE脉
FLASH存储器编程期间该引脚输入编程脉(PROG)
必通特殊功寄存器(SFR)区中8EH单元D0位置位禁止ALE操作该位置位条MOVXMOVC指令ALE激活外该引脚会微弱拉高单片机执行外部程序时应设置ALE禁止位效
PSEN——程序储存允许(PSEN)输出外部程序存储器读选通信号AT89C52外部程序存储器取指令(数)时机器周期两次PSEN效输出两脉期间访问外部数存储器跳两次PSEN信号
EAVPP——外部访问允许欲CPU仅访问外部程序存储器(址0000HFFFFH)EA端必须保持低电(接)需注意:果加密位LB1编程复位时部会锁存EA端状态EA端高电(接Vcc端)CPU执行部程序存储器指令
FLASH存储器编程时该引脚加+12V编程允许电源Vpp然必须该器件12V编程电压Vpp
引脚图:
图2 89C51引脚图
33复位电路
图3 复位电路
8051ALEPSEN两引脚输出高电RST引脚高电时单片机复位RSTVPD端高电直接启动瞬间产生启动复位通动钮产生高电复位称手动复位图中电时接通电源电容器C相瞬间短路+5V加RSTVPD端该高电8051全机复位运行程中需程序头执行需动钮S直接+5V加RSTVPD端复位显然该电路电复位手动复位常复位电路
34数码显示
图4 数码显示
处采数码时阴极数码GFEDCBA七端口输入端口位进行赋值置位亮复位灭显示出相应数字12两端控制高位低位选通显示端口置位便选择该端口代表位进行赋值显示正常通行状况数码30秒开始倒计时方应点亮红绿黄灯遇突发状况数码5秒开始倒计时方禁止通行点亮红灯
35 红绿灯显示
图5 红绿灯显示
路口采3LED灯显示分代表红绿黄三种灯模拟路口交通变换中D7D8表示转弯模块
南北方举例正常状况30秒开始倒计时南北方直行绿灯(D6)亮起东西方禁止通行亮红灯(D2)显示15秒时南北方直行转弯两绿灯(D6D7)亮起东西方禁止通行亮红灯(D2)显示3秒时通知车辆快速通南北黄灯(D5)闪烁东西方禁止通行亮红灯(D2)
36键盘:独立键盘+中断
图6 独立键盘+中断
采开关控制进入中断路口出现紧急情况时拉动开关红绿灯发生相应改变已处理紧急情况车辆通行
发生突发情况时救护车通接通面键方中止前状态禁止通行方点亮红灯维持5秒倒计时结束5秒倒计时方恢复中止前状态
37系统原理图
图7 总电路图
开 始
4软件设计
41总体流程
南北绿东西红
30s倒计时显示
黄灯亮3s
南北红东西绿
30s倒计时显示
黄灯亮3s
图8 流程图
42循环流程控制思路
东西红灯
南北绿灯
东西红灯
南北黄灯闪
东西绿灯
南北红灯
东西黄灯闪
南北绿灯
东西红灯
南北转弯绿灯
东西转弯绿灯
南北红灯
中断
图9 流程控制图
43源程序
#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar tempaann
sbit rnP2^0
sbit nbP2^1
sbit gnP2^2
sbit rwP2^3
sbit dxP2^4
sbit gwP2^5
sbit shiP3^6
sbit geP3^7 *单片机口进行定义*
bit flag0
ucharcodetable[]{0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x71} *数字012345678916进制数定义成数组显示*
void delay(uint z)
void disp(uint n)
void nb_flash(void)
void dx_flash(void)
void xint0()
void timer0()
void LED_ON()
void xint1()
void nanbei()
void dongxi()*子函数定义*
void main()
{
uint num
num0
aa0
TMOD0x01
TH0(6553650000)256
TL0(6553650000)256
EA1
ET01
TR01
EX01
IT00
EX11
IT11 *中断初始化*
while(1)
{
nanbei()
nb_flash()
dongxi()
}
}
void delay(uint z)
{
uint xy
for(xzx>0x)
for(y110y>0y)
}
void timer0() interrupt 1
{
TH0(6553650000)256
TL0(6553650000)256
aa++
if(aa9)
{
aa0
flag1
}
}
void disp(uint n) *显示子函数*
{
while(flag)
{
ge0
P0table[n10]
delay(50)
shi1ge1
shi0
P0table[n10]
delay(50)
shi1ge1
}
if(flag1)
flag0
}
void nanbei() *南北方红绿灯数码显示子函数*
{
uint num
num30
disp(num)
while(num<30&&num>15)
{
num
P20xf3
disp(num)
}
while(num<15&&num>4) *南北方转弯红绿灯数码显示子函数*
{
num
P20xb3
disp(num)
}
}
void nb_flash(void) *南北方黄灯数码显示子函数*
{
uint a
for(a3a>0a)
{
P20xf5
nb1
delay(100)
nb0
disp(a)
}
}
void dongxi() *东西方红绿灯数码显示子函数*
{
uint num
num30
while(num<30&&num>15)
{
P20xde
disp(num)
num
}
while(num<15&&num>3) *东西方转弯红绿灯数码显示子函数*
{
num
P20x5e
disp(num)
}
while(num<3&&num>0) *东西方黄灯数码显示子函数*
{
P20xee
dx1
delay(100)
dx0
disp(num)
num
}
}
void xint0() interrupt 2 *中断定义*
{
TH0(6553650000)256
TL0(6553650000)256
LED_ON()
}
void LED_ON()
{
uint b
rn0
rw0
gn1
gw1
nb1
dx1
for(b5b>0b)
{
ge0shi1
P0table[b]
delay(1000)
ge1shi1
}
return
}
5调试运行
51正常运行状态
图10 正常运行状态
52左右行显示
图11 左右行显示
53黄灯闪烁显示
图12 黄灯闪烁显示
6设计心体会
周单片机课程设计快结束周中然开始点困难分工合作合理进行设计安排加老师耐心指导终利完成次单片机课程设计时学东西次课程设计中通动手实践操作进步学掌握单片机原理关知识特程序编程方面加深单片机原理应技术认识进步巩固单片机知识理解掌握简单单片机应系统设计制作调试方法设计时根课题求复相关知识查询相关资料根实验条件找适合方案找需元器件工具进行实验
次单片机课程设计重点通实践操作理相结合提高动手实践力提高科学思维力更周时间解更关单片机知识知识更加丰富更加充实时团队分工合作进步认识通合理分工合作够短短周时间完成设计务相信社会工作学会帮助更进入工作状态重次课程设计增加问题研究探讨学中会更帮助
单片机专业课做课程设计必须做:设计程序前单片机部结构系统解知道该单片机资源清晰思路完整软件流程图设计程序时妄想次整程序设计反复修改断改进程序设计必路养成注释程序惯程序完美否仅仅实现功应该明白思路样资料保存交流提供方便设计课程程中遇问题正常德应该次遇问题记录分析清楚免次碰样问题课程设计结束中学知识会受益终身
完成单片机课程设计发现许足学知识远远够功动完成通学次实践增强动手力提高巩固单片机方面知识特软件方面中增强团队合作精神认识理应实践中重
7参考文献
[1]李全利单片机原理应(C51)高等教育出版
[2]刘海宽包建华张兴奎南京东南学出版社20091
[3]郭天祥新概念51单片机C语言教程北京:电子工业出版社20091
[4] 张洪润单片机原理应系统 北京:机械工业出版社20042
[5] 胡雪梅单片机原理应 北京:清华学出版社20095
[6] 穆兰单片机原理接口技术 北京:机械工业出版社20065
附件1评价表
XX学院课程设计成绩评价表
课程名称
题目名称
学生姓名
学号
指导教师姓名
序号
评价项目
指 标
满分
评分
1
工作量工作态度出勤率
期圆满完成规定务难易程度工作量符合教学求工作努力遵守纪律出勤率高工作作风严谨善合作
20
2
课程设计质量
课程设计选题合理计算程简练准确分析问题思路清晰结构严谨文理通撰写规范图表完备正确
60
3
仿真实践
设计硬件程序proteus仿真运行效果良
20
总分
评语:
指导教师: 年 月 日
附件2 务书
XX学院课程设计务书
课程
题目
专业 姓名 学号
容基求参考资料等
完成期限
指导教师
专业负责
年 月 日
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档