嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)_第1页
嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)_第2页
嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)_第3页
嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)_第4页
嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务一 十字路口交通灯控制一、设计目的:1了解基于ARM7核的LPC2106的管脚功能和特点,掌握I/O控制寄存器的设置方法;2掌握ARM7应用系统编程开发方法,能用C语言编写应用程序;3熟练掌握ADS1.2软件的使用以及PROTEUS仿真调试的方法;二、具体任务:1采用PROTEUS完成十字路口交通灯控制的硬件电路设计,要求单片机选型为飞利浦公司的LPC2106,东西南北方向分别设置红黄绿3个指示灯,东西方向和南北方向各用1个数码管显示通行时间;2用ADS1.2编写C语言应用程序,完成十字路口交通灯控制;3采用PROTEUS将应用程序装载在LPC2106中,进行仿真验证。要求东西方向和南北方向的数码管显示通行时间并倒计时,可以设置成一样,例如都是9秒倒计时;每当倒计时时间到,完成红黄绿指示灯的状态切换,模拟实现十字路口的交通灯管理控制。三、硬件电路设计。(参考下图完成硬件电路设计,用屏幕抓图的方式将自己设计的PROTEUS电路图粘贴在下面,并用文字对所设计的电路功能、原理进一步说明)附图:硬件电路说明:硬件说明: 飞利浦公司的LPC2106,双位共阴数码管,交通等模型。管脚说明:P0.0P0.6接数码管的段选ag;P0.7、P0.8接数码管的位选1、2;P0.10P0.12接交通灯,分别对应南北方向的红、黄、绿和东西方向的绿、黄、红四、源程序。(只将C语言应用程序附在后面,其它项目文档不要提供,C语言应用程序要有一定的注释说明)源程序:#includeconfig.h#includeLPC2106.hint8 j=0; /定义全局变量juint8 led=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/数码管段选值/*延迟子函数*/void delay(int t) int i;for(i=0;it;i+);/*显示子函数*/void display(int k)int i,l,m;/l=k/10;/把数码管十位的值求出并赋给li=k%10;/把数码管个位的值求出并赋给iif(j=0) m=10;/判断数码管显示的时间所对应的是红灯、绿灯、还是黄灯else if(j=1|j=3) m=11;/else if(j=2) m=12;/IOCLR=0xffffffff;/io口清零IOSET=(1m|18);/显示灯的颜色,并对数码管位选十位IOSET+=ledl;/数码管段选delay(100);IOCLR=0xffffffff;/io清零IOSET=(1m|10;i=i-2)/持续时间设置l=i/10000;display(l);j+;if(j=1)/东西南北都为黄灯int i,l;for(i=60000;i0;i=i-2)/持续时间设置l=i/10000;display(l);j+;if(j=2)/南北方向绿灯,东西方向红灯int i,l;for(i=;i0;i=i-2)/持续时间设置l=i/10000;display(l);j+;if(j=3)/东西南北都为黄灯int i,l;for(i=60000;i0;i=i-2)/持续时间设置l=i/10000;display(l);j=0;五、仿真效果。(用屏幕抓图的方式将PROTEUS运行仿真效果图粘贴在下面)任务二 uC/OS-的移植与应用一、设计目的:1了解嵌入式实时操作系统uC/OS-可移植、可裁剪等性能特点,正确理解实时操作系统中任务、信号、消息、中断等基本概念以及uC/OS-多任务管理的调度算法;2掌握uC/OS-在ARM7上移植的方法;3能将uC/OS-移植在LPC2106中,并根据具体要求创建用户任务,解决实际问题;二、具体任务:1uC/OS-移植在LPC2106中。2编写用户任务程序,完成实时温度的采集控制。硬件电路见参考硬件电路图,图中用滑动变阻器代替温度传感器转换后的电压,用ADC0809完成A/D转换,并用数码管显示出来。三、参考硬件电路。(用文字对所设计的电路功能、原理做详细说明)附图:硬件电路说明:硬件电路: 飞利浦公司的LPC2106、ADC0808模数转换芯片、四位共阴数码管、按键、74LS04反向器、模拟温度传感器的滑动变阻器。管脚说明:LPC2106低16位作输出端:P0.0P0.6接数码管段选ag;P0.8P0.10接数码管位选24;P0.11接adc0808的转换启动端start,P0.12接adc0808的输出使能端oe;LPC2106高16位作输入端:P0.16P0.23接adc的输出端out8out1:;P0.24接adc转换结束信号端eoc,P0.25接按键;Adc管脚:in0接温度采集信号;adc aadc c都接地选中in0;clock接20kHz的时钟信号;四、源程序。(只将C语言应用程序附在后面,其它项目文档不要提供,C语言应用程序要有一定的注释说明)源程序:#includeconfig.h#defineTASK_STK_SIZE64#defineKEY0x/定义key#define START0x/定义start#define EOC0x/定义eoc#define OE0x/定义oeuint32 led10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共阴极数码管字形码uint32i; /ADC转换值 OS_STKMain_Task_key_StkTASK_STK_SIZE;/定义任务堆栈大小OS_STKMain_Task_adc_StkTASK_STK_SIZE;OS_STKMain_Task_display_StkTASK_STK_SIZE;/*延时子函数*/void delay(uint32 t)while(t-);/*io端口初始化子函数*/void IO_init(void)PINSEL0=0x;/32个IO口全初始化为通用IO口PINSEL1=0x;IODIR=0x0000ffff;/低16位为输出口,高16位为输入口/*key任务子函数*/void Task_key(void *p_arg)p_arg=p_arg;/避免编译警告TargetInit();/目标初始化IO_init();while(TRUE)while(IOPIN&KEY)!=0);/判断按键按下delay(2000);while(IOPIN&KEY)=0);/判断按键松开IOCLR=0x0000ffff;OSTaskSuspend(OS_PRIO_SELF);/挂起任务/*adc转换任务子函数*/void Task_adc(void*p_arg)p_arg=p_arg;/避免编译警告TargetInit();/目标初始化IO_init();while(TRUE)IOCLR=START;/产生一个正脉冲,启动adc转换delay(20);IOSET=START;delay(50);IOCLR=START;while(IOPIN&EOC)=0);/判断ad转换结束IOSET=OE;/输出使能i=IOPIN&0x00ff0000;/数据处理i=i16;OSTaskSuspend(OS_PRIO_SELF);/挂起任务/*display任务子函数*/void Task_display(void *p_arg)int32 g,s,b;/定义个、十、百p_arg=p_arg;/避免编译警告IO_init();/io端口初始化while(TRUE)b=i/100;/百位s=(i%100)/10;/十位g=i%10;/个位IOSET=(18)|ledb;/显示百位delay(2000);IOCLR=0x0000ffff;IOSET=(19)|leds;/显示十位delay(2000);IOCLR=0x0000ffff;IOSET=(110)|ledg;/显示个位delay(2000);IOCLR=0x0000ffff;OSTaskResume(1);/恢复adc任务/*主函数*/int main(void)OSInit();/操作系统初始化OSTaskCreate(Task_key,(void*)0,&Main_Task_key_StkTASK_STK_SIZE-1,0);OSTaskCreate(Task_adc,(void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论