嵌入式应用实验报告,实验四 LCD显示实验信科10级cumt(共5篇)

时间:2019-05-14 04:41:52下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《嵌入式应用实验报告,实验四 LCD显示实验信科10级cumt》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《嵌入式应用实验报告,实验四 LCD显示实验信科10级cumt》。

第一篇:嵌入式应用实验报告,实验四 LCD显示实验信科10级cumt

实验四 LCD显示实验

一、LCD显示原理

LCD显示器是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。因此,LCD的驱动控制归于对每个液晶单元通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使用光线通过(也有刚好相反的,即不通电时光线通过,通电时光线不通过)。

光源的提供方式有两种:透射式和反射式。笔记本电脑的LCD显示屏即为透射式,屏后面有一个光源,因此外界环境可以不需要光源。而一般微控制器上使用的LCD为反射式,需要外界提供光源,靠反射光来工作。

LCD的驱动控制 – 总线驱动方式: 一般带有驱动模块的LCD显示屏使用总线驱动方式,这种LCD可以方便地与各种低档单片机进行接口,如8051系列单片机。由于LCD已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且还自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相应显示缓存的目的。

扫描器控制方式LCD显示屏没有驱动电路,需要与驱动电路配合使用。这种LCD体积小,但需要另外的驱动芯片。通常可以使用带有LCD驱动能力的高档MCU驱动,如ARM系列的S3C44B0。

S3C44B0中具有内置的LCD控制器,它具有将显示缓存中的图象数据传输到外部LCD驱动电路的逻辑功能。S3C44B0中内置的LCD控制器可支持灰度LCD和彩色LCD。可以支持单色、4 级灰度和16 级灰度模式的灰度LCD以及256级彩色。对于不同尺寸的LCD,具有不同数量的垂直和水平象素、数据接口的数据宽度、接口时间及刷新率,而LCD控制器可以进行编程控制相应的寄存器值,以适应不同的LCD显示板。二 JXARM9-2410 LCD图形显示原理:

JXARM9-2410的LCD显示模块由S3C2410的LCD控制器和256色其显示方式以直接操作显示缓冲区的内容进行,LCD控制器会通过DMA从显示缓冲区中获取数据,不需要CPU干预。彩色LCD显示器组成。本系统采用的LCD分辨率为320X240,工作在256色彩色显示模式,在该模式下,显示缓冲区中的一个字节数据代表LCD上的一个点的颜色信息,因此,所需要的显示缓冲区大小为320X240X1字节。其中每个字节的彩色数。

其中每个字节的彩色数据格式如下图所示:

JXARM9-2410 LCD控制器初始化:

初始化LCD端口,由于LCD控制端口与CPU的GPIO端口是复用的,因此必须设置相应寄存器为LCD驱动控制端口。

申请显示缓冲区,大小为320X240X1字节。初始化LCD控制寄存器,包括设置LCD分辨率,扫描频率,显示缓冲区等。HZK组成:每个汉字占用32个字节,每个区为94个汉字。

在计算机中,汉字是以机内码的形式存储的,每个汉字占用两个字节:第一个字节为区码(qh),为了与ASCII码区别,范围从十六进制的0A1H开始(小于80H的为ASCII码字符),对应区位码中区码的第一区;第二个字节为位码(wh),范围也是从0A1H开始,对应某区中的第一个位码。

这样,将汉字机内码减去0A0AH就得该汉字的区位码。因此,汉字在汉字库中的具体位置计算公式为:

location =(94*(qh-1)+wh-1)*一个汉字字模占用字节数

一个汉字字模占用的字节数根据汉字库的汉字大小不同而不同。以HZK16点阵字库为例,字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。这样,一个16×16点阵的汉字总共需要16*16/8=32个字节表示。

字模的表示顺序为:先从左到右,再从上到下,也就是先画左上方的8个点,再是右上方的8个点,然后是第二行左边8个点,右边8个点,依此类推,画满16×16个点。因此,HZK16中汉字在汉字库中具体位置的计算公式为:(94*(qh-1)+(wh-1))*32。

汉字“房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”表示位码。所以“房”的区位码为0B7BFH-0A0A0H=171FH。将区码和位码分别转换为十进制得汉字“房”的区位码为“2331”,即“房”的点阵位于第23区的第31个字的位置,相当于在文件HZK16中的位置为第32×[(23-1)×94+(31-1)]=67136B以后的32个字节为“房”的显示点阵。

