dsp实验报告 哈工大实验三 液晶显示器控制显示实验
液晶显示器实训实验报告
一、实验目的1. 理解液晶显示器(LCD)的基本工作原理和组成结构。
2. 掌握液晶显示器驱动电路的设计与调试方法。
3. 熟悉液晶显示器的接口技术及其与单片机的连接方式。
4. 通过实验验证液晶显示器的显示功能,并实现简单图形和文字的显示。
二、实验原理液晶显示器(LCD)是一种利用液晶材料的光学各向异性来实现图像显示的设备。
它主要由液晶层、偏光片、电极阵列、驱动电路等部分组成。
液晶分子在电场作用下会改变其排列方向,从而改变通过液晶层的光的偏振状态,实现图像的显示。
三、实验器材1. 液晶显示器模块(如12864 LCD模块)2. 单片机开发板(如STC89C52单片机)3. 电源模块4. 连接线5. 实验平台(如面包板)四、实验内容1. 液晶显示器模块的识别与检测首先,对所购买的液晶显示器模块进行外观检查,确保无损坏。
然后,根据模块说明书,连接电源和单片机开发板,进行初步的检测。
2. 液晶显示器驱动电路的设计与调试根据液晶显示器模块的技术参数,设计驱动电路。
主要包括以下部分:- 电源电路:将单片机提供的电压转换为液晶显示器所需的电压。
- 驱动电路:负责控制液晶显示器模块的行、列电极,实现图像的显示。
- 接口电路:将单片机的信号与液晶显示器的控制信号进行连接。
在设计电路时,需要注意以下几点:- 电源电压要稳定,避免对液晶显示器模块造成损害。
- 驱动电路的驱动能力要足够,确保液晶显示器模块能够正常显示。
- 接口电路的信号传输要可靠,避免信号干扰。
设计完成后,进行电路调试,确保电路正常工作。
3. 液晶显示器的控制程序编写根据液晶显示器模块的控制指令,编写控制程序。
主要包括以下部分:- 初始化程序:设置液晶显示器的显示模式、对比度等参数。
- 显示程序:实现文字、图形的显示。
- 清屏程序:清除液晶显示器上的显示内容。
在编写程序时,需要注意以下几点:- 控制指令要正确,避免对液晶显示器模块造成损害。
- 程序要简洁,易于调试和维护。
DSP技术小报告
电气信息工程学院DSP技术与综合训练实验报告班级____________________姓名_____________________学号_____________________指导老师_________2012年9月实验目的实验设备实验原理试验程序实验步骤实验结果与分析实验目的实验设备实验原理试验程序实验步骤实验结果与分析实验目的实验设备实验原理试验程序实验步骤实验结果与分析实验目的实验设备实验原理试验程序实验步骤实验结果与分析实验一:液晶显示器控制显示一二三四五实验二:键盘输入一二三四五实验三:蜂鸣器一二三四五目录实验四:DSPI法实验..................... 实验:有限冲激响应滤波器(FIR)算法实验一二三四五实验:无限冲激响应滤波器(IIR) 算法实验一.实验目的...................................二•实验设备...................................三.实验原理.................................四.试验程序 ................................22241111121212121316161717171718202021 21212121222425 2525252527五•实验步骤 (29)六•实验结果与分析 (29)实验一液晶显示器控制显示一.实验目的通过实验学习使用5509ADS的扩展I/O端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。
二.实验设备计算机,ICETEK-VC5509-康验箱(或ICETEI仿真器+ICETEK-VC5509-系统板+相关连线及电源)。
三.实验原理1.EMIF接口:TMS320C5509DSPT展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
DSP实验报告(综合)
实验报告||实验名称 D SP课内系统实验课程名称DSP系统设计||一、实验目的及要求1. 掌握用窗函数法设计FIR数字滤波器的原理和方法。
熟悉线性相位FIR 数字滤波器特性。
了解各种窗函数对滤波器特性的影响。
2. 掌握设计IIR数字滤波器的原理和方法。
熟悉IIR数字滤波器特性。
了解IIR数字滤波器的设计方法。
3.掌握自适应数字滤波器的原理和实现方法。
掌握LMS自适应算法及其实现。
了解自适应数字滤波器的程序设计方法。
4.掌握直方图统计的原理和程序设计;了解各种图像的直方图统计的意义及其在实际中的运用。
5.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法。
6.了解锐化的算法和用途,学习利用拉普拉斯锐化运算的程序设计方法。
7.了解取反的算法和用途,学习设计程序实现图像的取反运算。
8.掌握直方图均衡化增强的原理和程序设计;观察对图像进行直方图均衡化增强的效果。
二、所用仪器、设备计算机,dsp实验系统实验箱,ccs操作环境三、实验原理(简化)FIR:有限冲激响应数字滤波器的基础理论,模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
IIR:无限冲激响应数字滤波器的基础理论。
模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
、自适应滤波:自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。
e(n)=z(n)-y(n)=s(n)+d(n)-y(n)直方图:灰度直方图描述了一幅图像的灰度级内容。
灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素个数与图像像素总数之比)。
图像边缘化:所谓边缘(或边沿)是指其周围像素灰度有阶跃变化。
经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘临近一阶或二阶方向导数变化规律,用简单的方法检测边缘。
【最新】dsp实习报告-精选word文档 (14页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==dsp实习报告篇一:DSP实习报告DSP实习报告课题名称:学院:电气信息工程学院专业:姓名:班级学号:指导教师:吴勇实验日期:目录一、开发板调试 .................................................................. .. (3)1.1实习目的 .................................................................. (3)1.2实习要求 .................................................................. ................................................... 3 1.3实习内容 .................................................................. (3)1.3.1 CPU 定时器0实验 .................................................................. ....................................... 3 1.3.2 CPU 定时器2实验 .................................................................. ....................................... 4 1.3.3 EVtime1 实验 .................................................................. ................................................ 5 1.3.4数码管显示实验 .................................................................. ............................................ 5 1.3.5外部RAM实验 .................................................................. ............................................. 8 1.3.6外部Flash读写实验 .................................................................. .... 错误!未定义书签。
dsp实验报告(1)
DSP实验报告小组杜筱佳0904210204薛茜茜0904210215学院电子工程与光电技术学院班级0904210204指导老师刘明实验日期2012.11——2012.12实验一DSP开发基础一、实验目的1、了解DSP开发系统的基本配置2、掌握DSP集成开发环境(CCS)3、掌握C语言开发的基本流程4、熟悉代码调试的基本方法二、实验仪器计算机,C2000 DSP教学实验箱,XDS510USB仿真器,示波器三、实验内容建立工程,对工程进行编译、链接,载入可执行程序,在DSP硬件平台上进行实时调试,利用代码调试工具,查看程序运行结果四、实验要求及实验结果1、项目的编译、链接、调试2、dataIO()子程序入口地址0x003F81F5processing()子程序入口地址0x003F81DBcurrentBuffer.input所在存储器地址0x008480currentBuffer.output所在存储器地址:0x0085003、图形方式显示数据空间currentBuffer.input和current.Buffer.output缓冲存储区的波形currentBuffer.input:图1.1currentBuffer.output:图1.24、.map文件中,.text段在存储空间的地址003f8000长度0000012b;位于TMS320F2812 程序存储空间,物理存储块名称H0_PM.data段在存储空间的地址00000040长度00000001;位于TMS320F2812 数据存储空间,物理存储块名称M0_RAM.bss段在存储空间的地址00000000长度00000000;实验二任意信号发生器一、实验目的1、熟悉DSP硬件开发平台2、熟悉DSP集成开发环境(CCS)3、熟悉TMS320F2812的存储器配置表4、学习DMS320F2812的编程开发5、熟悉代码调试的基本方法二、实验仪器计算机,C2000 DSP教学实验箱,XDS510USB仿真器,示波器三、实验内容建立工程,编写DSP主程序,并对工程进行编译、链接,利用现有DSP 平台实现任一波的产生,通过示波器观察结果。
dsp实验报告
实验五直流电机控制实验一、实验目的1. 要求学生掌握2407 通用IO 口的使用方法;2. 掌握2407 对直流电机的控制。
二、实验设备1. 一台装有CCS 软件的计算机;2. DSP 实验箱(插上电机模块);3. DSP 硬件仿真器;4. 示波器。
三、实验原理电机模块的原理图如下四、实验步骤连接好仿真器、实验箱、计算机;上电复位后正常进入后,载入程序,全速运行,可以查看电机运行状况,观察直流电机的速度和方向指示灯。
实验六步进电机控制实验一、实验目的1. 掌握2407 通用IO 口的使用方法;2. 掌握2407 对步进电机的控制。
二、实验设备1. 一台装有CCS 软件的计算机;2. DSP 实验箱(插上电机模块);3. DSP 硬件仿真器;4. 示波器。
三、实验原理步进电机工作原理,给步进脉冲电机就转,不给脉冲电机就不转,步进脉冲的频率越高,步进控制电机就转的越快;改变各相的通电方式可以改变电机的运行方式;改变通电顺序可以控制步进电机的运行方式;改变通电顺序可以控制步进电机的正反转。
步进电机的控制问题可以总结为两点:1. 产生工作方式需要的时序脉冲;2. 控制步进电机的速度使它始终遵循加速-匀速-减速的规律工作。
对于I/O 口有二类寄存器:1. 控制寄存器和数据方向寄存器,使用方法如下:首先确定引脚的功能,即IO控制器寄存器,为1 表示引脚功能是原模块的功能,否则为IO 功能。
2. 如果引脚被配置为 IO 功能,就需要确定它的方向:输入还是输出,。
为1 表示是输出引脚,否则是输入引脚。
对于IO 功能的输入或输出是通过读写相应的数据方向寄存器来实现。
输入引脚对应读操作;输出引脚对应写操作。
四、实验步骤连接好仿真器、实验箱,计算机;上电复位后,正常进入后,将源程序载入实验箱,全速运行。
观察步进电机的运转。
实验三数码管控制实验一、实验目的1. 熟悉2407 的指令系统;2. 熟悉74HC573 的使用方法。
DSP实验报告最终版
小组成员
一、实验说明:
为了保证生产质量、生产效率和生产的安全性,在钢铁企业的定期常规设备检修必不可少,在设备检修的过程中,为了保证检修人员的人身安全和设备的安全,通常需设置检修报警提示,如:检修警报、检修指示灯等。
本次实验设计钢铁企业的滚带传送装置的检修控制系统,需要检修时,首先停止传动皮带的工作,切换到检修警报,检修警报开始工作以保证检修人员和设备的安全。当检修工作完成后,停止警报装置,返回传动电机的正常工作状态。
南-绿
北-红
北-黄
北-绿
两个寄存器的地址均映射到2812DSP的扩展空间,CTRLR,DSP通过对该地址的写操作来修改二个寄存器各位的状态,当寄存器某位取‘1’时,相应提示灯被点亮,取‘0’则熄灭。当写入CTRLR的数据(8位有效值)的高两位为‘00’时,数据的低6位将写入EWR寄存器;高两位为‘01’时,数据的低6位将写入SNR寄存器。
图3 利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形 上图是利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形。图中,当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us,t1秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。T2秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的高低电平,直流电动机电枢绕组两端的电压波形如图中所示。电动机的电枢绕组两端的电压平均值Uo为:
图中PWM输入对应ICETEK-CTR-A板上P4外扩插座第26引脚的S22信号,DSP将在此引脚上给出PWM信号开控制直流电机转速;图中的DIR输入引脚ICETEK-CTR-A板上P4外扩插座第29引脚的S14信号,DSP将在此引脚上给出高电平或低电平来控制直流电机的方向。从DSP输出的PWM信号和转向信号先经过2个与门和1个非门再与各个开关管的栅极相连。
dsp实验报告
dsp实验报告DSP实验报告一、引言数字信号处理(Digital Signal Processing,DSP)是一种对数字信号进行处理和分析的技术。
它在许多领域中被广泛应用,如通信、音频处理、图像处理等。
本实验旨在通过实际操作,探索和理解DSP的基本原理和应用。
二、实验目的1. 理解数字信号处理的基本概念和原理;2. 掌握DSP实验平台的使用方法;3. 进行一系列DSP实验,加深对DSP技术的理解。
三、实验器材和软件1. DSP开发板;2. 电脑;3. DSP开发软件。
四、实验内容1. 实验一:信号采集与重构在此实验中,我们将通过DSP开发板采集模拟信号,并将其转换为数字信号进行处理。
首先,我们需要连接信号源和开发板,然后设置采样频率和采样时间。
接下来,我们将对采集到的信号进行重构,还原出原始模拟信号,并进行观察和分析。
2. 实验二:滤波器设计与实现滤波器是DSP中常用的模块,用于去除或增强信号中的特定频率成分。
在此实验中,我们将学习滤波器的设计和实现方法。
首先,我们将选择合适的滤波器类型和参数,然后使用DSP开发软件进行滤波器设计。
最后,我们将将设计好的滤波器加载到DSP开发板上,并进行实时滤波处理。
3. 实验三:频谱分析与频域处理频谱分析是DSP中常用的方法,用于分析信号的频率成分和能量分布。
在此实验中,我们将学习频谱分析的基本原理和方法,并进行实际操作。
我们将采集一个包含多个频率成分的信号,并使用FFT算法进行频谱分析。
然后,我们将对频谱进行处理,如频率选择、频率域滤波等,并观察处理后的效果。
4. 实验四:音频处理与效果实现音频处理是DSP中的重要应用之一。
在此实验中,我们将学习音频信号的处理方法,并实现一些常见的音频效果。
例如,均衡器、混响、合唱等。
我们将使用DSP开发软件进行算法设计,并将设计好的算法加载到DSP开发板上进行实时处理。
五、实验结果与分析通过以上实验,我们成功完成了信号采集与重构、滤波器设计与实现、频谱分析与频域处理以及音频处理与效果实现等一系列实验。
dsp技术 液晶显示器控制显示 - 副本
实验报告课程名称DSP技术实验项目液晶显示器控制显示系别专业/班级姓名/学号实验日期成绩_______________________________指导教师 _____实验2 :液晶显示器控制显示一.实验目的:通过实验学习使用5509ADSP 的扩展I/O 端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。
二.实验设备:计算机,ICETEK–VC5509-AG-EDU 实验箱(或ICETEK 仿真器+ICETEK-VC5509-A 系统板+相关连线及电源)。
三.实验原理:1.EMIF 接口:TMS320C5509DSP 的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEK-VC5509-A 将这些扩展线引到了板上的扩展插座上供扩展使用。
2.液晶显示模块的控制控制。
控制液晶屏幕显示需要加入库lcd.lib 以及头文件lcd.h。
下面给出lcd.lib 的控制液晶屏幕的接口函数及其功能描述:LCDSetOrigin(int nX,int nY):重新设定新原点的位置,nX,nY 为新原点的坐标。
初始时默认原点为(0,0),即屏幕左下角。
LCDSetScreenBuffer(unsigned int *_pScreenBuffer):设置屏幕缓冲区指针,缓冲区为1024 字,所有向屏幕进行的写操作都要先把数据写到缓冲区内,缓冲区位置需要在编程时预先设定,通常开辟一个长度为128*30 的一维数组。
LCDTurnOn():打开显示器LCDTurnOff():关闭显示器LCDCLS():清屏幕LCDSetDelay(unsigned int nDelay) :设置液晶读写反应时间,参数:DSP 主频8MHz 时取0,160MHz 时取1_Delay(unsigned int nTime) :延时函数LCDRefreshScreen():用缓冲区中的数据刷新屏幕LCDPutPixel(int x,int y,unsigned int color) :写点到屏幕,输入参数坐标值和颜色,颜色0 消点,1 画点,2 异或画点LCDGraph(struct struLCDGraph *Gstru) :按照定义的参数(在结构中)绘制图形LCDWriteBytes(unsigned int *pData,int x,int y,unsigned color) :屏幕写字符8x8 LCDPutCString(unsigned int *pData,int x,int y,unsigned int nCharNumber,unsigned color) :屏幕写中文字符串,*pData 为输入字符串在内存中的起始地址,x, y 为字符串左上角的坐标,nCharNumber 为显示的中文字数,color 为颜色。
DSP短学期 实验报告
DSP应用系统设计实验报告一、设计任务通过矩阵键盘的输入,利用TMS320LF2407的事件管理模块,可以简单有效的控制步进电机的停转、转速和转向。
系统中设计了相应的人机界面,进行相应变量的显示、操作即可在液晶上实时显示电机当前运行状态。
利用拓展端口控制外围设备的方法,掌握使用2407DSP通用计时器的控制原理及中断服务程序的编程方法;了解蜂鸣器发生原理和音乐发生方法;了解步进电机的使用方法;了解液晶显示控制原理及编程方法及小键盘的应用。
该实验设计分成4个模块完成:•液晶模块•键盘模块•电机模块•其它模块(蜂鸣器、点阵)具体化即:1. DSP芯片接受矩阵键盘的输入。
2. DSP芯片对LED灯,蜂鸣器控制模块。
3. DSP芯片对相应信息的反馈,即:LCD液晶显示。
4. DSP控制电机正反转以及对电机速度调节。
二、系统构成及子模块原理:1.硬件原理方框图1所示,该系统由LCD液晶显示模块、矩阵键盘模块、电机模块及包含蜂鸣器和点阵的模块组成。
图1硬件原理方框图2:系统总流程图:3:子模块工作原理a.键盘输入:键盘在信号采集系统中是一个很关健的部件,它能向系统输入数据、传送命令等功能,是人工干预系统的主要手段,键盘输入功能主要提供控制信号和数据的输入。
键盘的扫描码由DSP的I/O扩展地址0x8001给出,当有键盘输入时,读此端口得到扫描码,当无键按下时读此端口的结果为0。
各按键的扫描码排列如下所示。
0x18,0x14,0x12,0x11 0 1 2 30x28,0x24,0x22,0x21 4 5 6 70x48,0x44,0x42,0x41 8 9 A B0x88,0x84,0x82,0x81 C D E F扫描码对应键值也即,当读8001H端口时,如果其值为‘18H’,则表示键盘按下的键是“0”,如果其值为‘0’,则表示没有键按下。
将键盘扫描得到的数据存入内存,然后根据数据值就能够确定所输入的键,通过映射关系,就能过将每一个键设为特定的功能。
哈理工电技专业DSP实验报告
哈尔滨理工大学实验报告课程名称:DSP应用技术学院:自动化学院专业班级:电技13-3学生姓名:李万崇学号:1312020308指导教师:马静实验一实验名称CCS基本操作实验时间2016.6.17实验类型地点新主楼C212姓名李万崇学号1312020308班级电技13-3同实验者学号班级一.实验目的:1.掌握Code Composer Studio2.21的安装和配置步骤过程。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解Code Composer Studio软件的操作环境和基本功能,了解TMS320C55xx软件开发过程。
⑴学习创建工程和管理工程的方法。
⑵了解基本的编译和调试功能。
⑶学习使用观察窗口。
⑷了解图形功能的使用。
二.实验原理:*开发TMS320C55xx应用系统一般需要以下几个调试工具来完成:-软件集成开发环境(Code Composer Studio2.21):完成系统的软件开发,进行软件和硬件仿真调试。
它也是硬件调试的辅助手段。
-开发系统(ICETEK5100-USB或ICETEK5100-PP):实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
-评估模块(ICETEK VC5509-A或ICETEK VC5509-C等):提供软件运行和调试的平台和用户系统开发的参照。
*Code Composer Studio2.21主要完成系统的软件开发和调试。
它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
*用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:-源程序文件:C语言或汇编语言文件(*.C或*.ASM)-头文件(*.H)-命令文件(*.CMD)-库文件(*.LIB,*.OBJ)三.实验设备:1.PC机一台;2.ICETEK-VC5509-A-USB-EDU实验箱一台。
DSP实验:LCD实验
DSP实验三 LCD实验一、实验目的1、了解LCD显示的基本原理;2、学习用TMS32054DSP芯片控制LCD的基本步骤;3、熟悉对访问DSP IO 空间的理解。
二、实验设备计算机、CCS2.0版软件,DSP仿真器、实验箱。
三、实验系统相关资源1、实验箱采用北京青云创新科公司的中文液晶显示模块,型号为LCM12864ZK_LCD。
LCM12864ZK_LCD 中文液晶显示模块的液晶屏幕为128*64,可显示四行,每行可显示8个汉字。
中文液晶显示模块字型ROM内含8192个16*16点中文字型和128个16*8半宽的字母符号字型;另外绘图显示画面提供一个64*256点的绘图区域GDRAM;而且内含CGRAM提供4组软件可编程的16*16点阵造字功能。
电源操作范围宽(2.7V to 5.5V),低功耗设计可满足产品的省电要求;同时与单片机等微控器的接口界面灵活(三种模式:并行8位/4位,串行3线/2线)。
中文液晶显示模块可实现汉字、ASCII码、点阵图形的同屏显示,广泛用于各种仪器仪表、电力设备和信息产品上作为显示器件。
(1)与实验有关的操作命令:设定DDRAM(Display Data RAM)地址:设定DDRAM地址到地址计数器(AC),第一行AC范围为80H~87H,第二行地址范围为90H~97H,第三行AC范围为88H~8FH,第四行地址范围为98H~9FH。
(2)字符显示LCM12864ZK按照每个中文字符16×16点阵将显示屏分为4行8列,共32个区,每个区可显示1个中文字符或2个16×8点阵全高ASCII码字符。
LCM12864ZK内部提供128×2 Bit的字符显示RAM缓冲区(DDRAM)。
字符显示是通过将字符显示编码写入该字符显示RAM实现的。
根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库),HCGROM(ASCII码字库)及CGRAM(自定义字型)的内容。
DSP实验报告
姓名:班级:自动化15 学号:2015实验一数据存储实验一实验目的1.掌握TMS320F2812程序空间的分配;2.掌握TMS320F2812数据空间的分配;3.能够熟练运用TMS320F2812数据空间的指令。
二实验步骤与内容实验步骤1.在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示:2.F2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON;其余OFF3.E300底板的开关SW4的第2位置ON,其余位置OFF。
其余开关设置为OFF。
4.上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的指示灯应点亮,否则DSP开发系统与计算机连接存在问题。
5.运行CCS程序1)待计算机启动成功后,实验箱220V电源置“ON”,实验箱上电2)启动CCS5.5,工作环境的路径选择:E:\E300Program\E300TechV-2812\normal ;6.成功运行CCS5.5程序后,出现如下图所示界面:7.右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择“Open Project”命令打开该工程,如下图所示,可以双击才看左侧源文件;8.点击菜单栏Project/Build All命令编译整个工程,编译完成后点击按钮进入仿真模式,完全进入后如下图所示:9.用“View”下拉菜单中的“Memory/Browser”查看内存单元,参数设置如下图:注意:下面的参数设置都是以16进制。
此时可以观测到以0x003F9020为起始地址的存储单元内的数据;10.单击按钮,开始运行程序,一段时间后,单击按钮,停止程序运行,0x003F9020H~ 0x3F902FH单元的数据的变化,如下图所示:11.关闭Memory Browser窗口,点击按钮,退出仿真模式。
右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择CloseProject命令关闭该工程,然后关闭CCS软件,本实验完毕。
DSP课程设计实验报告
目录1.实验一指示灯演示 (3)2.实验二键盘输入 (7)3.实验三液晶显示器控制显示 (11)4.实验四FIR/IIR 算法 (18)实验一指示灯演示一.实验目的1.了解ICETEK–VC5509-A板在TMS320VC5509DSP外部扩展存储空间上的扩展。
2.了解ICETEK–VC5509-A板上指示灯扩展原理。
3.学习在C语言中使用扩展的控制寄存器的方法。
二.实验设备计算机,ICETEK-VC5509-A实验箱(或ICETEK仿真器+ICETEK–VC5509-A系统板+相关连线及电源)。
三.实验原理1.TMS320VC5509DSP的EMIF接口:存储器扩展接口(EMIF)是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和寄存器映射的外设。
ICETEK–VC5509-A评估板在EMIF接口上除了扩展了片外SDRAM外,还扩展了指示灯、DIP开关和D/A设备。
具体扩展地址如下:400800-400802h:D/A转换控制寄存器400000-400000h:板上DIP开关控制寄存器400001-400001h:板上指示灯控制寄存器与ICETEK–VC5509-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:602800-602800h:读-键盘扫描值,写-液晶控制寄存器600801-600801h:液晶辅助控制寄存器602801h 、600802h:液晶显示数据寄存器602802-602802h:发光二极管显示阵列控制寄存器2.指示灯扩展原理:四.实验程序流程图五.实验程序编写/*实现每个灯分别亮一段时间,正向顺序和反向顺序亮灯,乱序亮灯,两个灯乱序同时亮灭,四个灯产生频谱效果,单个灯闪烁*/#include "myapp.h"#define LBDS (*((unsigned int *)0x400001))// 定义指示灯寄存器地址和寄存器类型void Delay(unsigned int nDelay); // 延时子程序main(){unsigned int uLED[10]={1,2,4,8,5,10,6,9,1,0};// 控制字,逐位置1unsigned int vLED[20]={7,15,1,7,3,7,15,7,3,1,0,1,7,3,15,7,1,7,0,1};// 控制字,逐位置2int i,j;PLL_Init(72); // 初始化DSP运行时钟SDRAM_init(); // 初始化EMIF接口while ( 1 ){i=0;j=0; //每个灯亮一遍,时间偏长,检查灯是否完好LBDS=uLED[i+3]; //4灯亮Delay(8192);LBDS=uLED[i+2]; //3灯亮Delay(8192);LBDS=uLED[i+1]; //2灯亮Delay(8192);LBDS=uLED[i]; //1灯亮Delay(8192);for ( i=0;i<4;i++ ){LBDS=uLED[i]; // 正向顺序送控制字Delay(1024); // 延时}for ( i=3;i>=0;i-- ){LBDS=uLED[i]; // 反向顺序送控制字Delay(1024); // 延时}for ( i=0;i<2;i++) //按1-3-2-4顺序亮灯{j=i+2;LBDS=uLED[i];Delay(2048);LBDS=uLED[j];Delay(2048);}for ( i=4;i<6;i++) //1、3灯与2、4灯交替亮{LBDS=uLED[i];Delay(4096);}for ( i=0;i<10;i++) //23灯,14灯循环亮{for(j=6;j<8;j++){LBDS=uLED[j];Delay(1024);}}for(i=0;i<20;i++) //频谱效果{LBDS=vLED[i];Delay(512);}for(i=0;i<15;i++) //一个灯闪烁{for(j=8;j<10;j++){LBDS=uLED[j];Delay(256);}}}}void Delay(unsigned int nDelay) //延时子程序{int ii,jj,kk=0;for ( ii=0;ii<nDelay;ii++ ){for ( jj=0;jj<1024;jj++ ){kk++;}}}六.实验步骤1.实验准备:连接实验设备。
dsp实验报告 哈工大实验三 液晶显示器控制显示实验
实验三液晶显示器控制显示实验一. 实验目的通过实验学习使用2407ADSP 的扩展I/O 端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。
二. 实验设备计算机,ICETEK-LF2407-EDU 实验箱。
三.实验原理ICETEK-LF2407-A 是一块以TMS320LF2407ADSP 为核心的DSP 扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。
液晶显示模块的访问、控制是由2407ADSP 对扩展I/O 接口的操作完成。
控制I/O 口的寻址:命令控制I/O 接口的地址为0x8001,数据控制I/O 接口的地址为0x8003 和0x8004,辅助控制I/O 接口的地址为0x8002。
显示控制方法:◆液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。
其地址与象素的对应方式如下:◆发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制I/O 接口写入命令控制字,然后再向辅助控制接口写入0。
下面给出的是基本命令字、解释和 C 语言控制语句举例。
✧显示开关:0x3f 打开显示;0x3e 关闭显示;✧设置显示起始行:0x0c0+起始行取值,其中起始行取值为0 至63;✧设置操作页:0x0b8+页号,其中页号取值为0-7;✧设置操作列:0x40+列号,其中列号为取值为0-63;◆写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的数据写入液晶显示模块的缓存。
将数据发送到相应数据控制I/O 接口即可。
◆液晶显示器与DSP 的连接:◆数据信号的传送:由于液晶显示模块相对运行在40MHz 主频下的DSP 属于较为慢速设备,连接时需要考虑数据线上信号的等待问题;◆电平转换:由于DSP 为3.3V 设备,而液晶显示模块属于5V 设备,所以在连接控制线、数据线时需要加电平隔离和转换设备,如:ICETEK-CTR 板上使用了74LS245。
DSP实验报告
哈尔滨工程大学信息与通信工程学院实验名称:DSP原理与应用实验班级:20100813学号:**********学生姓名:**实验一自相关函数实验一.实验目的:熟悉C语言编程和VDSP编译环境。
学会用C语言编程实现自相关函数对正弦信号的应用。
二.实验要求:用VDSP集成环境产生一个正弦信号,然后用自相关函数对其进行处理,观察自相关函数运算后的波形。
自相关函数:自相关函数是信号在时域中特性的平均度量,它用来描述信号在一个时刻的取值与另一时刻取值的依赖关系,其定义式为对于周期信号,积分平均时间T为信号周期。
对于有限时间内的信号,例如单个脉冲,当T趋于无穷大时,该平均值将趋于零,这时自相关函数可用下式计算自相关函数就是信号x(t)和它的时移信号x(t+τ)乘积的平均值,它是时移变量τ的函数。
例如信号的自相关函数为由此可见,正弦(余弦)信号的自相关函数同样是一个余弦函数。
它保留了原信号的频率成分,其频率不变,幅值等于原幅值平方的一半,即等于该频率分量的平均功率,但丢失了相角的信息。
三.实验结果:正弦信号经过自相关后的波形四.实验结论:自相关函数应用在检测信号回声(反射)。
若在宽带信号中存在着带时间延迟的回声,那么该信号的自相关函数将在处也达到峰值(另一峰值在处),这样可根据确定反射体的位置,同时自相关系数在处的值将给出反射信号相对强度的度量。
实验二 包络检波实验一.实验目的:熟悉C 语言编程和VDSP 编译环境。
学会用C 语言编程实现对信号进行包络提取。
二.实验要求:一个低频信号a(t)调制在一个高频信号t 0cos ω上,如图所示,这个信号表示为t t a t y 0cos )()(ω⋅= 低频信号和高频载波是相乘关系,将低频信号a(t)提取出来的过程就是求解包络.1) 将y(t)平方处理, t t a t a t t a t 02202222cos )()(cos )()(y ωω⋅+=⋅=平方后可以看到,变成了低频信号平方分量和一个高频信号之和.这样将信号通过一个低通滤波器就可以得到低频分量了.2) Hilbert变换3) 模拟电容充放电的方法三.实验结果:原始的包络信号:包络检波后的信号:四.实验结论:包络检波的应用在于从调幅波包络中提取调制信号的过程:先对调幅波进行整流,得到波包络变化的脉动电流,再以低通滤波器滤除去高频分量,便得到调制信号。
DSP技术 实验三报告模板
《DSP技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称:CPU定时器实验二、实验目的掌握定时器基本工作原理;掌握中断的基本工作原理;掌握定时器控制C语言编程。
三、实验内容(1)调试例子程序,理解程序设计思想,将CPU定时器周期设置成1 S;(2)修改例子程序,实现LED流水灯的功能;(3)在(2)的基础上修改例子程序,实现LED流水灯变化频率可由拨码开关按键控制的功能:由拨码开关1和2控制选择1Hz、2Hz、4Hz和8Hz 不同的LED流水灯变化频率。
四、实验程序与结果分析#include "DSP281x_Device.h" // DSP281x Headerfile Include File#include "DSP281x_Examples.h" // DSP281x Examples Include Fileinterrupt void cpu_timer0_isr(void);#define LED *((volatile int *)0x2200)void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period); void main(void){unsigned int temp=0xff;InitSysCtrl();DINT;InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();EALLOW; // This is needed to write to EALLOW protected registersPieVectTable.TINT0 = &cpu_timer0_isr;EDIS; // This is needed to disable write to EALLOW protected registersInitCpuTimers(); // For this example, only initialize the Cpu Timers ConfigCpuTimer(&CpuTimer0, 150, 1000000);//1sStartCpuTimer0();IER |= M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7 = 1;EINT; // Enable Global interrupt INTMERTM; // Enable Global realtime interrupt DBGMfor(;;){if(LED!=temp){if(LED==0){ConfigCpuTimer(&CpuTimer0, 150, 1000000);}if(LED==1){ConfigCpuTimer(&CpuTimer0, 150, 500000);}if(LED==2){ConfigCpuTimer(&CpuTimer0, 150, 250000);}if(LED==3){ConfigCpuTimer(&CpuTimer0, 150, 125000);}temp=LED;StartCpuTimer0();}if(CpuTimer0.InterruptCount<1){*(int *)0x2200=0x007f;}else if(CpuTimer0.InterruptCount<2){*(int *)0x2200=0x00bf;}else if(CpuTimer0.InterruptCount<3){*(int *)0x2200=0x00df;}else if(CpuTimer0.InterruptCount<4){*(int *)0x2200=0x00ef;}else if(CpuTimer0.InterruptCount<5){*(int *)0x2200=0x00f7;}else if(CpuTimer0.InterruptCount<6){*(int *)0x2200=0x00fb;}else if(CpuTimer0.InterruptCount<7){*(int *)0x2200=0x00fd;}else if(CpuTimer0.InterruptCount<8){*(int *)0x2200=0x00fe;}else{CpuTimer0.InterruptCount = 0;}}}interrupt void cpu_timer0_isr(void){CpuTimer0.InterruptCount++;PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;}五、小结通过这次试验让我们明白了定时器的配置以及相应中断的使用。
dsp实验报告 3
实验三PWM实验:一、实验目的了解TMS320F28335 的PWM 模块原理二、实验设备(1)装有Windows 的PC 机一台;(2) XDS510 仿真器一套;(3) YX-F28335 开发板一套;(4) 示波器一台;三、实验步骤(1) 首先按照实验一配置CCS4.1.2 软件并打开;(2) 接着把仿真器的USB 与电脑进行连接,将仿真器的另一端JATG 端插到YX-F28335 开发板的JATG 针处;(3) Target->Launch TI Debug 后,点击Target->Connect Target。
(4) 由于工程已经是一个可烧写的可执行文件,所以直接在CCS 中点击Target->LoadProgram……命令,在文件lab24-PWM 下加载Debug 目录下的.out 可执行文件;(5) 在CCS 菜单栏点击Target->Run,之后用户打开示波器,将示波器的地线接到开发板的地线端,另一端接到YX-F28335 开发板J4的第1 脚。
四、实验原理脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
PWM 的控制方法:采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。
PWM 控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。
按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。
五、实验过程1、测量波形(电路连接)并在示波器上显示:的转动情况。
dsp液晶显示屏 (LCD)实验
实验题目:液晶显示屏 (LCD)实验一、实验目的1.掌握液晶的使用方法;2.掌握液晶信号之间时序的正确识别和引入。
二、实验仪器1. 一台装有CCS软件的计算机;2. DSP实验箱的TMS320F2812主控板;3. DSP硬件仿真器。
三、实验原理本实验箱采用的液晶接口在DSP的数据总线上,由于DSP是十六位总线,液晶是八位总线,所以DSP的高八位总线悬空。
液晶的结构框图如下四、实验步骤1.把2812模块小板插到大板上;打开液晶模块的电源开关;2.在CCS2000环境中打开本实验的工程编译Example_lcd.prj,生成输出文件,通过仿真器把执行代码下载到DSP芯片;3.运行程序;液晶上会循环显示预定内容。
五、实验程序及实验结果#include "include/DSP281x_Device.h" // DSP281x Headerfile Include File#include "include/DSP281x_Examples.h" // DSP281x Examples Include File typedef struct typFNT_GB16 // 汉字字模数据结构{signed char Index[2]; // 汉字内码索引char Msk[32]; // 点阵码数据}aa;struct typFNT_GB16 GB_16[] = // 数据表{"林", 0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0x10,0x10,0xD0,0xFF,0xD0,0x10,0x10,0x10,0x00,0x04,0x03,0x00,0xFF,0x00,0x11,0x08,0x04,0x03,0x00,0xFF,0x00,0x03,0x04,0x08,0x00,void delay(int time){int i,j;for(i=0;i<time;i++)for(j=0;j<1200;j++);}void wcom(unsigned char com){ Reg08=com; }void wdata(unsigned char dat){ Reg07=dat; }void lcdinit(void){wcom(0xa4); wcom(0xad); wcom(0x03);wcom(0xac); wcom(0xe2); delay(10);wcom(0xa2); wcom(0xa0);wcom(0xc8); wcom(0x2c) ; wcom(0x2e);wcom(0x2f); wcom(0x25); wcom(0x81);wcom(0x20); wcom(0x40); wcom(0xa6);wcom(0xa4); wcom(0xaf);}void clear(void){unsigned char page;unsigned char seg;for(page=0xb0;page<0xb9;page++) //写页地址共8页0xb0----0xb8{wcom(page);wcom(0x10);wcom(0x00);for(seg=0;seg<128;seg++){wdata(0x00);}}}void lcdwritechar(char codenum ,char y ,char x ){unsigned char seg;unsigned int coden;codenum-=0x20;coden=codenum<<4;wcom(0xb0|(y&0x0f));//wcom(0x10|((x>>1)&0x0f));wcom(0x00|((x<<3)&0x0f));for(seg=0;seg<8;seg++)wdata(nAsciiDot[coden++]);wcom(0xb0|((y+1)&0x0f));wcom(0x10|((x>>1)&0x0f));wcom(0x00|((x<<3)&0x0f));for(seg=0;seg<8;seg++)wdata(nAsciiDot[coden++]);}void lcdwritehz(char hznum ,char y ,char x ){unsigned char seg,hz;unsigned char coden=0;hz=hznum;wcom(0xb0|(y&0x0f));wcom(0x10|((x>>1)&0x0f));wcom(0x00|((x<<3)&0x0f));for(seg=0;seg<16;seg++)wdata(GB_16[hz].Msk[coden++]);wcom(0xb0|((y+1)&0x0f));wcom(0x10|((x>>1)&0x0f));wcom(0x00|((x<<3)&0x0f));for(seg=0;seg<16;seg++)wdata(GB_16[hz].Msk[coden++]); }main(){short i;InitSysCtrl();EALLOW;EDIS;DINT;InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();InitXintf(); // For this example, init the Xintflcdinit();clear();while(1){lcdwritehz(L,1,4); lcdwritehz(Q,1,6); lcdwritehz(2,1,8);lcdwritehz(0,1,10); lcdwritechar('1',4,3); lcdwritechar('1',4,4);lcdwritechar('0',4,5); lcdwritechar(' 4',4,6); lcdwritechar('1',4,9);lcdwritechar('6',4,10); lcdwritechar('3',4,11); lcdwritechar('8',4,12);for(i=0;i<16;i++)lcdwritechar('=',6,i);for(i=0;i<16;i++){lcdwritechar('>',6,i); delay(100);}clear();}}六、总结通过这次实验,学会了一些软件的编程,掌握了CCS实验环境的使用;而且也会用C语言编写DSP程序的方法。
dsp实验报告
2013届研究生《DSP原理与嵌入式系统》实验报告实验名称:基于键盘、LCD等带有备忘录的数字时钟设计姓名:刘静静学号:S1*******专业:控制科学与工程导师:夏伯锴同组同学:马明飞(定时器与外部中断嵌套实验)实验时间:2013年12月2日一、实验内容简述我们俩人分别独立完成了以下两个实验:(1)基于键盘、LCD等带有备忘录的数字时钟设计:利用定时器中断、外部中断、LCM模块、键盘、LED等,LCD采用并口连接,在液晶屏上实现可以显示年月日时分秒,并且可以调整的年月日时分。
带有备忘录得功能,并且备忘录月日时间可以调整。
当时钟运行后,当前日期与你备忘录时间相一致时,可在LCD上显示今天所做的时,程序中是显示“亲,你今天有会要开”。
(2)定时器与外部中断嵌套实验二、实验功能介绍实验中用到键盘上0——3这四个键,这四个键如图(1)所示:数字0键为模式选择键:当按下模式选择键即进入时钟日历和备忘录的调整状态。
数字1键和数字2键,分别为上调键和下调键。
这三个键综合功能如下按下1次模式选择键,时钟小时闪烁,按上调键,小时值增加,按下调键,小时值减小按下2次模式选择键,时钟分钟闪烁,按上调键,分钟值增加,按下调键,分钟值减小按下3次模式选择键,日历日期年闪烁,按上调键,年份值增加,按下调键,年份值减小按下4次模式选择键,日历日期月闪烁,按上调键,月份值增加,按下调键,月份值减小按下5次模式选择键,日历日期日闪烁,按上调键,日值增加,按下调键,日值减小按下6次模式选择键,备忘录月份闪烁,按上调键,备忘录月份增加,按下调键,备忘录月份减小按下7次模式选择键,备忘录日闪烁,按上调键,备忘录日增加,按下调键,备忘录日减小按下8次模式选择键,返回时钟正常运行状态。
数字3为备忘录开关控制键。
当按下此键,若当前备忘录为关闭的状态,则打开备忘录功能。
若当前备忘录为打开的状态,则关闭备忘录功能。
F B 7 3E D C A 9 8 6 5 4 2 1 0图(1)程序运行后时钟正常运行,但不足的是键盘中断进不去(原因没有找出),没有达到预期的功能,但部分功能实现了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三液晶显示器控制显示实验一. 实验目的通过实验学习使用2407ADSP 的扩展I/O 端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。
二. 实验设备计算机,ICETEK-LF2407-EDU 实验箱。
三.实验原理ICETEK-LF2407-A 是一块以TMS320LF2407ADSP 为核心的DSP 扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。
液晶显示模块的访问、控制是由2407ADSP 对扩展I/O 接口的操作完成。
控制I/O 口的寻址:命令控制I/O 接口的地址为0x8001,数据控制I/O 接口的地址为0x8003 和0x8004,辅助控制I/O 接口的地址为0x8002。
显示控制方法:◆液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。
其地址与象素的对应方式如下:◆发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制I/O 接口写入命令控制字,然后再向辅助控制接口写入0。
下面给出的是基本命令字、解释和 C 语言控制语句举例。
✧显示开关:0x3f 打开显示;0x3e 关闭显示;✧设置显示起始行:0x0c0+起始行取值,其中起始行取值为0 至63;✧设置操作页:0x0b8+页号,其中页号取值为0-7;✧设置操作列:0x40+列号,其中列号为取值为0-63;◆写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的数据写入液晶显示模块的缓存。
将数据发送到相应数据控制I/O 接口即可。
◆液晶显示器与DSP 的连接:◆数据信号的传送:由于液晶显示模块相对运行在40MHz 主频下的DSP 属于较为慢速设备,连接时需要考虑数据线上信号的等待问题;◆电平转换:由于DSP 为3.3V 设备,而液晶显示模块属于5V 设备,所以在连接控制线、数据线时需要加电平隔离和转换设备,如:ICETEK-CTR 板上使用了74LS245。
四.实验程序见附页。
五. 实验步骤1.实验准备⑴连接设备❖关闭计算机和实验箱电源;❖检查ICETEK-LF2407-A 板上JP6 的位置,应连接在1-2 位置(靠近DSP 芯片端),即设置DSP 工作在MP 方式;如使用PP型仿真器则用附带的并口连线连接计算机并口和仿真器相应接口;❖关闭实验箱上三个开关。
⑵开启设备❖打开计算机电源;❖打开实验箱电源开关,ICETEK-CTR 板上J2、J3 灯亮;❖打开ICETEK-LF2407-A 板上电源开关,注意板上指示灯DS1 灭、DS2和DS3 亮;❖如使用USB 型仿真器用附带的USB 电缆连接计算机和仿真器相应接口,注意仿真器上两个指示灯均亮。
⑶设置Code Composer Studio 为Emulator 方式。
⑷启动Code Composer Studio2.打开工程并浏览程序,工程目录为D:\2407EDULab\Lab8-LCD3.编译并下载程序4.运行程序,观察结果5.停止程序运行并退出六. 实验结果与分析实验结果:可以观察到液晶显示从0到9的计数。
分析:灵活使用控制字,可以实现复杂多变的显示。
当使用点阵图形显示时需要在DSP 内存中建立图形存储缓冲;适当更新显示可取得动画效果。
在实际生活中观察点阵显示的霓虹灯广告、交通指示牌、报站牌等领会这种控制的具体应用。
七.问题与思考将内层循环中的“port8003=ledkey[nCount][i]; ”语句改为“port8004=ledkey[nCou nt][i];”,会出现什么结果。
答:将内层循环中的“port8003=ledkey[nCount][i]; ”语句改为“port8004=ledkey[n Count][i]”之后,显示0-9的位置会改变,由原来的左侧改变为右侧。
程序:#define LCDDELAY 1#define LCDCMDTURNON 0x3f#define LCDCMDTURNOFF 0x3e#define LCDCMDSTARTLINE 0xc0#define LCDCMDPAGE 0xb8#define LCDCMDVERADDRESS 0x40ioport unsigned int port8001;ioport unsigned int port8002;ioport unsigned int port8003;ioport unsigned int port8004;void Delay(unsigned int nTime); // 延时子程序void TurnOnLCD(); // 打开显示void LCDCLS(); // 清除屏幕显示内容unsigned char ledkey[10][8]={{0x00,0x00,0x7C,0x82,0x82,0x82,0x7C,0x00}, //0 {0x00,0x00,0x00,0x84,0xFE,0x80,0x00,0x00}, //1 {0x00,0x00,0x84,0xC2,0xA2,0x92,0x8C,0x00}, //2 {0x00,0x00,0x44,0x92,0x92,0x92,0x6C,0x00}, //3 {0x00,0x00,0x30,0x28,0x24,0xFE,0x20,0x00}, //4 {0x00,0x00,0x4E,0x92,0x92,0x92,0x62,0x00}, //5 {0x00,0x00,0x7C,0x92,0x92,0x92,0x64,0x00}, //6 {0x00,0x00,0x02,0xC2,0x32,0x0A,0x06,0x00}, //7 {0x00,0x00,0x6C,0x92,0x92,0x92,0x6C,0x00}, //8 {0x00,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00} //9 };main(){int i,nCount=0;unsigned int uWork;*WDCR=0x6f;*WDKEY=0x5555;*WDKEY=0xaaaa;*SCSR1=0x81fe;*IMR=0x0;*IFR=0xffff;uWork=(*WSGR);uWork&=0x0fe3f;(*WSGR)=uWork;LCDCLS(); // 清除显示内存TurnOnLCD(); // 打开显示port8001=LCDCMDSTARTLINE; // 设置显示起始行port8002=0;Delay(LCDDELAY);for (;;){port8001=LCDCMDPAGE; // 设置操作页=0port8002=0;Delay(LCDDELAY);port8001=LCDCMDVERADDRESS; // 起始列=0port8002=0;Delay(LCDDELAY);for ( i=0;i<8;i++ ){port8003=ledkey[nCount][i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置) port8002=0;Delay(LCDDELAY);}Delay(2048);nCount++;nCount%=10;}}void Delay(unsigned int nDelay){int ii,jj,kk=0;for ( ii=0;ii<nDelay;ii++ ){for ( jj=0;jj<64;jj++ ){kk++;}}}void TurnOnLCD(){port8001=LCDCMDTURNON;port8002=0;Delay(1024);port8001=LCDCMDSTARTLINE;port8002=0;Delay(LCDDELAY);}void LCDCLS(){int i,j;port8001=LCDCMDSTARTLINE;port8002=0;Delay(LCDDELAY);for ( i=0;i<8;i++ ){port8001=LCDCMDPAGE+i;port8002=0;Delay(LCDDELAY);port8001=LCDCMDVERADDRESS;port8002=0;Delay(LCDDELAY);for ( j=0;j<64;j++ ){port8003=0;port8002=0;Delay(LCDDELAY);}port8001=LCDCMDPAGE+i;port8002=0;Delay(LCDDELAY);port8001=LCDCMDVERADDRESS;port8002=0;Delay(LCDDELAY);for ( j=0;j<64;j++ ){port8004=0;port8002=0;Delay(LCDDELAY);}}}。