版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE1单片机综合实验报告题目:模拟真实交通灯班级: 姓名: 学号: 指导老师: 时间:一、实验内容:用8255芯片的PA、PB口低四位做输出口,控制十二个发光二极管燃灭,模拟十字路口交通灯管理,并利用数码显示器进行倒计时显示(采用单片机内部定时器定时)。通过外部中断能使交通灯暂停运行,并点亮4个红灯。通过16*16点阵中的图形模拟控制行人过马路的人形“走”、“停”指示灯,可参考下图所示。选做增加项目:在交通灯开始之前可通过开关对红绿灯亮灭时间的初始值进行增、减设定或者交通灯暂停时加上乐曲报警。二、实验电路及功能说明电路:74LS138译码器电路8255与发光二极管连线图数码LED显示器电路(不需接线)16×16LED点阵显示电要求:交通灯亮灭过程同“8255控制交通灯实验”,倒计时显示只需两位数(0~99),用定时器定时进行倒计时,每秒钟减1。在16*16点阵中显示的人形“走”、“停”标志可自定义,由专门软件可转换为相应显示代码,不需自己推理。三、实验程序流程图:主程序:子程序:详细程序请参考程序清单。四、实验结果分析对程序进行仿真可以观察到:点阵中交替显示如图(a)、(b)所示图像,且交替显示时间为30秒。当显示图像为(a)时,表示可以容行人通过,限时30秒;当显示图像为(b)时,表示不容行人通过,也限时30秒。如此,在十字路口各置一对点阵即可模拟实景。五、心得体会通过此次实验,对单片机的I/O口的使用的条件有了更深的理解,对单片机的各个管脚功能的理解也加深了,以及在常用编程设计思路技巧的掌握方面也向前迈了一大步。这次的课程设计让我把单片机的理论知识应用在实践中,实现了理论和实践相结合,从中更懂得理论是实践的基础,实践有助于检验理论的正确性的道理,对我以后参加工作或者继续学习深造将产生巨大的帮助和影响。六、程序清单#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedint#defineROW1XBYTE[0XFFE3]#defineROW2XBYTE[0XFFE0]#defineCOL1XBYTE[0XFFE2]#defineCOL2XBYTE[0XFFE1]#definePAXBYTE[0xffd8]#definePBXBYTE[0xffd9]#defineCTLXBYTE[0xffdb]#defineSEGXBYTE[0xffdc]#defineBITXBYTE[0xffdd]#defineallredend10#defineewredend2*ewstarter+allredend#definesnyellowendewredend+10#definesnredendsnyellowend+2*snstarter#defineewyellowendsnredend+10sbitKEY1=P1^0;sbitKEY2=P1^1;sbitKEY3=P1^2;sbitP32=P3^2;uchartongBu;ucharcodeewTable[]={0xb6,0x75,0xf3,0xf7,0xae,0x9e,0xbe};ucharcodensTable[]={0xd,0xd,0xc,0xd,0xb,0x7,0xf};//uchartempa,tempb;inttime=1,cnt,change,intflag,inttime=1,ewstarter=10,snstarter=15;inttempseg;ucharkey1=0;ucharbuffer[]={0,0,0,0,0,0};uchartable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*--行走--*//*--宽度x高度=16x16--*/ucharcodeled1[]={0x01,0x80,0x02,0x40,0x02,0x40,0x01,0x80,0x03,0xC0,0x06,0x60,0x0A,0x50,0x0A,0x50,0x0B,0xD0,0x12,0x48,0x02,0x40,0x02,0x60,0x04,0x20,0x04,0x20,0x08,0x20,0x18,0x60};/*--停止--*//*--宽度x高度=16x16--*/ucharcodeled2[]={0x01,0x80,0x02,0x40,0x02,0x40,0x01,0x80,0x07,0xE0,0x7E,0x7E,0x02,0x40,0x02,0x40,0x03,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x03,0xC0};/*--文字:高--*//*--Fixedsys12;此字体下对应的点阵为:宽x高=16x16--ucharcodeled2[]={0x02,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x00,0x00,0x7F,0xFC,0x40,0x04,0x4F,0xE4,0x48,0x24,0x48,0x24,0x4F,0xE4,0x40,0x14,0x40,0x08};*/voiddelayshort(){ charn; for(n=50;n>0;n--);}ucharchangeleft(ucharled){ uchartemp; temp=0; temp|=(led<<7)&0x80; temp|=(led<<5)&0x40; temp|=(led<<3)&0x20; temp|=(led<<1)&0x10; temp|=(led>>1)&0x08; temp|=(led>>3)&0x04; temp|=(led>>5)&0x02; temp|=(led>>7)&0x01; return(temp);}voidled16_16display(uchar*table,ucharlength){ uchari=length/2,scan1=0x1,scan2=0x1; for(i=0;i<16;i++) { if(i<8) { ROW1=0; ROW2=0; COL1=scan1; COL2=0; ROW1=changeleft(table[2*i]); ROW2=table[2*i+1]; COL1=scan1; COL2=0; delayshort(); scan1<<=1; } else { ROW1=0; ROW2=0; COL1=0; COL2=scan2; ROW1=changeleft(table[2*i]); ROW2=table[2*i+1]; COL1=0; COL2=scan2; delayshort(); scan2<<=1; } }}voidchangeseg(){ if(key1==0) { buffer[3]=10; buffer[0]=10; buffer[5]=tempseg%10; buffer[4]=tempseg/10; buffer[2]=tempseg%10; buffer[1]=tempseg/10; } elseif(key1==1) { buffer[3]=10; buffer[0]=10; buffer[5]=ewstarter%10; buffer[4]=ewstarter/10; buffer[2]=ewstarter%10; buffer[1]=ewstarter/10; } else { buffer[3]=10; buffer[0]=10; buffer[5]=snstarter%10; buffer[4]=snstarter/10; buffer[2]=snstarter%10; buffer[1]=snstarter/10; }}voidtimer1()interrupt3{ staticuchartemp=0x20,cnt1; TH1=(65536-1000)/256; TL1=(65536-1000)%256; changeseg(); SEG=0xff; SEG=table[buffer[cnt1]]; cnt1++; if(cnt1==6) cnt1=0; BIT=temp; temp>>=1; if(temp==0) temp=0x20;}voidint_0()interrupt0{ delayshort(); if(P32==0) { PA=0xB6; PB=0xd; PT0=1; PT1=1; intflag=1; while(inttime<=20) led16_16display(led2,32); inttime=1; intflag=0; PT0=0; PT1=0; PA=ewTable[tongBu]; PB=nsTable[tongBu]; }}voidtimer0()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; cnt++; if(cnt==5) { cnt=0; if(intflag==1) { inttime++; tempseg=10-inttime/2; } else { time++; if(time<=allredend) { tongBu=0; PA=ewTable[tongBu]; PB=nsTable[tongBu]; tempseg=allredend/2-(time+1)/2; } elseif((time>allredend)&&(time<=ewredend)) { tongBu=1; PA=ewTable[tongBu]; PB=nsTable[tongBu]; tempseg=ewstarter+allredend/2-(time+1)/2; } elseif((time>ewredend)&&(time<=snyellowend)) { if(change==0) { tongBu=2; PA=ewTable[tongBu]; PB=nsTable[tongBu]; change=1; } else { tongBu=3; PA=ewTable[tongBu]; PB=nsTable[tongBu]; change=0; } tempseg=ewstarter+allredend/2+5-(time+1)/2; } elseif((time>snyellowend)&&(time<=snredend)) { tongBu=4; PA=ewTable[tongBu]; PB=nsTable[tongBu]; tempseg=ewstarter+allredend/2+5+snstarter-(time+1)/2; } elseif((time>snredend)&&(time<=ewyellowend)) { if(change==0) { tongBu=5; PA=ewTable[tongBu]; PB=nsTable[tongBu]; change=1; } else { tongBu=6; PA=ewTable[tongBu]; PB=nsTable[tongBu]; change=0; } tempseg=ewstarter+10+allredend/2+snstarter-(time+1)/2; } else { tongBu=1; time=allredend+1; PA=ewTable[tongBu]; PB=nsTable[tongBu]; tempseg=ewstarter+allredend/2-(time+1)/2; } } }}voidkey(){ ucharkeynum; keynum=~(P1|0XF8); switch(keynum) { case0x1: while(KEY1==0)led16_16display(led2,32); key1++; TR0=0; if(key1==3) { key1=0; TR0=1; } break; case0x2: while(KEY2==0)led16_16display(led2,32); if(key1==1) { ewstarter++; if(ewstarter==100) ewstarter=0; } if(key1==2) { snstarter++; if(snstarter==100) snstarter=0; } break; case0x4: while(KEY3==0)led16_16display(led2,32); if(key1==1) { ewstarter--; if(ewstarter==-1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年美术辅助用品行业跨境出海战略分析研究报告
- 2025-2030年客户画像动态更新技术企业制定与实施新质生产力战略分析研究报告
- 初中地理七年级下册(商务星球版)《全球视野下的发展差异与协同共生》教学设计
- 2026中国人民财产保险股份有限公司义乌支公司招聘备考题库及完整答案详解1套
- 2026年4月浙江嘉兴市平湖市医疗卫生单位招聘编外用工11人备考题库及答案详解(考点梳理)
- 2026中国人民大学团委招聘1人备考题库(北京)含答案详解(培优)
- 2026江苏无锡市外服人才科技有限公司招聘4人备考题库及答案详解(名校卷)
- 2026江苏南通通州湾三余人民医院招聘医疗辅助人员1人备考题库含答案详解(典型题)
- 2026浙江宁波市人力资源发展服务中心编外工作人员招聘3人备考题库及答案详解(夺冠)
- 2026青海屋脊商贸有限公司招聘1人备考题库附答案详解(巩固)
- 《新青年 郑出发》打造城市夜经济文旅美食商业街运营规划方案
- 2024高速公路沥青路面养护工程方案设计图集
- T/CAPA 1-2019脂肪注射移植
- 躯体活动障碍护理措施
- 音乐推广合同范本
- 年度得到 · 沈祖芸全球教育报告(2024-2025)
- DB11∕T 2192-2023 防汛隐患排查治理规范 市政基础设施
- 贵州省防雷检测专业技术人员资格参考试题库(含答案)
- 住院患者身体约束护理团标精神科保护性约束实施及解除专家共识
- AI在药物研发中的应用
- 危险化学品-危险化学品的运输安全
评论
0/150
提交评论