嵌入式系统实践-实验报告-样板

上传人:第*** 文档编号:33724213 上传时间:2018-02-17 格式:DOC 页数:36 大小:220.50KB
返回 下载 相关 举报
嵌入式系统实践-实验报告-样板_第1页
第1页 / 共36页
嵌入式系统实践-实验报告-样板_第2页
第2页 / 共36页
嵌入式系统实践-实验报告-样板_第3页
第3页 / 共36页
嵌入式系统实践-实验报告-样板_第4页
第4页 / 共36页
嵌入式系统实践-实验报告-样板_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《嵌入式系统实践-实验报告-样板》由会员分享,可在线阅读,更多相关《嵌入式系统实践-实验报告-样板(36页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统实践 科实验报告计算机 专业 07 级 姓名 郑其帜 学号 030701119 实验时间 2010年 9月29日基础实验一1.系统引导(流水灯显示)实验实验目的了解PXA270 处理器功能结构了解系统的基本硬件组成了解ARM 指令集掌握嵌入式系统的一般引导规律掌握常见ARM 开发工具软件的使用实验内容编写开发板的启动程序,并编写一个流水灯显示程序。可以驱动底板上的八盏LED 就会向右点亮,不断循环下去。实验步骤1)分析参考代码和编写实验代码结合以上要求,对本实验所提供的参考源代码进行分析,深入理解针对具体的硬件实现,软件是如何配合工作的,并编写实验所需的源代码。2)程序的编译和下载打

2、开ADS,执行Project Make ,也可以直接用快捷键F7 进行编译、连接生成映像文件。编译、连接后就生成映像文件,我们可以把它下载到FLASH 或者SDRAM 运行和调试。3)观察系统运行情况,对系统进行源码调试。实验代码#define LED_CS4 (*(volatile unsigned char *)(0x10500000)#define LED_VALUE (0xff)int i;void Delay(unsigned int x) unsigned int i, j, k;for (i =0; i #include register_variant.h#define LED

3、_CS2 (*(volatile unsigned short int *)(0x10300000) /LED1 and LED2#define LED_CS3 (*(volatile unsigned short int *)(0x10400000) /LED3 and LED4#define KPDK_VALUE (*(volatile unsigned char *)(0x41500008) /Direct Keypadvoid button_statusFetch(void) char i = 0;unsigned short int kbd_buff;i = KPDK_VALUE ;

4、switch (i) case 0x40: /key-press 1kbd_buff=0x8F00;LED_CS2 = kbd_buff;LED_CS3 = 0x8F8F;break;case 0x02: /key-press 2kbd_buff=0x008F;LED_CS2 = kbd_buff;LED_CS3 = 0x8F8F; break;case 0x04: /key-press 3kbd_buff=0x8F00;LED_CS3 = kbd_buff;LED_CS2 = 0x8F8F;break;case 0x20: /key-press 4kbd_buff=0x008F;LED_CS

5、3 = kbd_buff;LED_CS2 = 0x8F8F;break;default: kbd_buff=0x8F8F; break;void dummyOs(void) int led_sharp;int temp=0;LED_CS2 = temp;LED_CS3 = temp;while(1) led_sharp=ledShareInterval;for(; led_sharp0; led_sharp-) button_statusFetch();实验结果本实验使用直入键盘实现对八段数码管控制。当按 1 键的时候,LED1 数码管就会亮,同理,按相应的键,相应的数码管就会亮。嵌入式系统实

6、践 科实验报告计算机 专业 07 级 姓名 郑其帜 学号 030701119 实验时间 2010 年 10 月 13 日基础实验二1.中断实验实验目的学习编写中断处理程序实验内容使用按键实现外部中断,执行中断服务子程序。系统启动后,按12345678任意键,相应的八段数码管就会点亮。实验步骤1)分析参考代码和编写实验代码结合以上要求,对本实验所提供的参考源代码进行分析,深入理解针对具体的硬件实现,软件是如何配合工作的,并编写实验所需的源代码。2)程序的编译和下载打开ADS,执行Project Make ,也可以直接用快捷键F7 进行编译、连接生成映像文件。编译、连接后就生成映像文件,我们可以把

7、它下载到FLASH 或者SDRAM 运行和调试。3)观察系统运行情况,对系统进行源码调试。实验代码#include #define LED_CS2 (*(volatile unsigned short int *)(0x10300000) /LED1 and LED2#define LED_CS3 (*(volatile unsigned short int *)(0x10400000) /LED3 and LED4#define KPDK_VALUE (*(volatile unsigned char *)(0x41500008) /Direct Keypad#define KPAS_VAL

