已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计方案一、 实训名称;单片机实训二、 基本功能;设计一个交通灯,模型,通过红,黄,绿三色发光二极管仿真红绿交通灯,三色光的状态按照实际的交通灯处理,各色灯的显示时间自行定义,能够通过LED显示当前状态时间倒计时显示。扩展功能;各色灯的时间可以通过按键来进行修改。三、 任务分析1一般情况下由南北和东西组成的十字路口,南北道放行13秒(数码管从13秒开始倒数,其中3秒用于黄灯时间),东西道放行10秒(两个数码管从13秒开始倒数,其中3秒用于黄灯时间)。2、编程过程:显示界面:采用数码管和LED灯相结合的方法,因为实际既要求倒计时施主输出,又要求又状态灯输出等,为方便观看并考虑到现实状况,用2个共阴极数码管与12个LED分别显示时间和灯提示信息。控制端口0/用p1口来控制红绿灯的变化1、 用p3口来控制数码管的显示2、 用p2口的高四位来控制com端口3、 用p2口的低四位来控制按键端口4、 用共阴极数码管来显示倒计时5、 P1口用低电平点亮灯,6、 设计思路;51单片机来作为主控,根据电平的变换来控制红绿灯的状态,时间用数码管的显示来控制,7、 设一个十字路口的初始状态 1:南北绿灯亮,东西红灯亮;持续一段时间然后转状态 2:南北绿灯变成黄灯亮,东西红灯亮;过后转状态,持续一段时间 3:东西绿灯亮,南北红灯亮;持续一段时间 再转状态 4:东西绿灯变成黄灯亮,南北红灯亮。一段时间后,又循环至状态1。中间可通过中断按键产生中断,跳入中断程序执行中断。按键方面我用了三个,一个用来南北、东西互换是时候用来调整红绿灯的状态时间用其他两按键来控制,实现调整。7、交通信号灯的状态表如下:(其中,0代表灯亮,1代表灯灭)1)P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下: 方向状态无南 北东 西十六进制值说 明P1.7 P1.6P1.5 P1.4 P1.3P1.2 P1.1 P1.01000111100x6c南北绿东西红2001011100xac南北黄东西红3001100110xd8东西绿南北红4001101010xd4东西绿南北黄2)对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制12个信号灯。3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。4、通过延时时间来实现倒计时显示器,增添和减少显示时间来实现其倒计时和灯持续的时间。5、共阴极:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。4 控制数码管驱动级的控制电路有静态式和动态式两类:5 静态驱动:它是指每个数码管都要用一个译码器译码驱动。6动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,延时时间比较短所以显示出来电路图红绿灯的源程序#include sbit com1=P27; /定义com端sbit com2=P26;sbit com3=P25;sbit com4=P24;sbit k1=P23; /定义开关端口sbit k2=P21;sbit k3=P20;unsigned char table=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90; /数码管的代码显示 unsigned char num=0,num1,temp1=10,temp2=13,flag;/定义变量 void delay();/定义延时 void scanfkey(); / 定义按键控制void display(); / 定义调用程序unsigned char m1=10,m2=13,m3=13,m4=10,a,b,c,d;/全局变量的定义void main() TMOD=0X01; /定时计数器工作在方式一TH0=(65535-50000)/256; /定义定时计数器每次执行运行50MSTL0=(65535-50000)%256;ET0=1; /允许T0中断开始EA=1; /cpu工作TR0=1; /定时计数器运行com1=1;/显示器工作com2=1;com3=1;com4=1;P1=0x6c; /东西绿灯时候的亮灯情况while(1)display();/调用数码管显示子程序scanfkey();/按键调用子程序void timer0() interrupt 1/定时计数器0TH0=(65535-50000)/256; /定义定时计数器每次执行运行50MSTL0=(65535-50000)%256;num+;if(num=4)/当运行到20次的时候是1秒 num=0; /运行20次完成1秒num清0num1+;/秒自加temp1-; /南北倒计时显示temp2-; /东西倒计时显示if(num1=10+a-b)/当等于某个时间秒变换红绿灯状态 P1=0xac;/东西黄灯时候的亮灯情况南北继续为红灯持续3秒temp1=3;/南北数码管的显示倒计时3秒if(num1=13+a-b) /当等于某个时间秒变换红绿灯状态P1=0xd8; /南北绿灯亮灯情况东西红灯持续10秒temp1=m3;/南北数码管的显示temp2=m4;/东西数码管的显示 if(num1=23+a-b+c-d) /当等于某个时间秒变换红绿灯状态P1=0xd4; /南北黄灯亮灯情况东西红灯持续3秒temp2=3; /东西数码管的显示if(num1=26+a-b+c-d) /当等于某个时间秒变换红绿灯状态 P1=0x6c;/东西绿灯时候的亮灯情况南北红灯持续10秒 temp1=m1;/南北数码管的显示temp2=m2;/东西数码管的显示 num1=0; /num1清0 void display()unsigned char n1,n2,n3,n4; /定义变量n1=temp1/10; /倒计时十位显示南北n2=temp1%10; /倒计时个位显示南北n3=temp2/10; /倒计时十位显示东西n4=temp2%10; /倒计时个位显示东西P3=tablen1; /南北显示倒计时十位情况,取反com1=0; /端口运行delay(); /延时com1=1; /端口断开P3=tablen2; /南北显示倒计时个位情况,取反com2=0; /端口运行delay();/延时com2=1; /端口断开P3=tablen3; /东西显示倒计时十位情况,取反com3=0; /端口运行delay(); /延时com3=1; /端口断开P3=tablen4;/东西显示倒计时个位情况,取反com4=0;/端口运行delay(); /延时com4=1; /端口断开void scanfkey() /按键控制调用程序 if(k1=0) /k1按键是否按下flag+; /按键自加次数if(flag=3) /如过按键加到3flag=0; /按键恢复到初始状态while(!k1); /按键判断if(flag!=0) /按键不释放TR0=0; /定数计数器不工作if(flag=1)&(TR0=0)/按键等于一次时候同时定时计数器不工作P1=0x6c; /灯状态 temp1=m1; /南北倒计时的数值temp2=m2; /东西倒计时的数值if(k2=0) /k2按键是否按下 m1+; /m1自加m2+; /m2自加 a+; /自加次数while(!k2); /判断按键是否释放if(k3=0) /k2按键是否按下m1-; /m1自减m2-; /m2自减b+; /自减次数while(!k3);/判断按键是否释放if(flag=2)&(TR0=0)/按键等于一次时候同时定时计数器不工作 P1=0xd8; /灯状态 temp1=m3; /南北显示器状态 temp2=m4; /东西显示状态if(k2=0) /按键是否按下 m3+; /m3自加m4+;/m4自加c+; /自加次数while(!k2);/按键是否释放if(k3=0) /k3是否按下 m3-; /m3自减m4-; /m4自减d+; /自减次数while(!k3); /k3是否释放if(flag=0)&(TR0=0) /按键归0是定时计数器不工作P1=0x6c; /灯状态temp1=m1; /南北显示器初始状态temp2=m2; /东西显示器初始状态TR0=1; /计数器开始工作 void delay()/延时unsigned char i,j;/定义变量for(i=0;i10;i+)/控制变量for(j=0;j10;j+);/控制变量 六所遇到的问题以及处理方法1、 数码管的显示乱码:看数码管的用的是共阴极还是共阳极,看数码管显示代码的是否对应,(C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注塑机租赁合同范本
- 广告位购买合同范本
- 小木屋订购合同范本
- 小广告清理合同范本
- 小宾馆租房合同范本
- 扫雪车雇佣合同范本
- 扶贫协议书合同范本
- 扶贫搬迁意向协议书
- 找矿产承包合同范本
- 承包安全施工协议书
- 办营业执照房屋租赁合同范本(通用)
- 露天矿山安全知识培训课件露天煤矿
- 荷花种植可行性方案
- 食品化学-第十章-食品的风味物质
- 2024年中国中信集团招聘笔试参考题库含答案解析
- (完整word版)文件签收登记表(模板)
- 火龙罐联合耳穴压豆治疗失眠个案护理
- GB/T 6074-1995板式链、端接头及槽轮
- GB/T 13871.1-2007密封元件为弹性体材料的旋转轴唇形密封圈第1部分:基本尺寸和公差
- 洁净车间管理培训课件
- 荣誉证书模板范例可修改
评论
0/150
提交评论