ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:25.55KB ,
资源ID:7246753      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7246753.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(S3C440Box嵌入式系统实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

S3C440Box嵌入式系统实验报告.docx

1、S3C440Box嵌入式系统实验报告嵌入式系统实验报告姓名: 努尔买买提吐孙学号: 12600123班级:计算机科学与技术非师范121班实验一 LCD控制一、 实验目的1、 初步掌握液晶显示屏的使用及其电路设计方法。2、 掌握S3C44B0X处理器的LCD控制器的使用。3、 通过实验掌握液晶显示文本和图形的方法以及程序设计方法。二、 实验内容学习LCD显示器的基本原理,理解其驱动的控制方法。掌握S3C44B0X处理器的基本原理和方法,并编程实现:1、 画出多个矩形框2、 显示ASCII字符3、 显示汉字字符三、 实验流程图四、 实验核心代码#include 44b.h#includeuhal.

2、h#include option.h#includedef.h#pragma import(_use_no_semihosting_swi) / ensure no functions that use semihosting extern U32 LCDBuffer240320;int main(void)int i,j,k;U32 jcolor; ARMTargetInit(); /开发版初始化 LCD_Init(); /LCD初始化 for (k=10;k200;k+) LCDBufferk10=0x000000e0; for (k=10;k200;k+) LCDBufferk100=0

3、x000000e0; for (j=10;j100;j+) LCDBuffer10j=0x000000e0; for (j=10;j=4&key16) switch(key) case(4): WriteSDIO(7); Delay(1); break; case(5): WriteSDIO(8); Delay(1); break; case(6): WriteSDIO(9); Delay(1); break; case(8): WriteSDIO(4); Delay(1); break; case(9): WriteSDIO(5); Delay(1); break; case(10): Wr

4、iteSDIO(6); Delay(1); break; case(11): WriteSDIO(1); Delay(1); break; case(12): WriteSDIO(2); Delay(1); break; case(13): WriteSDIO(3); Delay(1); break; case(15): WriteSDIO(0); Delay(1); break; ZLG7289_DISABLE();/zlg7289放弃同步串口控制权 return 0;五、实验体会在本次实验,熟悉了键盘以及LED的驱动原理。键盘的闭合键,通常采用两种方法,即行扫描法和行反转法获取键值。同时还

5、了解了ZLG7289芯片的特点和基本使用方法。实验三 A/D接口实验一、 实验目的1、 熟悉ARM本身自带的八路十位A/D控制器及相应寄存器。2、 编程实现ARM系统的A/D功能,掌握带有A/D的CPU编程实现A/D功能的主要方法。二、 实验内容学习A/D和LCD接口原理,了解实现A/D和LCD系统对于系统的软件和硬件要求。阅读ARM芯片文档,掌握ARM的A/D和LCD相关寄存器的功能,熟悉ARM系统硬件的A/D和LCD相关接口。利用外部模拟信号编程实现ARM循环采集全部前4路通道,并且在LCD上动态显示曲线。每个通道以不同颜色的画笔绘制曲线。三、实验流程图1、获取转换结果函数 否 是四、实验

6、核心代码#include 44b.h#includeuhal.h#include option.h#includedef.h#includemyuart.h#includeLCD320.hextern U32 LCDBuffer240320;#pragma import(_use_no_semihosting_swi) #define ADCCON_FLAG 0x40#define ADCCON_SLEEP 0x20#define ADCCON_ADIN0 (0x02)#define ADCCON_ADIN1 (0x12)#define ADCCON_ADIN2 (0x22)#define A

7、DCCON_ADIN3 (0x32)#define ADCCON_ADIN4 (0x42)#define ADCCON_ADIN5 (0x52)#define ADCCON_ADIN6 (0x62)#define ADCCON_ADIN7 (0x72)#define ADCCON_READ_START 0x2#define ADCCON_ENABLE_START 0x1void init_ADdevice()/初始化 rADCPSR=20; rADCCON=ADCCON_SLEEP;int GetADresult(int channel) rADCCON=(channel2)|ADCCON_E

8、NABLE_START; Delay(10); while(!(rADCCON&ADCCON_FLAG);/转换结束 return rADCDAT;/返回采样值int main(void)U32 jcolor;U32 jcolor1;U32 jcolor2;U32 jcolor3; int mid; int fs; int i,j,k,s,t; int pre4; float d; ARMTargetInit(); /开发版初始化 init_ADdevice(); Uart_Printf(n); LCD_Init(); jcolor = 0x0000e0e0; jcolor1 = 0x0000

9、00e0; jcolor2 = 0x00e0e0e0; jcolor3 = 0x0000e000; t = 320; while(1) if(t = 320) /采样03路A/D值 t = 0; for(k=0;k240;k+) for(j=0;j320;j+) LCDBufferkj=0x00000000;/背景黑色 for(i=0;i1;i+) d=GetADresult(i)*2.5/1023; s=(int)(d*15); fs=55*(i+1)-s; LCDBufferfst=jcolor;/线条颜色 if(t!=0) mid=(prei+fs)/2; for(k=prei;kmid

10、;k+) LCDBufferkt-1=jcolor; for(k=mid;kfs;k+) LCDBufferkt=jcolor; for(k=mid;kprei;k+) LCDBufferkt-1=jcolor; for(k=fs;kmid;k+) LCDBufferkt=jcolor; prei=fs; for(i=1;i2;i+) d=GetADresult(i)*2.5/1023; s=(int)(d*15); fs=55*(i+1)-s; LCDBufferfst=jcolor1;/线条颜色 if(t!=0) mid=(prei+fs)/2; for(k=prei;kmid;k+) L

11、CDBufferkt-1=jcolor1; for(k=mid;kfs;k+) LCDBufferkt=jcolor1; for(k=mid;kprei;k+) LCDBufferkt-1=jcolor1; for(k=fs;kmid;k+) LCDBufferkt=jcolor1; prei=fs; for(i=2;i3;i+) d=GetADresult(i)*2.5/1023; s=(int)(d*15); fs=55*(i+1)-s; LCDBufferfst=jcolor2;/线条颜色 if(t!=0) mid=(prei+fs)/2; for(k=prei;kmid;k+) LCD

12、Bufferkt-1=jcolor2; for(k=mid;kfs;k+) LCDBufferkt=jcolor2; for(k=mid;kprei;k+) LCDBufferkt-1=jcolor2; for(k=fs;kmid;k+) LCDBufferkt=jcolor2; prei=fs; for(i=3;i4;i+) d=GetADresult(i)*2.5/1023; s=(int)(d*15); fs=55*(i+1)-s; LCDBufferfst=jcolor3;/线条颜色 if(t!=0) mid=(prei+fs)/2; for(k=prei;kmid;k+) LCDBu

13、fferkt-1=jcolor3; for(k=mid;kfs;k+) LCDBufferkt=jcolor3; for(k=mid;kprei;k+) LCDBufferkt-1=jcolor3; for(k=fs;kmid;k+) LCDBufferkt=jcolor3; prei=fs; LCD_Refresh(); t+; Uart_Printf(r); return 0;实验四 触摸屏驱动实验一、 实验目的1、 了解触摸屏基本概念及原理。2、 理解触摸屏与LCD的密切配合。3、 编程实现对触摸屏的控制。二、 实验内容结合液晶显示控制实验,编写程序获取用户输入的4个坐标位置,并在液晶上

14、画出由用户输入的坐标组成的矩形。三、 实验流程图1、读取触摸点x轴电压值2、读取触摸点坐标3、判断触摸动作四、实验核心代码#include 44b.h#include LCD320.h#include tchScr.h#include maro.h#define ADS7843_CMD_X (ADS7843_CTRL_START|ADS7843_GET_X|ADS7843_CTRL_12MODE|ADS7843_CTRL_DFR|ADS7843_CTRL_ENPWD)/采样x轴电压值,数据为12位,参考电压输入模式为差分模式,允许省电模式#define ADS7843_CMD_Y (ADS78

15、43_CTRL_START|ADS7843_GET_Y|ADS7843_CTRL_12MODE|ADS7843_CTRL_DFR|ADS7843_CTRL_ENPWD)extern U32 LCDBuffer240320;IntTchScr_Xmax=1876,TchScr_Xmin=269,TchScr_Ymax=229,TchScr_Ymin=1725;/触摸屏返回电压值范围void TchScr_GetScrXY(int *x, int *y, U8 bCal)/获得触摸点坐标 unsigned int temp; rPDATF&=ADS7843_PIN_CS;/打开ADS7843 Se

16、ndSIOData(ADS7843_CMD_X);/发送读取x电压值控制字 SendSIOData(0);/等待8个时钟节拍,因为完成一转换需要16个时钟 temp=ReadSIOData();/读取采样值高8位 SendSIOData(ADS7843_CMD_X); temp4);/去掉低4位,保留12位有效数据 SendSIOData(0); temp=ReadSIOData(); SendSIOData(ADS7843_CMD_X); temp4); SendSIOData(0); temp=ReadSIOData(); SendSIOData(ADS7843_CMD_X); temp4