三、实验基本步骤:

1.将仿真器及usb线,com串行线,S3C2410实验板与电脑连接好。

2.添加asm、common、include、misc、五个文件,在软件ADT中新建文件,建立工程。

3.设置运行所需要的参数:将一般设置设为arm9usb,添加相应的脚本文件。

4.main函数及显示函数如下:

*********************************************************************/ void Main(void){ /* 配置系统时钟 */

ChangeClockDivider(1,1);

// 1:2:4

ChangeMPllValue(0xa1,0x3,0x1);

// FCLK=202.8MHz

/* 初始化端口 */

Port_Init();

/* 初始化串口 */

Uart_Init(0,115200);

Uart_Select(0);

/* 打印提示信息 */ PRINTF(“n---LCD测试程序---n”);PRINTF(“n请将UART0与PC串口进行连接,然后启动超级终端程序(115200, 8, N, 1)n”);

/* LCD初始化 */

Lcd_Port_Init();#ifdef STN_LCD

Lcd_Init(MODE_CSTN_8BIT);

Glib_Init(MODE_CSTN_8BIT);

Lcd_CstnOnOff(1);

Glib_ClearScr(0xff, MODE_CSTN_8BIT);#else #ifdef TFT_8_0

rGPCCON &= ~(3<<8);

rGPCCON |=(2<<8);

Lcd_Init(MODE_TFT_16BIT_640480);

Glib_Init(MODE_TFT_16BIT_640480);

Glib_ClearScr(0xffff, MODE_TFT_16BIT_640480);

Lcd_PowerEnable(0, 1);

Lcd_EnvidOnOff(1);

#else

Lcd_Init(MODE_TFT_16BIT_240320);

Glib_Init(MODE_TFT_16BIT_240320);

Glib_ClearScr(0xffff, MODE_TFT_16BIT_240320);

Lcd_PowerEnable(0, 1);

Lcd_EnvidOnOff(1);

#endif #endif

#define LCD_DISP_CHAR #ifdef LCD_DISP_CHAR

Lcd_Disp_Char();#else Lcd_Disp_Grap();#endif while(1){ } }

void Lcd_Disp_Char(void){ /* 显示字符串 */

Glib_disp_hzk16(30,100,“武汉创维特信息技术有限公司”, 0x0);while(1);}

void Lcd_Disp_Grap(void){ int i,j;

for(j=0;j<240;j++)for(i=0;i<320;i++)//RRRGGGBB

PutPixel(i,j,((i/40)<<5)+((j/30)<<2)+(((j/15)%2)<<1)+((i/20)%2));}

5.编译工程文件-->连接-->下载-->全速运行;

6.Lcd将会显示汉字“武汉创维特信息技术有限公司”。

7.至此实验完毕。

四.实验小结: 通过本次试验,通过了lcd显示实验效果,使我更加直观的看到嵌入式实验的功能与其强大的功能,对自己选择嵌入式为学习对感到十分骄傲和自豪,我一定会努力学习相关知识,在嵌入式方面获得更多地提高。

第二篇:嵌入式实验四实验报告

专业:自动化1402 日期:2016.11.01 地点:教2-104

成绩:________________

实验报告

同组学生姓名:施兴棋

学号:3140103039 同组学生姓名:______________________________

学号:_____________________________________ 课程名称:

《嵌入式系统》

实验序号:

实验名称:

基于μC/OS-II的LED流水灯控制实验 摘要:

利用μC/OS-II操作系统实现LED流水灯与蜂鸣器控制任务

一、实验目的

(1)掌握LPC2200专用工程模板(for μC/OS-II)的使用

(2)能够在SmartARM2200教学实验开发平台上运行基于μC/OS-II操作系统的程序。(3)掌握基于μC/OS-II的LED操作系统的用户程序的编写风格

二、实验内容

仔细阅读给定程序,建立3个μC/OS-II的任务,1个任务用于分别控制两个LED(P2.30,P2.31)流水灯循环点亮,这里称之为流水灯循环控制任务,一个任务用于检测KEY1按键输入(P0.20口的输入),这里称之为按键检测任务;另外一个任务用于控制蜂鸣器响,这里称之为蜂鸣器控制任务。蜂鸣器控制任务平时处于等待状态,当按键检测任务检测到有效按键输入时,立即唤醒蜂鸣器控制任务,并挂起LED流水灯循环任务,当无有效按键时,两个LED循环点亮,蜂鸣器无输出。

三、实验前准备工作

(1)连接EasyJTAG仿真器和SmartARM2200教学实验开发平台,然后安装EasyJTAG仿真器的驱动程序。(若已经安装过,此步省略。)

(2)为ADS1.2增加LPC2200专用工程模板。(若已增加过,此步省略。)

(3)建立一个项目目录μC/OS-II,增加μC/OS2.52源代码和移植代码(arm文件夹)。还要将移植的PC服务代码Arm_Pc复制到项目目录μC/OS-II下。

(4)启动ADS1.2,使用ARM Executable Image for μC/OS-II(for LPC2200)工程模板建立一个工程GPIO,工程存储在μC/OS-II目录下。

(5)打开工程窗口user组中的main.c文件,根据给定的例程编写实验程序并保存。(6)根据程序设计更改Os_cfg.h文件,配置μC/OS-II操作系统(本实验可默认配置)。(7)选用DebugInExRam生成目标,然后编译链接工程。

(8)将SmartARM2200教学实验开发平台上的JP2,JP4跳线短接,JP10跳线设置为Bank0-RAM、Bank1-FLASH(生成目标为DebugInExRam)。

(9)选择Project-Debug,启动AXD进行JTAG仿真调试。/ 4

(10)全速运行程序,然后按下/放开KEY1键,监听蜂鸣器是否蜂鸣,LED流水灯是否按要求开通与关断。

(11)当仿真器调试通过后关闭AXD,在ADS1.2集成开发环境中选用RelOutChip生成目标,然后编译链接工程。

(12)将SmartARM2200教学实验开发平台上的JP2、JP4跳线短接,JP1跳线断开,JP10跳线设置为Bank0-FLASH、Bank1-RAM,JP9跳线设置为OUTSIDE。

(15)选择Project-Debug,启动AXD进行JTAG仿真调试。此时EasyJTAG仿真器将会把程序下载到FLASH上。

注意:使用RelOutChip生成目标时,需要在H-JTAG中Load L“PC2200.hfc”文件来配置。(16)按SmartARM2200教学实验开发平台上的RST复位键,观察程序是否能脱机运行。

实验程序编写: #include “config.h” #include “stdlib.h” #define

KEY1(1 << 20)

/* P0.20为KEY1 */ #define

BEEP(1 << 7)

/* P0.07为蜂鸣器 */ #define

LEDCON

0xf0000000

#define TaskStkLengh 64

//Define the Task0 stack length OS_STK TaskStk0[TaskStkLengh];//Define the Task0 stack 定义用户任务0的堆栈 OS_STK TaskStk1[TaskStkLengh];//Define the Task1 stack 定义用户任务1的堆栈 OS_STK TaskStk2[TaskStkLengh];//Define the Task1 stack 定义用户任务2的堆栈 void Task0(void *pdata);

//Task0 任务0 void Task1(void *pdata);

//Task0 任务1 void Task2(void *pdata);

//Task0 任务2 int main(void){ OSInit();

OSTaskCreate(Task0,(void *)0, &TaskStk0[TaskStkLengh1], 3);

OSTaskCreate(Task2,(void *)2, &TaskStk2[TaskStkLengh-1], 5);for(;;)

{

OSTaskSuspend(OS_PRIO_SELF);

OSTaskSuspend(5);

IO2SET=0xffffffff;

IO0CLR = BEEP;

OSTimeDly(OS_TICKS_PER_SEC / 8);

IO0SET = BEEP;

OSTimeDly(OS_TICKS_PER_SEC / 4);

IO0CLR = BEEP;

OSTimeDly(OS_TICKS_PER_SEC / 8);

IO0SET = BEEP;

OSTimeDly(OS_TICKS_PER_SEC / 4);

OSTaskResume(5);

} } /*************Task1 任务1********************************************/ void Task1(void *pdata){

pdata = pdata;

/* 避免编译警告 */

for(;;)

{

OSTimeDly(OS_TICKS_PER_SEC / 50);

/* 延时20毫秒 */

if((IO0PIN & KEY1)!= 0)

{

continue;

}

OSTimeDly(OS_TICKS_PER_SEC / 50);

/* 延时20毫秒 */

if((IO0PIN & KEY1)!= 0)

{

continue;

}

OSTaskResume(2);

while((IO0PIN & KEY1)== 0)

{

OSTimeDly(OS_TICKS_PER_SEC / 50);

/* 延时20毫秒 */

OSTaskSuspend(5);//挂起任务2

}

OSTaskResume(3);

OSTaskResume(5);

} } /************************Task2 任务2*************************************/ void Task2(void *pdata){ uint32 seed= 1;/ 4

} pdata = pdata;for(;;seed = seed>>1 |(seed &1)<<1){ IO2CLR = seed <<30 & LEDCON;OSTimeDly(OS_TICKS_PER_SEC/4);IO2SET = ~0;}