8、UE (*(volatile unsigned char *)(0x41500020) /Matrix Keypadvoid IRQ_Function(void) char i, j;unsigned short int kbd_buff;i = KPDK_VALUE;j = KPAS_VALUE;switch (i) case 0x40: /key-press 1kbd_buff=0x8F79;LED_CS2 = kbd_buff;LED_CS3 = 0x8F8F;break;case 0x02: /key-press 2kbd_buff=0x248F;LED_CS2 = kbd_buff;

9、LED_CS3 = 0x8F8F;break;case 0x04: /key-press 3kbd_buff=0x8F30;LED_CS3 = kbd_buff;LED_CS2 = 0x8F8F;break;case 0x20: /key-press 4kbd_buff=0x198F;LED_CS3 = kbd_buff;LED_CS2 = 0x8F8F;break;default: break;switch (j) case 0x00: /key-press 5kbd_buff=0x8F12;LED_CS2 = kbd_buff;LED_CS3 = 0x8F8F;break;case 0x0

10、1: /key-press 6kbd_buff=0x028F;LED_CS2 = kbd_buff;LED_CS3 = 0x8F8F; break;case 0x02: /key-press 7kbd_buff=0x8F78;LED_CS3 = kbd_buff;LED_CS2 = 0x8F8F;break;case 0x05: /key-press 8kbd_buff=0x008F;LED_CS3 = kbd_buff;LED_CS2 = 0x8F8F;break;default: break;void dummyOs(void) unsigned short int temp = 0x8F

11、8F;LED_CS2 = temp;LED_CS3 = temp;while(1) /waiting for interrupt实验结果实验得到的结果为,系统启动后,按 12345678 任意键,相应的八段数码管就会点亮。2.定时器的使用实验目的学习Operating system timer (OS timer)的使用学习如何通过配置相关的寄存器来产生定时中断。实验内容本程序以实验一的Boot 程序作为引导程序,然后调用关于OS Timer 提供的4 个定时器中断程序。控制键盘和七段数码管得工作。实验步骤1)分析参考代码和编写实验代码结合以上要求,对本实验所提供的参考源代码进行分析,深入理解

12、针对具体的硬件实现,软件是如何配合工作的,并编写实验所需的源代码。2)程序的编译和下载打开ADS,执行Project Make ,也可以直接用快捷键F7 进行编译、连接生成映像文件。编译、连接后就生成映像文件,我们可以把它下载到FLASH 或者SDRAM 运行和调试。3)观察系统运行情况,对系统进行源码调试。实验代码#include register_variant.h#define LED_CS2 (*(volatile unsigned short *)(0x10300000)#define LED_CS3 (*(volatile unsigned short *)(0x10400000)

13、#define KPC (*(volatile unsigned int *)(0x41500000)#define KPDK_VALUE (*(volatile unsigned short *)(0x41500008)#define KPAS_VALUE (*(volatile unsigned short *)(0x41500020)#define OSCR (*(volatile unsigned long *)(osTimer_OSCR)#define ICPR (*(volatile unsigned long *)(int_ICPR)#define OSMR0 (*(volati

14、le unsigned long *)(0x40a00000)#define OSMR1 (*(volatile unsigned long *)(0x40a00004)#define OSMR2 (*(volatile unsigned long *)(0x40a00008)#define OSMR3 (*(volatile unsigned long *)(0x40a0000c)#define OSSR (*(volatile unsigned long *)(0x40a00014)#define OIER (*(volatile unsigned long *)(0x40a0001c)v

15、oid Delay(unsigned int x) unsigned int i, j, k;for (i =0; i 20; /(RYCR 9 ) month = (RYCR 28;day = (RYCR 27;hour = (RDCR 27;minute = (RDCR 26;second = (RDCR 26;POST_SerialPrintf(The Current Date is:%4d,%2d,%2d,year,month,day);POST_SerialPrintf(The Current Time is:%2d:%2d:%2d,hour,minute,second);void options(void) POST_SerialPrintf(*);POST_SerialPrintf( Please Choose the Options set the RTC);POST_SerialPrintf( (1)Display date and time );POST_SerialPrintf( (2)Reset date and time );POST_SerialPrintf(*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号