17、); SendSIOData(0); temp=ReadSIOData(); SendSIOData(ADS7843_CMD_Y); temp4); *x=2; /采样4次取平均值 /读取y电压值 SendSIOData(0); temp=ReadSIOData(); SendSIOData(ADS7843_CMD_Y); temp4); SendSIOData(0); temp=ReadSIOData(); SendSIOData(ADS7843_CMD_Y); temp4); SendSIOData(0); temp=ReadSIOData(); SendSIOData(ADS7843_C

18、MD_Y); temp4); SendSIOData(0); temp=ReadSIOData(); SendSIOData(0); temp4); *y=2; rPDATF|=ADS7843_PIN_CS;/关闭ADS7843 if(bCal)/对采样结果进行转换 *x=(*x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin); *y=(*y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin); U32 TchScr_GetOSXY(int *x, int *y)/获得触摸点坐标并返回触摸动作 sta

19、tic U32 mode=0; static int oldx,oldy; int i,j; for(;) if(mode!=TCHSCR_ACTION_DOWN) & (mode!=TCHSCR_ACTION_MOVE) if(!TCHSCR_IsPenNotDown)/有触摸动作 TchScr_GetScrXY(x, y,TRUE);/得到触摸点坐标 for(i=0;i40;i+) if(TCHSCR_IsPenNotDown)/抬起 break; Delay(100); if(i40)/在规定的双击时间之内抬起,检测是不是及时按下 for(i=0;i60;i+) if(!TCHSCR_IsPenNotDown)if (i10) i=60;break;/如果单击后很短时间内按下,不视为双击 mode=TCHSCR_ACTION_DBCLICK; for(j=0;j40;j+) Delay(100);/检测到双击后延时,防止拖尾 break; Delay(100); if(i=60)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1