四、实验结果及分析

(1)简单描述μC/OS-II应用程序的基本结构。

每一个uC/OS-II应用程序至少要有一个任务,而且每一个任务必须被写成无限循环的形式。(2)能否将实验参考程序的两个任务组合成一个任务?这样做有什么利弊?

可以。合并的话,优点是免除了不少通信交流工作,减少共享资源的数量,减轻操作系统的负担,但缺点是任务的功能变繁杂,任务设计变得复杂,不利于整体程序的编写。

(3)在实验参考程序中,如何设置任务的优先等级?若在例程中设置按键检测任务的优先级高于蜂鸣器控制任务的优先级,程序应如何运行?

可以用OSTaskCreate函数设置任务的优先等级。当同时发生时,程序会先运行按键检测任务,然后再运行蜂鸣器控制任务。

(4)按要实验要求完成实验程序编写

五、心得体会

1.实验的时候粗心大意没有注意到应该使用ARM Executable Image for μC/OS-II(for LPC2200)工程模板来建立工程,依旧使用之前的模板导致浪费了许多时间。2.编写完程序后进行编译,一开始出现的实验现象是按键后蜂鸣器响而流水灯循环不变,修改程序后变为:按键后蜂鸣器响流水灯循环停止,第二次按键后流水灯任务恢复;再请教老师后,发现问题在于任务1没有设置好流水灯任务(即任务2)的挂起与恢复。正确设置任务2的挂起后,发现现象为:按键后蜂鸣器响流水灯循环停止,按住按键不放流水灯任务恢复,但在此过程中蜂鸣器鸣叫了两次。严格要求的老师验收后不予通过,继而我只好继续修改程序,最终达到了老师的要求。

