嵌入式课程设计(交通灯与uCOS-的移植与应用)(2)
五、仿真效果。(用屏幕抓图的方式将PROTEUS运行仿真效果图粘贴在下面)
6
设计任务二 uC/OS-Ⅱ的移植与应用
一、设计目的:
1.了解嵌入式实时操作系统uC/OS-Ⅱ可移植、可裁剪等性能特点,正确理解实时操作系统中任务、信号、消息、中断等基本概念以及uC/OS-Ⅱ多任务管理的调度算法;
2.掌握uC/OS-Ⅱ在ARM7上移植的方法;
3.能将uC/OS-Ⅱ移植在LPC2106中,并根据具体要求创建用户任务,解决实际问题;
二、具体任务:
1.uC/OS-Ⅱ移植在LPC2106中。
2.编写用户任务程序,完成实时温度的采集控制。硬件电路见参考硬件电路图,图中用滑动变阻器代替温度传感器转换后的电压,用ADC0809完成A/D转换,并用数码管显示出来。
三、参考硬件电路。(用文字对所设计的电路功能、原理做详细说明)
附图:
7
硬件电路说明:
复位电路,
时钟电路(仿真可略), ARM7微处理器LPC2106, 温度电压值输入电路,
A/D转换器ADC0808(8bit), 按键电路SW,
四位数码管显示电路。
四、源程序。(只将C语言应用程序附在后面,其它项目文档不要提供,C语言应用程序要有一定的注释说明)
源程序:
/********************************************************************************************************/
#include \
#define TASK_STK_SIZE 64 #define key 0x00001000 //按键
#define adstart 0x00002000 //AD采样开始 #define adend 0x00004000 //AD结束 const uint32 led_code[16]={0x0000003F,0x00000006,0x0000005B,0x0000004F,0x00000066,0x0000006D,0x0000007D,0x00000007,
8
0x0000007F,0x00000006F,0x00000077,0x0000007C,0x00000039,0x0000005E,0x00000079,0x00000071};
OS_STK Task0Stk[TASK_STK_SIZE]; OS_STK Task1Stk[TASK_STK_SIZE]; OS_STK Task2Stk[TASK_STK_SIZE]; INT32U i;
void Task0(void *data); void Task1(void *data); void Task2(void *data);
/********************************************************************************************************* ** 函数名称: main
** 功能描述: c语言的主函数,由它启动多任务环境
********************************************************************************************************/ int main (void) { OSInit(); OSTaskCreate(Task0, (void *)0, &Task0Stk[TASK_STK_SIZE - 1],1); OSTaskCreate(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE - 1],2); OSTaskCreate(Task2, (void *)0, &Task2Stk[TASK_STK_SIZE - 1],3); OSStart(); return 0; }
void delay(INT32U t) { uint32 x,y; for(x=t;x>0;x--) for(y=110;y>0;y--); }
void L_Init (void) //初始化 {
PINSEL0=0x00000000;
PINSEL1=0x00000000;
9
IODIR|= 0x00002fFF; }
/********************************************************************************************************* ** 函数名称:Task0
** 功能描述: μCOS-II的第一个任务,通常由它初始化目标板和建立其它任务
********************************************************************************************************/ void Task0(void *p_arg) {
p_arg = p_arg; TargetInit(); L_Init(); for(;;) {
while((IOPIN&key)!=0);//假如按键没有按下,则一直循环在这里 L_Init();
while((IOPIN&key)==0);//按键被按下又弹起,程序顺序执行 IOCLR= 0x0000ffFF;
OSTaskSuspend(OS_PRIO_SELF); // OSTimeDlyHMSM(0,0,0,8); // IOSET=adstart;
// OSTimeDlyHMSM(0,0,0,1); // IOCLR=adstart;
// OSTimeDlyHMSM(0,0,0,1); // IOSET=adstart; } }
/**************************************************************************************************** ** 函数名称:Task1
** 功能描述: μCOS-II的第2个任务,AD转换
********************************************************************************************************/ void Task1(void *p_arg) {
p_arg = p_arg;
10
…… 此处隐藏:701字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




