广东工业大学嵌入式实验报告12

上传人:桔**** 文档编号:477092259 上传时间:2023-06-05 格式:DOCX 页数:11 大小:28.84KB
返回 下载 相关 举报
广东工业大学嵌入式实验报告12_第1页
第1页 / 共11页
广东工业大学嵌入式实验报告12_第2页
第2页 / 共11页
广东工业大学嵌入式实验报告12_第3页
第3页 / 共11页
广东工业大学嵌入式实验报告12_第4页
第4页 / 共11页
广东工业大学嵌入式实验报告12_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《广东工业大学嵌入式实验报告12》由会员分享,可在线阅读,更多相关《广东工业大学嵌入式实验报告12(11页珍藏版)》请在金锄头文库上搜索。

1、7嵌入式系统实验报告学生学院计算机学院专业班级 计算机科学与技术 班学 号学生姓名指导教师2010 年 月 日实验二:I/O端口的使用和中断处理程序实验项目性质: 普通 所属课程名称: 嵌入式系统 实验计划学时: 2一、实验目的:了解ARM的I/O端口使用和编程方法,了解中断响应处理的过程和中断编程的方法。二、实验内容和要求:1. 对 P01 进行控制,周期性(0.5 秒)输出高低电平,使 得其连接的发光二极管周期性地闪动。2. 读取 INT0 的按键状态,当其按下改变发光二极管周期 性地闪动周期改为0.25 秒。3. INT0 作为中断信号接受端,对其短按一下即触发中断, 使发光二极管周期性

2、地闪动周期变为1 秒,再对其短按 一下,又恢复闪动周期为0.5 秒三、实验主要仪器设备和材料:1. 嵌入式系统实验箱,微机四、实验方法、步骤及结构测试:1. 编程:端口初始化,软件定时,中断处理。编程要点:#include #include #include 2410addr.h#include def.hvoid Led1_On_or_Off(int flag); void Led4_On_or_Off(int flag); void EINT0_Enable(int flag);void C_Entry()int i;EINT0_Enable(TRUE); while(10);void E

3、INT0_LISR(void)int i;Led4_On_or_Off(TRUE); while(i+100000);Led4_On_or_Off(FALSE); while(i+10000);void Led1_On_or_Off(int flag)int temp;if(flag =TRUE) /led1 on/set GPF4temp = rGPFCON;rGPFCON = temp |(18); temp = rGPFDAT;rGPFDAT = temp&(04);else /led1 off/set GPF4temp = rGPFCON;rGPFCON = temp |(18); t

4、emp = rGPFDAT;rGPFDAT = temp|(14);void Led4_On_or_Off(int flag) int temp;if(flag =TRUE) /led1 on/set GPF7temp = rGPFCON;rGPFCON = temp |(114); temp = rGPFDAT;rGPFDAT = temp&(07);else /led1 off/set GPF7 temp = rGPFCON;rGPFCON = temp |(114); temp = rGPFDAT;rGPFDAT = temp|(17);void EINT0_Enable(int fla

5、g)int temp;if(flag = TRUE)/set GPF0 temp = rGPFCON; rGPFCON = temp |0x2; temp = rGPGUP;rGPFDAT = temp|0x1; rINTMSK&= (BIT_EINT0);elserINTMSK&= BIT_EINT0;2. 编译程序3. 调试五、实验报告要求:1. 试验程序流程图2. 带注解的程序清单 程序清单:void C_Entry()int i;EINT0_Enable(TRUE);while(10);9 void EINT0_LISR(void)int i;Led4_On_or_Off(TRUE);

6、while(i+100000);Led4_On_or_Off(FALSE);while(i+10000);void Led1_On_or_Off(int flag)int temp;if(flag =TRUE) /led1 on/set GPF4temp = rGPFCON;rGPFCON = temp |(18);temp = rGPFDAT;rGPFDAT = temp&(04);else /led1 off/set GPF4temp = rGPFCON;rGPFCON = temp |(18);temp = rGPFDAT;rGPFDAT = temp|(14);void Led4_On