3.最终的实验现象为:按下按键后流水灯任务挂起,蜂鸣器响;长按按键流水灯任务挂起蜂鸣器响,松开后流水灯任务恢复而蜂鸣器不响。/ 4

第三篇:电子商务实验报告实验四

实验四 手机银行业务------招商银行手机银行业务及其

安全机制(选做)

一、实验目的

1、掌握招商银行手机银行业务支付流程及相关概念;

2、了解招商银行手机银行业务的服务内容;

3、理解招商银行手机银行业务的安全机制;

二、实验内容

1.浏览招商银行网站(http://www.xiexiebang.com/)

2.了解招商银行手机银行业务

3.熟悉招商银行手机银行业务(http://mobile.cmbchina.com/MobileWeb)的电子支付流程及有关规定。浏览并理解招商银行手机银行业务的安全机制.先登录再进行各项业务的操作,并且记录操作流程。

三、思考题:

1.思考网上手机银行存在哪些安全问题?

手机银行遇到的安全问题主要有两个,一是手机遗失;二是手机遭黑客入侵。专家表示,若无动态密码,若仅凭借账号、账户的交易密码和手机验证码操作,手机一旦被盗窃或验证短信被复制、拦截,那么手机银行的账户资金安全就会受到威胁。

2.你认为影响用户进行手机支付的因素有哪些?

(1)大多数手机用户都遭遇过垃圾信息(短信、彩信、电话)的骚扰。(2)机卡分离模式以及难以落实的手机实名制。

(3)手机支付在我国尚属初级阶段,运营商与银行两套系统间的业务融合一时难以完成。(4)手机支付利益各方还未达成统一的结算标准。

(5)虽然从技术上已经解决了手机支付的安全问题,但手机支付标准的统一仍需一段时间。(6)长期以来使用现金、银行卡消费已经成为一种消费习惯.

第四篇:实验四、RBF神经网络实验报告

实验

四、RBF神经网络

一、实验目的

通过计算机编程实现并验证RBF神经网络的曲线拟合及模式分类能力。

二、实验内容

1)用Matlab实现RBF神经网络,并对给定的曲线样本集实现拟合; 2)通过改变实验参数,观察和分析影响RBF神经网络的结果与收敛速度的因素;

