欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)(共10页).doc

    • 资源ID:13544954       资源大小:601KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)(共10页).doc

    精选优质文档-倾情为你奉上任务一 十字路口交通灯控制一、设计目的: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语言应用程序要有一定的注释说明)源程序:#include"config.h"#include"LPC2106.h"int8 j=0; /定义全局变量juint8 led=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/数码管段选值/*延迟子函数*/void delay(int t) int i;for(i=0;i<t;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=(1<<m|1<<8);/显示灯的颜色,并对数码管位选十位IOSET+=ledl;/数码管段选delay(100);IOCLR=0xffffffff;/io清零IOSET=(1<<m|1<<7);/显示灯的颜色,并对数码管位选个位IOSET+=ledi;/数码管段选delay(100);/*主函数*/int main(void)PINSEL0=0x;/配置pinsel0寄存器,io低15位作普通输入输出口IODIR=0xffffffff;/配置io口为输出IOCLR=0xffffffff;/io口清零while(1)/死循环if(j=0)/南北方向红灯,东西方向绿灯int i,l;for(i=;i>0;i=i-2)/持续时间设置l=i/10000;display(l);j+;if(j=1)/东西南北都为黄灯int i,l;for(i=60000;i>0;i=i-2)/持续时间设置l=i/10000;display(l);j+;if(j=2)/南北方向绿灯,东西方向红灯int i,l;for(i=;i>0;i=i-2)/持续时间设置l=i/10000;display(l);j+;if(j=3)/东西南北都为黄灯int i,l;for(i=60000;i>0;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语言应用程序要有一定的注释说明)源程序:#include"config.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=i>>16;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=(1<<8)|ledb;/显示百位delay(2000);IOCLR=0x0000ffff;IOSET=(1<<9)|leds;/显示十位delay(2000);IOCLR=0x0000ffff;IOSET=(1<<10)|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*)0,&Main_Task_adc_StkTASK_STK_SIZE-1,1);OSTaskCreate(Task_display,(void*)0,&Main_Task_display_StkTASK_STK_SIZE-1,2);OSStart();/启动操作系统return 0;五、仿真效果。(用屏幕抓图的方式将PROTEUS运行仿真效果图粘贴在下面)专心-专注-专业

    注意事项

    本文(嵌入式课程设计报告(交通灯控制、uC-OS-Ⅱ的移植)(共10页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开