欢迎来到天天文库
浏览记录
ID:12547741
大小:737.51 KB
页数:104页
时间:2018-07-17
《嵌入式课程设计报告(交通灯控制、uc-os-ⅱ的移植)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、任务一十字路口交通灯控制一、设计目的:1.了解基于ARM7核的LPC2106的管脚功能和特点,掌握I/O控制寄存器的设置方法;2.掌握ARM7应用系统编程开发方法,能用C语言编写应用程序;3.熟练掌握ADS1.2软件的使用以及PROTEUS仿真调试的方法;二、具体任务:1.采用PROTEUS完成十字路口交通灯控制的硬件电路设计,要求单片机选型为飞利浦公司的LPC2106,东西南北方向分别设置红黄绿3个指示灯,东西方向和南北方向各用1个数码管显示通行时间;2.用ADS1.2编写C语言应用程序,完成十字路口交通灯控制;3.采用PROTEUS将应用程序装载在LPC2106中,进行仿真验证
2、。要求东西方向和南北方向的数码管显示通行时间并倒计时,可以设置成一样,例如都是9秒倒计时;每当倒计时时间到,完成红黄绿指示灯的状态切换,模拟实现十字路口的交通灯管理控制。三、硬件电路设计。(参考下图完成硬件电路设计,用屏幕抓图的方式将自己设计的PROTEUS电路图粘贴在下面,并用文字对所设计的电路功能、原理进一步说明)附图:104硬件电路说明:硬件说明:飞利浦公司的LPC2106,双位共阴数码管,交通等模型。管脚说明:P0.0~P0.6接数码管的段选a~g;P0.7、P0.8接数码管的位选1、2;P0.10~P0.12接交通灯,分别对应南北方向的红、黄、绿和东西方向的绿、黄、红四、
3、源程序。(只将C语言应用程序附在后面,其它项目文档不要提供,C语言应用程序要有一定的注释说明)源程序:#include"config.h"#include"LPC2106.h"int8j=0;//定义全局变量juint8led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管段选值/********************************************************延迟子函数*******************************************************/
4、voiddelay(intt){inti;for(i=0;i5、j==6、3){m=11;}//elseif(j==2){m=12;}//IOCLR=0xffffffff;//io口清零IOSET=(1<7、1<<8);//显示灯的颜色,并对数码管位选十位IOSET+=led[l];//数码管段选delay(100);IOCLR=0xffffffff;//io清零IOSET=(1<8、1<<7);//显示灯的颜色,并对数码管位选个位IOSET+=led[i];//数码管段选delay(100);}/*******************************************************主函数*******************9、************************************/intmain(void){PINSEL0=0x00000000;//配置pinsel0寄存器,io低15位作普通输入输出口IODIR=0xffffffff;//配置io口为输出IOCLR=0xffffffff;//io口清零while(1)//死循环{if(j==0)//南北方向红灯,东西方向绿灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==1)//东西南北都为黄灯{inti,l;104for(i=6000010、;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==2)//南北方向绿灯,东西方向红灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==3)//东西南北都为黄灯{inti,l;for(i=60000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j=0;}}}五、仿真效果。(用屏幕抓图
5、j==
6、3){m=11;}//elseif(j==2){m=12;}//IOCLR=0xffffffff;//io口清零IOSET=(1<7、1<<8);//显示灯的颜色,并对数码管位选十位IOSET+=led[l];//数码管段选delay(100);IOCLR=0xffffffff;//io清零IOSET=(1<8、1<<7);//显示灯的颜色,并对数码管位选个位IOSET+=led[i];//数码管段选delay(100);}/*******************************************************主函数*******************9、************************************/intmain(void){PINSEL0=0x00000000;//配置pinsel0寄存器,io低15位作普通输入输出口IODIR=0xffffffff;//配置io口为输出IOCLR=0xffffffff;//io口清零while(1)//死循环{if(j==0)//南北方向红灯,东西方向绿灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==1)//东西南北都为黄灯{inti,l;104for(i=6000010、;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==2)//南北方向绿灯,东西方向红灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==3)//东西南北都为黄灯{inti,l;for(i=60000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j=0;}}}五、仿真效果。(用屏幕抓图
7、1<<8);//显示灯的颜色,并对数码管位选十位IOSET+=led[l];//数码管段选delay(100);IOCLR=0xffffffff;//io清零IOSET=(1<8、1<<7);//显示灯的颜色,并对数码管位选个位IOSET+=led[i];//数码管段选delay(100);}/*******************************************************主函数*******************9、************************************/intmain(void){PINSEL0=0x00000000;//配置pinsel0寄存器,io低15位作普通输入输出口IODIR=0xffffffff;//配置io口为输出IOCLR=0xffffffff;//io口清零while(1)//死循环{if(j==0)//南北方向红灯,东西方向绿灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==1)//东西南北都为黄灯{inti,l;104for(i=6000010、;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==2)//南北方向绿灯,东西方向红灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==3)//东西南北都为黄灯{inti,l;for(i=60000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j=0;}}}五、仿真效果。(用屏幕抓图
8、1<<7);//显示灯的颜色,并对数码管位选个位IOSET+=led[i];//数码管段选delay(100);}/*******************************************************主函数*******************
9、************************************/intmain(void){PINSEL0=0x00000000;//配置pinsel0寄存器,io低15位作普通输入输出口IODIR=0xffffffff;//配置io口为输出IOCLR=0xffffffff;//io口清零while(1)//死循环{if(j==0)//南北方向红灯,东西方向绿灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==1)//东西南北都为黄灯{inti,l;104for(i=60000
10、;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==2)//南北方向绿灯,东西方向红灯{inti,l;for(i=300000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j++;}if(j==3)//东西南北都为黄灯{inti,l;for(i=60000;i>0;i=i-2)//持续时间设置{l=i/10000;display(l);}j=0;}}}五、仿真效果。(用屏幕抓图
此文档下载收益归作者所有