三、实验原理、方法和手段

RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。

简单说明一下为什么RBF网络学习收敛得比较快。当网络的一个或多个可调参数(权值或阈值)对任何一个输出都有影响时,这样的网络称为全局逼近网络。由于对于每次输入,网络上的每一个权值都要调整,从而导致全局逼近网络的学习速度很慢。BP网络就是一个典型的例子。

如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络。常见的局部逼近网络有RBF网络、小脑模型(CMAC)网络、B样条网络等。

径向基函数解决插值问题

完全内插法要求插值函数经过每个样本点,即有P个。

RBF的方法是要选择P个基函数,每个基函数对应一个训练数据,各基函数形式为,由于距离是径向同性的,因此称为径向基函数。

。样本点总共||X-Xp||表示差向量的模,或者叫2范数。

基于为径向基函数的插值函数为:

输入X是个m维的向量,样本容量为P,P>m。可以看到输入数据点Xp是径向基函数φp的中心。

隐藏层的作用是把向量从低维m映射到高维P,低维线性不可分的情况到高维就线性可分了。

将插值条件代入:

写成向量的形式为维度无关,当Φ可逆时,有,显然Φ是个规模这P对称矩阵,且与X的。

对于一大类函数,当输入的X各不相同时,Φ就是可逆的。下面的几个函数就属于这“一大类”函数:

1)Gauss(高斯)函数

2)Reflected Sigmoidal(反常S型)函数

3)Inverse multiquadrics(拟多二次)函数

σ称为径向基函数的扩展常数,它反应了函数图像的宽度,σ越小,宽度越窄,函数越具有选择性。

完全内插存在一些问题:

1)插值曲面必须经过所有样本点,当样本中包含噪声时,神经网络将拟合出一个错误的曲面,从而使泛化能力下降。

由于输入样本中包含噪声,所以我们可以设计隐藏层大小为K,K

2)基函数个数等于训练样本数目,当训练样本数远远大于物理过程中固有的自由度时,问题就称为超定的,插值矩阵求逆时可能导致不稳定。

拟合函数F的重建问题满足以下3个条件时,称问题为适定的: 解的存在性 解的唯一性 解的连续性

不适定问题大量存在,为解决这个问题,就引入了正则化理论。正则化理论

正则化的基本思想是通过加入一个含有解的先验知识的约束来控制映射函数的光滑性,这样相似的输入就对应着相似的输出。

寻找逼近函数F(x)通过最小化下面的目标函数来实现:

加式的第一项好理解,这是均方误差,寻找最优的逼近函数,自然要使均方误差最小。第二项是用来控制逼近函数光滑程度的,称为正则化项,λ

是正则化参数,D是一个线性微分算子,代表了对F(x)的先验知识。曲率过大(光滑度过低)的F(x)通常具有较大的||DF||值,因此将受到较大的惩罚。

直接给出(1)式的解:

权向量

(2)G(X,Xp)称为Green函数,G称为Green矩阵。Green函数与算子D的形式有关,当D具有旋转不变性和平移不变性时,类Green函数的一个重要例子是多元Gauss函数:

。这

正则化RBF网络

输入样本有P个时,隐藏层神经元数目为P,且第p个神经元采用的变换函数为G(X,Xp),它们相同的扩展常数σ。输出层神经元直接把净输入作为输出。输入层到隐藏层的权值全设为1,隐藏层到输出层的权值是需要训练得到的:逐一输入所有的样本,计算隐藏层上所有的Green函数,根据(2)式计算权值。广义RBF网络

Cover定理指出:将复杂的模式分类问题非线性地映射到高维空间将比投影到低维空间更可能线性可分。