7、_or_Off(int flag) int temp;if(flag =TRUE) /led1 on/set GPF7temp = rGPFCON; rGPFCON = temp |(114); temp = rGPFDAT;rGPFDAT = temp&(07);else /led1 off/set GPF7 temp = rGPFCON;rGPFCON = temp |(114); temp = rGPFDAT;rGPFDAT = temp|(17);void EINT0_Enable(int flag)int temp;if(flag = TRUE)/set GPF0 temp = rG

8、PFCON; rGPFCON = temp |0x2; temp = rGPGUP;rGPFDAT = temp|0x1; rINTMSK&= (BIT_EINT0);elserINTMSK&= BIT_EINT0;实验三:LCD显示与触摸屏实验项目性质: 普通所属课程名称: 嵌入式系统实验计划学时: 2一、实验目的:学习 LCD 显示和触摸屏的编程方法。二、实验内容和要求:1. 在彩色LCD显示屏上显示数字和汉字以及画图。2. 触摸屏编程,触摸位置信息的检测3. 编程实现,任点触摸屏一下,即在该处显示该处的 x, y 坐标数据。三、实验主要仪器设备和材料:嵌入式系统实验箱,微机四、实验方法、

9、步骤及结构测试:1. 编程要点与相关函数a) 画点:int setpixel(int x,int y,unsigned short pencolor)b) 清屏:clrsrc(void)c) 显示字符: drawtext(int x0,int y0,char *c,int pencolor)d) 触摸屏初始化: INT_ADC_Enable(TRUE);e) 读取 X: int adc_x_position()f) 读取 Y: int adc_y_position()2. 编译程序3. 调试五、实验报告要求:1. 试验程序流程图2. 带注解的程序清单程序清单:1. LCD编程主函数Main.C

10、示例void C_Entry()int i,j,k=0;i=0;Led4_On_or_Off(TRUE);while(i+1000000);Led4_On_or_Off(FALSE);clrsrc();for(i=0;i240;i+)for(j=0;j320;j+)setpixel(j,j,0xff);while(10);int setpixel(int x,int y,unsigned short pencolor)int movetop; /*THE PIXEL ADDRESS*/short *p;if (x(int)x_limit) return ERROR;if (y(int)y_li

11、mit) return ERROR;/*指向所要显示的像素偏移地址*/movetop=(x*x_size+y)*2;一 个像素占两个字节 p=(short *)(VideoAddrStart+movetop);*p=pencolor;return 1;void clrsrc(void)short *p;for(p=(short*)VideoAddrStart;p(short*)VideoAddrEnd;p+) *p=0; return ;void Led1_On_or_Off(int flag)int temp;if(flag =TRUE) /led1 on/set GPF4temp = rG

12、PFCON;rGPFCON = temp |(18);temp = rGPFDAT;rGPFDAT = temp&(04);else/led1 off/set GPF4temp = rGPFCON;rGPFCON = temp |(18);temp = rGPFDAT;rGPFDAT = temp|(14);void Led2_On_or_Off(int flag) int temp;if(flag =TRUE)/led1 on/set GPF4temp = rGPFCON; rGPFCON = temp |(110); temp = rGPFDAT;rGPFDAT = temp&(05);e

13、lse /led1 off/set GPF4temp = rGPFCON; rGPFCON = temp |(110); temp = rGPFDAT; rGPFDAT = temp|(15);void Led3_On_or_Off(int flag)int temp;if(flag =TRUE)/led1 on/set GPF4temp = rGPFCON; rGPFCON = temp |(112); temp = rGPFDAT;rGPFDAT = temp&(06);else /led1 off /set GPF4temp = rGPFCON; rGPFCON = temp |(112); temp = rGPFDAT; rGPFDAT = temp|(16);void Led4_On_or_Off(int flag)int temp;if(flag =TRUE) /led1 on /set GPF4 temp = rGPFCON; rGPFCON = temp |(114); temp = rGPFDAT; rGPFDAT = temp&(07); else/led1 off/set GPF4temp = rGPFCON; rGPFCON = temp |(114); temp = rGPFDAT; rGPFDAT = temp|(17);

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

当前位置:首页 > 学术论文 > 其它学术论文

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