嵌入式系统实验报告(共44页).docx
《嵌入式系统实验报告(共44页).docx》由会员分享,可在线阅读,更多相关《嵌入式系统实验报告(共44页).docx(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上嵌入式系统实验报告姓名: 努尔买买提吐孙 学号: 班级:计算机科学与技术非师范121班实验一 LCD控制一、 实验目的1、 初步掌握液晶显示屏的使用及其电路设计方法。2、 掌握S3C44B0X处理器的LCD控制器的使用。3、 通过实验掌握液晶显示文本和图形的方法以及程序设计方法。二、 实验内容学习LCD显示器的基本原理,理解其驱动的控制方法。掌握S3C44B0X处理器的基本原理和方法,并编程实现:1、 画出多个矩形框2、 显示ASCII字符3、 显示汉字字符三、 实验流程图开始 初始化LCD12864画坐标函数hua_zuobiao(voic)TLC2543读数据子函
2、数LCD1602的更新显示延时子函数确定每个电压值对应的坐标点亮确定的值清屏结束四、 实验核心代码#include 44b.h#includeuhal.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
3、=10;k200;k+) LCDBufferk10=0xe0; for (k=10;k200;k+) LCDBufferk100=0xe0; for (j=10;j100;j+) LCDBuffer10j=0xe0; for (j=10;j9? 否键值读取发送十位数 是 只显示个位显示十、个位延时开启zlg7289 发送个位数关闭zlg7289四、实验核心代码:#includeuhal.h#includekeyboard.h#includezlg7289.h#include44b.h#includemyuart.h#includeLCD320.h#pragma import(_use_no_s
4、emihosting_swi) extern int Zlg7289SIOBand;extern int Zlg7289SIOCtrl;int main(void)U32 key;ARMTargetInit();/开发版初始化Uart_Printf(nArm Target Init OK.); Zlg7289_Reset();/zlg7289复位 ARMTargetInit();/开发版初始化LCD_Init();LCD_ChangeMode(DspTxtMode);/转换LCD显示模式为文本显示模式LCD_Cls();/文本模式下清屏命令while(1) key=GetKey();/得到按键
5、值Delay(7000);switch(key)case(0):LCD_printf(NUMn );Uart_Printf(nNUMn);break;case(1):LCD_printf(/n );Uart_Printf(n1n);break;case(2):LCD_printf(*n );Uart_Printf(n2n);break;case(3):LCD_printf(-n );Uart_Printf(n3n);break;case(4):LCD_printf(7n );Uart_Printf(n4n);break;case(5):LCD_printf(8n );Uart_Printf(n
6、5n);break;case(6):LCD_printf(9n );Uart_Printf(n6n);break;case(7):LCD_printf(+n );Uart_Printf(n7n);break;case(8):LCD_printf(4n );Uart_Printf(n8n);break;case(9):LCD_printf(5n );Uart_Printf(n9n);break;case(10):LCD_printf(6n );Uart_Printf(nNUM LOCKn);break;case(11):LCD_printf(1n );Uart_Printf(n/n);break
7、;case(12):LCD_printf(2n );Uart_Printf(n*n);break;case(13):LCD_printf(3n );Uart_Printf(n-n);break;case(14):LCD_printf(Entern);Uart_Printf(nEntern);break;case(15):LCD_printf(0n );Uart_Printf(n+n);break;case(16):LCD_printf(Dlen );Uart_Printf(nDlen);break;ZLG7289_ENABLE();/使zlg7289占有同步串口Delay(5);/延时 Wri
8、teSDIO(ZLG7289_CMD_DATA0|0);/数码管以方式0译码,第一个数码管亮/WriteSDIO(key);/显示个位Delay(1);/延时*/if(key=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):Writ
9、eSDIO(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的驱动原理。键盘的闭合键,通常采用两种方法,即行扫描法和行反转法获取键值。同时还了解了ZLG7289芯片的特点和基本使用方法
10、。实验三 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、获取转换结果函数启动延时通道延时转换结束? 否返回转换结果是 四、实验核心代
11、码#include 44b.h#includeuhal.h#include option.h#includedef.h#includemyuart.h#includeLCD320.hextern U32 LCDBuffer240320;#pragma import(_use_no_semihosting_swi) #define ADCCON_FLAG0x40#define ADCCON_SLEEP0x20#define ADCCON_ADIN0(0x02)#define ADCCON_ADIN1(0x12)#define ADCCON_ADIN2(0x22)#define ADCCON_AD
12、IN3(0x32)#define ADCCON_ADIN4(0x42)#define ADCCON_ADIN5(0x52)#define ADCCON_ADIN6(0x62)#define ADCCON_ADIN7(0x72)#define ADCCON_READ_START0x2#define ADCCON_ENABLE_START0x1void init_ADdevice()/初始化rADCPSR=20;rADCCON=ADCCON_SLEEP;int GetADresult(int channel)rADCCON=(channel2)|ADCCON_ENABLE_START;Delay(
13、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 = 0xe0; jcolor2 = 0x00e0e0e0; jcolor3 =
14、 0x0000e000; t = 320; while(1)if(t = 320)/采样03路A/D值t = 0;for(k=0;k240;k+)for(j=0;j320;j+) LCDBufferkj=0x;/背景黑色 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;k+) LCDBufferkt-1=jcolor; for(k=mid;kfs;k+) LCDBuf
15、ferkt=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+) LCDBufferkt-1=jcolor1; for(k=mid;kfs;k+) LCDBufferkt
16、=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+) LCDBufferkt-1=jcolor2; for(k=mid;kfs;k+) LCDBufferkt=j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 实验 报告 44
限制150内