广义RBF网络:从输入层到隐藏层相当于是把低维空间的数据映射到高维空间,输入层细胞个数为样本的维度,所以隐藏层细胞个数一定要比输入层细胞个数多。从隐藏层到输出层是对高维空间的数据进行线性分类的过程,可以采用单层感知器常用的那些学习规则,参见神经网络基础和感知器。

注意广义RBF网络只要求隐藏层神经元个数大于输入层神经元个数,并没有要求等于输入样本个数,实际上它比样本数目要少得多。因为在标准RBF网络中,当样本数目很大时,就需要很多基函数,权值矩阵就会很大,计算复杂且容易产生病态问题。另外广RBF网与传统RBF网相比,还有以下不同:

径向基函数的中心不再限制在输入数据点上,而由训练算法确定。各径向基函数的扩展常数不再统一,而由训练算法确定。

输出函数的线性变换中包含阈值参数,用于补偿基函数在样本集上的平均值与目标值之间的差别。

因此广义RBF网络的设计包括: 结构设计--隐藏层含有几个节点合适

参数设计--各基函数的数据中心及扩展常数、输出节点的权值。下面给出计算数据中心的两种方法:

数据中心从样本中选取。样本密集的地方多采集一些。各基函数采用统一的偏扩展常数:

dmax是所选数据中心之间的最大距离,M是数据中心的个数。扩展常数这么计算是为了避免径向基函数太尖或太平。

自组织选择法,比如对样本进行聚类、梯度训练法、资源分配网络等。各聚类中心确定以后,根据各中心之间的距离确定对应径向基函数的扩展常数。

λ是重叠系数。

接下来求权值W时就不能再用行数大于列数,此时可以求Φ伪逆。

了,因为对于广义RBF网络,其

数据中心的监督学习算法

最一般的情况,RBF函数中心、扩展常数、输出权值都应该采用监督学习算法进行训练,经历一个误差修正学习的过程,与BP网络的学习原理一样。同样采用梯度下降法,定义目标函数为

ei为输入第i个样本时的误差信号。

上式的输出函数中忽略了阈值。

为使目标函数最小化,各参数的修正量应与其负梯度成正比,即

具体计算式为

上述目标函数是所有训练样本引起的误差总和,导出的参数修正公式是一种批处理式调整,即所有样本输入一轮后调整一次。目标函数也可以为瞬时值形式,即当前输入引起的误差

此时参数的修正值为:

四、实验结果

RBF神经网络函数用于线性回归,用exp(PI*0.1)作为训练数据,然后输入的测试数是exp(PI*0.1),其实际的输出结果与预测的输出结果完全一致,预测效果很好,其图如下图所示。

RBF神经网络函数用于分类,其实际的输出结果与预测的输出结果如下图所示。

第五篇:实验四 存储器部件实验报告

实验四 存储器部件实验

班级:通信111班 学号:201110324119 姓名:邵怀慷 成绩:

一、实验目的

1、熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处;学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

2、理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。

3、了解静态存储器系统使用的各种控制信号之间正常的时序关系。

4、了解如何通过读、写存储器的指令实现对58C65 ROM芯片的读、写操作。

5、加深理解存储器部件在计算机整机系统中的作用。

二、实验内容

1、要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和OE等控制信号的正确状态。

2、用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在读写上的异同。

3、用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。

4、用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28 系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。

三、实验步骤

1、检查扩展芯片插座的下方的插针要按下列要求短接:标有“/MWR”“RD”的插针左边两个短接,标有“/MRD”“GND”的插针右边两个短接。

2、RAM(6116)支持即时读写,可直接用A、E 命令向扩展的存储器输入程序或改变内存单元的值。

(1)用E命令改变内存单元的值并用D命令观察结果。

1)在命令行提示符状态下输入:

E 2020↙

屏幕将显示: 2020 内存单元原值:

按如下形式键入:

2020 原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:5555 ↙(1)结果

2)在命令行提示符状态下输入:

D 2020↙

屏幕将显示从2020内存单元开始的值,其中2020H~2023H的值为:

2222 3333 4444 5555

问题:断电后重新启动教学实验机,用D命令观察内存单元2020~2023 的值。会发现

什么问题,为什么?

答:断电结果:

