- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北航ARM9嵌入式实验报告2
实验二 LCD 和电机综合实验
实验目的
1.了解LCD的基本概念与原理。
2.理解LCD的驱动控制。
3.熟悉用ARM内置的LCD控制器驱动LCD。
4. 熟悉ARM本身自带的6路即三对PWM,掌握相应寄存器的配置。
5. 了解直流电机的工作原理。
6. 掌握带有PWM和I/O的CPU编程实现其相应功能的主要方法。
实验内容
本实验包括直流电机控制实验与LCD驱动显示实验,编程实现用ARM内置的LCD控制器来驱动LCD,编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,并通过电位器控制其转速,且根据电位器值的不同使屏幕显示不同颜色。
预备知识
1. 了解LCD显示器的基本原理。
2. 了解直流电机的基本原理。
3. 掌握通过ARM自带的A/D转换器的使用。
实验设备
硬件:模拟电压信号源、2410s教学实验箱、PC机Pentium100以上、ARM920T的JTAG仿真器、串口连接线。
软件:PC机操作系统WinXP 、ARM ADS1.2集成开发环境、超级终端通讯程序、仿真器驱动程序。
实验步骤
1以实验四模板,将实验六 inc目录下的LCD320.H 和src目录下的LCD640.C拷到 模板下的相应目录。
2 包含以下头文件 #include inc/lcd320.h“ 3 声明引用的变量 extern U32 LCDBufferII2[480][640];
4 删除模板内Main函数中和步进电机相关的内容,简化Main函数
5 在Main函数里 LCD_Init ;
6.将AD采样的结果在驱动电机的同时,和jcolor建立起联系。
7 显示缓冲区填充LCDBufferII2[k][j] jcolor;
8 调用LCDFresh()函数。
9. 实验代码:
#define ADCCON_ENABLE_START_BYREAD 0x0 1
// 修改AD工作模式,设置为手动启动AD转换
int GetADresult int channel rADCCON ADCCON_ENABLE_START_BYREAD| channel 3 |PRSCEN|PRSCVL;
rADCCON | 0x1; //启动AD转换
hudelay 10 ;
while ! rADCCONADCCON_FLAG ;//转换结束
return 0x3ffrADCDAT0 ;//返回采样值 typedef union U32 RGB;
U8 color[4];
Color;
int main void char Revdata[10];
volatile int r, tr;
volatile int g, tg;
volatile int b, tb;
volatile Color c;
int i, j;
ARMTargetInit ; //开发版初始化
init_ADdevice ;
LCD_Init ;
while 1 r GetADresult 0 ;
g GetADresult 1 ;
b GetADresult 2 ; //读取三个通道AD值
tr r 2;
tg g 2;
tb b 2; //截取高八位数据
if rUTRSTAT0 0x1 //有输入,则进入 *Revdata RdURXH0 ; if Revdata[0] 1 //当用户按下1时刷屏 c.color[0] tr; c.color[1] tg; c.color[2] tb; c.color[3] 0x00; Uart_Printf 0,RGB is: %x\n, c.RGB ; for i 0; i LCDHEIGHT; i++ for j 0; j LCDWIDTH; j++ LCDBufferII2[i][j] c.RGB; //复制数据 Uart_Printf 0,\nCopy data done!\n ; LCD_Refresh ; //刷屏 Uart_Printf 0,\nRefresh data done!\n ; return 0; 实验思考
1. 液晶显示的基本原理是什么?
答:液晶显示的基本原理就是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。LCD 的驱动控制归于对每个液晶单元的通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使用光线通过。一般带有驱动模块的显示使用这驱动,由于LCD已经带有驱动硬件电路,因此模块给出的是总线接口,便于与的总线进行接口而且还自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实
您可能关注的文档
最近下载
- 2025-2026人教部编版三年级上册语文教学计划.docx VIP
- 施工现场车辆安全教育.pptx VIP
- 给排水系统学习培训ppt课件.pptx VIP
- 2025北京市十八里店乡人民政府城市协管员招聘21人笔试参考题库附答案解析.docx VIP
- 输血科管理制度、程序性文件、SOP文件.docx VIP
- 05J909_工程做法_建筑专业图集.docx VIP
- 2021海绵城市设施通用图集.docx VIP
- 【统编版】高中语文必修上册第一单元《3百合花》优质课(29张PPT)课件.pptx VIP
- 钢丝帘线压延机生产线(中文参考).doc VIP
- 2025年福建省福州市辅警协警笔试笔试预测试题(含答案).docx VIP
文档评论(0)