资源描述:
《嵌入式系统课程实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、班级:自动化082学号:06411200114姓名:何振凯指导教师:周汝成绩:嵌入式课程设计实习报告设计任务一十字路口交通灯控制一、设计目的:1.了解基于ARM7核的LPC2106的管脚功能和特点,掌握I/O控制寄存器的设置方法;2.掌握ARM7应用系统编程开发方法,能用C语言编写应用程序;3.熟练掌握ADS1.2软件的使用以及PROTEUS仿真调试的方法;二、具体任务:1.采用PROTEUS完成十字路口交通灯控制的硬件电路设计,要求单片机选型为飞利浦公司的LPC2106,东西南北方向分别设置红黄绿3个指示灯,东西方向和南北方向各用
2、1个数码管显示通行时间;2.用ADS1.2编写C语言应用程序,完成十字路口交通灯控制;3.采用PROTEUS将应用程序装载在LPC2106中,进行仿真验证。要求东西方向和南北方向的数码管显示通行时间并倒计时,可以设置成一样,例如都是9秒倒计时;每当倒计时时间到,完成红黄绿指示灯的状态切换,模拟实现十字路口的交通灯管理控制。三、硬件电路设计。我选择了以下器件来进行此实验的硬件设计:7SEG-COM-ANODE7SEG-COM-CATHODE97SEG-MPX2-CALPC210610WATT0R1AUDI01ULED-GREENLED
3、-REDLED-YELLOWPCELECT47U25V附图:四、源程序。源程序:#include"config.h"#include"LPC2106.h"uint32shuzu[9]={0x0000c00c,0x0000f90c,0x0000a40c,0x0000b00c,0x0000990c,0x0000920c,0x0000820c,0x0000f80c,0x0000800c};uint32shuzu1[4]={0x0000c012,0x0000f912,0x0000a412,0x0000b012};uint32shuzu2[9
4、]={0x0000c021,0x0000f921,0x0000a421,0x0000b021,0x00009921,0x00009221,0x00008221,0x0000f821,0x00008021};/**********延迟数字显示时间**********/voiddelay(uint32q){uint32q;for(;q>0;q--);}intmain(){intn,m;9/*****设置端口为第一功能*********/PINSEL0=0x00000000;PINSEL1=0x00000000;/********设置端口
5、为输出**********/IODIR=0xffffffff;while(1){for(n=8;n>=0;n--){IOSET=shuzu[n];//输出所要显示的数据delay(900000);IOCLR=0xffffffff;}for(m=3;m>=0;m--){IOSET=shuzu1[m];//输出置1delay(900000);IOCLR=0xffffffff;//输出清零}for(n=8;n>=0;n--){IOSET=shuzu2[n];//输出所要显示的数据delay(900000);IOCLR=0xffffffff
6、;}for(m=3;m>=0;m--){IOSET=shuzu1[m];//输出置1delay(900000);IOCLR=0xffffffff;//输出清零}}}五、仿真效果。9设计任务二uC/OS-Ⅱ的移植与应用一、设计目的:1.了解嵌入式实时操作系统μC/OS-II可移植、可裁剪等性能特点,正确理解实时操作系统中任务、信号、消息、中断等基本概念以及μC/OS-II多任务管理的调度算法;2.掌握μC/OS-II在ARM7上移植的方法;3.能将μC/OS-II移植在LPC2106中,并根据具体要求创建用户任务,解决实际问题;二、具
7、体任务:1.μC/OS-II移植在LPC2106中。2.编写用户任务程序,完成实时温度的采集控制。硬件电路见参考硬件电路图,图中用滑动变阻器代替温度传感器转换后的电压,用ADC0809完成A/D转换,并用数码管显示出来。三、硬件电路设计。我选择了以下器件来进行此实验的硬件设计:7SEG-MPX4-CC24C02C74HC3737404ADC0808BUTTON9CAP-ELECLPC2106LED-BLUELED-GREENNOTPOT-LOGRESSW-DPST附图:四、源程序。源程序:#include"config.h"#def
8、ineTASK_STK_SIZE64#definekey0x00001000#defineadstart0x00002000#defineadend0x00004000uint32bai[10]={0x0000013f,0x00000