断电后重新启动教学实验机,用D命令观察内存单位2020~2023的值。会发现原来置入到这几个内存单位的值已经改变,用户在使用RAM时,必须每次断电重启后豆芽平重新输入程序或修改内存单位的值。(2)用A 命令输入一段程序,执行并观察结果。

在命令行提示符状态下输入:

A 2000↙

屏幕将显示: 2000:

按如下形式键入:

2000: MVRD R0,AAAA

MVRD R1,5555

AND R0,R1

RET

问题:采用单步和连续两种方式执行这段程序,察看结果,断电后发生什么情况? 答:输出结果

分析:从采用但不和连续两种方式执行这段程序,察看结果,断电后发生什么情况R1的数据改变了。

3、将扩展的ROM芯片(27或28系列或28的替代产品58C65芯片)插入标有“EXTROMH”和“EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯片插入方向不对,会导致芯片烧毁。然后锁紧插座。

4、将扩展的ROM 芯片(27或28系列或28的替代产品58C65芯片)插入标有“EXTROMH”和“EXTROML”的插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯 片插入方向不对,会导致芯片烧毁。然后锁紧插座。

5、将扩展芯片下方的插针按下列方式短接:将标有“/MWR”“ PGM”和“RD”的三个插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。

6、将扩展芯片上方标有EXTROMH和EXTROML的“/CS”信号用自锁紧线短接,然后短接到MEMDC 138 芯片的上方的标有“4000-5fff”地址单元。

注意:标有/CS 的圆孔针与标有MEM/CS 的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。

下面以2764A 为例,进行扩展EPROM 实验。

7、EPROM 是紫外线可擦除的电可改写的只读存储器芯片。在对EPROM 进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。

(1)将芯片0000~001F 的内存单元的值置成01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F(2)将编程好的芯片插在扩展芯片的高位,低位不插,按上面的提示插好插针。问题:

(1)用D命令查看内存单元0000~001F的值,结果是什么?

(2)用E命令向芯片的内存单元置入数值,再用D命令察看,原来的值是否发生改变?(3)用A命令向芯片所在的地址键入程序,用U命令反汇编,发现什么?为什么会出现这种

情况?

(4)将教学机断电后重启,用D命令看内存单元0000~001F的内容,数值是否发生变化? 下面以AT28C64B(或其替代产品58C65 芯片)为例,进行扩展EEPROM实验。

8、AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1 毫秒。因此,需要编写一延迟子程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。(1)用E 命令改变内存单元的值并用D命令观察结果。1)在命令行提示符状态下输入: E 5000↙

屏幕将显示: 5000 内存单元原值: 按如下形式键入:

5000 原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)原值:5050↙ 2)在命令行提示符状态下输入: D 5000↙

屏幕将显示5000H~507FH 内存单元的值,从5000 开始的连续四个内存单元的值依次 为2424 3636 4848 5050。

3)断电后重新启动,用D命令察看内存单元5000~5003的值,会发现这几个单元的值没有发生改变,说明EEPROM的内容断电后可保存。输出结果:

分析:从输出的结果来看断电后重新启动,用D命令察看内存单位500~5003的值,会发现这几个单位的值没有发生改变,说明EEPROM的内容断电后可保存。

(2)AT28C64B存储器不能直接用A 命令输入程序,单字节的指令可能会写进去,双字节指令的低位会出错(建议试一试),可将编写好的程序用编程器写入片内;也可将程序放到RAM(6116)中,调用延时子程序,访问AT28C64B 中的内存地址。

下面给出的程序,在5000H~500FH 单元中依次写入数据0000H、0001H、...000FH。从2000H单元开始输入主程序:(2000)MVRD R0,0000 MVRD R2,0010 ;R2记录循环次数

MVRD R3,5000 ;R3的内容为16 位内存地址

(2006)STRR [R3],R0 ;将R0寄存器的内容放到R3 给出的内存单元中

CALA 2200 ;调用程序地址为2200的延时子程序 INC R0 ;R0加1 INC R3 ;R3加1 DEC R2 ;R2减1 JRNZ 2006 ;R2不为0跳转到2006H RET 从2200H 单元开始输入延时子程序:(2200)PUSH R3 MVRD R3,FFFF(2203)DEC R3 JRNZ 2203 POP R3 RET 运行主程序,在命令提示符下输入:G 2000↙。输出结果:

