嵌入式系统课程实验报告(2)
d,0x00000407,0x0000047f,0x0000046f};
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], 2); OSTaskCreate(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE - 1],3); OSTaskCreate(Task2, (void *)0, &Task2Stk[TASK_STK_SIZE - 1],4); OSStart(); return 0; }
void delay(INT32U t) {while(t--);}
void L_Init (void) {
PINSEL0=0x00000000;
PINSEL1=0x00000000; IODIR|= 0x00002fFF; }
/********************************************************************************************************* ** 函数名称:Task0
** 功能描述: μCOS-II的第一个任务,通常由它初始化目标板和建立其它任务
********************************************************************************************************/ void Task0(void *p_arg)
6
{
p_arg = p_arg; TargetInit(); L_Init(); while((IOPIN&key)!=0); L_Init();
while((IOPIN&key)==0); IOCLR= 0x0000FFFF;
OSTaskSuspend(OS_PRIO_SELF); }
/**************************************************************************************************** ** 函数名称:Task1
** 功能描述: μCOS-II的第2个任务,AD转换
********************************************************************************************************/ void Task1(void *p_arg)
{
L_Init(); IOCLR=adstart; delay(50); IOSET=adstart; delay(50); IOCLR=adstart; delay(50); L_Init(); while((IOPIN&adend)==0); IOSET=1<<11; i=IOPIN; i=i>>15;
OSTaskSuspend(OS_PRIO_SELF); }
/**************************************************************************************************** ** 函数名称:Task2
** 功能描述: μCOS-II的第3个任务,LED显示
********************************************************************************************************/ void Task2(void *p_arg) { INT32U g,s,b;
L_Init(); b=i/100;
7
s=i 0/10;
g=i; while(1) { IOSET=bai[b]; //数码管显示百位数据 delay(100); IOCLR=bai[b]; IOSET=shi[s]; //数码管显示十位数据 delay(100); IOCLR=shi[s]; IOSET=ge[g]; //数码管显示个位数据 delay(100); IOCLR=ge[g]; };
OSTaskResume(0); }
五、仿真效果。(用屏幕抓图的方式将PROTEUS运行仿真效果图粘贴在下面)
8
六、实验心得体会
在这二周的课程设计中,我学习到了很多书本上面没有学习到的知识,以前我们也都只是在上课的时候看着老师操作,听老师讲一些关于嵌入式学习过程中需要注意的内容,需要学习的一些语句,但是一直没有如此近距离的去接触过嵌入式的操作。经过学习,我们知道学 ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面 的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于 API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。
因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。
在学习嵌入式系统的这两个星期,我觉得我学到了很多的东西,不仅巩固了C语言的使用,而且,在实验指导老师的教导下,我们学会了怎么去使用嵌入式系统,我们学会了怎么去讲嵌入式系统与protues系统相结合,从而用protues仿真软件看出我们程序需要体现的结果,也可以再一次的对程序进行一次检验。
我们的实验是两个,第一个实验是交通灯的设计,在设计交通灯的时候,我们考虑了很多方案,后来,我们选择了使用共阴极的显示数码管,然后通过计算写出显示数码管从1到10的显示代码。之后就是交通灯显示问题了,首先要确定什么时候红灯亮,什么时候绿灯亮,什么时候黄灯又亮,这些都是靠一些十六进制的数来代表的。 寄存器的使用在嵌入式系统设计中是很重要的一个部分,我们最开始了解的就是寄存器PINSEL0和PINSEL1的设置。LPC2106的I/O口全都是3功能服用端口,也就是说即可用作普通输入输出端口,又用作第2或第3种功能。设计人员可根据需要设置两个32位特殊功能寄存器PINSEL0和PINSEL1。PINSEL0对应引脚P0.0~P0.15,PINSEL1对应引脚P0.16~P0.31。都是寄存器中用两位来完成1根引脚的功能设置。
接下来是GPIO方向寄存器的设置,当管脚配置为GPIO 模式时,可使用该寄存器控制 管脚的方向。任意管脚的方向位的设置必须与管脚功能一致。输出置1寄存器,IOSET当管脚配置为GPIO 输出模式时,可使用该寄存器从管脚输出高电平。写入1 使对应管脚输出高电平。 写入0 无效。如果一个管脚被配置为输入或第二功能,写IOSET 无效。输出清零寄存器IOCLR当管脚配置为GPIO 输出模式时,可使用该寄存器从管脚输出低电平。写入1 使对应管脚输出低电平。 写入0 无效。如果一个管脚被配置为输入或第二功能,写IOCLR 无效。
9
…… 此处隐藏:1641字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文