注意:运行G命令的时候,必须要将将标有“/MWR”“/OE”“GND”的三个插针右边两个短接。程序执行结束后,在命令提示符下输入:D 5000↙; 可看到从5000H开始的内存单元的值变为 5000:0000 0001 0002 0003 0004 0005 0006 0007 5008:0008 0009 000A 000B 000C 000D 000E 000F。

四、思考题

1)为何能用E 命令直接写AT28C64B的存储单元,而A命令则有时不正确;

答:E命令是储存寄存器指令A时监控器指令,而E直接多个程序写入AT28C64B的存储单元,写入的速度快,A命令只能是一次写入执行一条程序,是延迟指令、所以用E命令直接写A。T28C64B的存储单元,而A命令则有时不正确。

2)修改延时子程序,将其延时改短,可将延时子程序中R3的内容赋成00FF或0FFF等,再看运行结果。

五、实验心得与体会

通过本次试验的难度在于怎样弄清楚ROM芯片和RAM芯片在功能和使用方法等方面的同和差异之处:学习编程器设备向EEPROM芯片内写入一批数据的过程跟方法的工作原理,我在我预习做试验的时候,阅读到计算机存储器系统由ROM和RAM两个存储区组成,分别由EPROM芯片(或EEPROM芯片)和RAM芯片构成。TEC-XP教学极端及中还了另外几个存储器器件插座,可以插上相应储存器芯片成存储器容量扩展的教学实验,为此必须比较清楚的了解:是我们做实验的一大难点,同时也是我们计算机组成原理 的重点。同时在做实验的时候也遇到一些相应的疑问,RAM和EPROM、EEPROM存储器芯片在读写控制跟写入时间等方面的同异之处,并正确建立连接关系和在过程中完成正确的读写过程。

下载嵌入式应用实验报告,实验四 LCD显示实验信科10级cumt(共5篇)word格式文档
下载嵌入式应用实验报告,实验四 LCD显示实验信科10级cumt(共5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    嵌入式linux基本操作实验一的实验报告

    实验一linux基本操作实验的实验报告 一实验目的 1、熟悉嵌入式开发平台部件,了解宿主机/目标机开发模式; 2、熟悉和掌握常用Linux的命令和工具。 二实验步骤 1、连接主机和目......

    实验四工业工程实验报告2011

    实验四自动化立体仓库作业 一、实验目的 了解自动化立体仓库的入库、移库、出库作业和电子标签货架系统;根据产品生产线规划设计AGV小车的运行轨迹。 二、实验内容 结合减速......

    嵌入式Linux应用开发(中断实验指导)[★]

    嵌入式Linux应用开发 ——中断按键点亮LED实验 一、中断控制设计流程 由中断控制器汇集各类外设发出的中断信号,然后向CPU发出处理请求。 CPU保存当前程序的运行环境,调用中断......

    计算机网络实验报告-实验四(写写帮整理)

    实验四 用户数据报协议(UDP ) 3F 一、 实验目的 1.掌握UDP协议的报文格式 2.掌握UDP协议校验和的计算方法 3.理解UDP协议的优缺点 4.理解协议栈对UDP协议的处理方法 5.理解UD......

    实验四 单片机键盘输入以及数码管显示编程[最终定稿]

    仲恺农业工程学院实验报告纸信息学院 (院、系)专业班组单片机原理及接口技术课实验四单片机键盘输入以及数码管显示编程 一、实验目的 1、掌握单片机键盘以及数码管显示的工作......

    会计综合实验课程实验报告(共5篇)

    会计综合实验课程实验报告 姓名 学号 班级 成绩日期王晴2007级会计2009年 7 月6日为期四天的的会计综合实验在一片手忙脚乱中结束了,短短的四天,既短暂又漫长。我们在其他大部......

    java实验报告实验2答案(共5篇)

    互联网软件应用与开发实验指导书 实验二 熟悉Applet,GUI编程 实验目的: 本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、......

    实验四 Nios II 嵌入式处理器关浩亮2012029180002

    关浩亮2012029180002 实验四 Nios II 嵌入式处理器 一、 实验要求: 1、实现一个由Nios II控制的由18个发光二级管组成的流水灯效果; 2、为了点亮LED灯,程序运行速度不要太快,需......