DSP技术及课程设计实验报告三
- 格式:doc
- 大小:161.50 KB
- 文档页数:10
一、实验内容:编写程序产生正弦波二、实验目的:1.熟悉DSP实验箱的功能及应用。
2.巩固DSP书本知识,掌握编程知识。
3.提高动手和知识的拓展能力。
三、实验设备:一台HK-DSP实验箱、一台PC机四、实验步骤:1.配置实验箱,选择相应的芯片。
2.建立工程文件。
在project中点击new新建工程。
3.在新建的工程中建立汇编源文件、链接文件和复向量文件,汇编源文件的名称必须与工程名和程序名一致,链接文件必须与程序名保持一致。
4.编程。
主程序:.title "shiyan4.asm".mmregs.def start.ref d_xs,d_sinx,d_xc,d_cosx,sin_start,cos_startsin_x: .usect "sin_x",360STACK: .usect "STACK",10k_theta .set 286start: .textSTM #STACK+10,SPSTM #0,AR1STM k_theta,AR0STM #sin_x,AR7STM #90,BRCRPTB LOOP1-1LDM AR1,ALD #d_xs,DPSTL A,@d_xsSTL A,@d_xcCALL sin_startCALL cos_startLD #d_sinx,DPMPYA @d_cosxSTH B,1,*AR7+MAR *AR1+0LOOP1: STM #sin_x+89,AR6STM #88,BRCRPTB LOOP2-1LD *AR6-,ASTL A,*AR7+LOOP2: STM #179,BRCSTM #sin_x,AR6RPTB LOOP3-1LD *AR6+,ANEG ASTL A,*AR7+LOOP3: NOPend: B end.end子程序:sin_start:.def sin_start,d_sinx,d_xsd_coef_s .usect "coef_s",4.datatable_s: .word 01C7H.word 030BH.word 0666H.word 1556Hd_xs .usect "sin_vars",1d_squr_xs .usect "sin_vars",1d_temp_s .usect "sin_vars",1d_sinx .usect "sin_vars",1 c_1_s .usect "sin_vars",1.textSSBX FRCTSTM #d_coef_s,AR4RPT #3MVPD #table_s,*AR4+STM #d_coef_s,AR2STM #d_xs,AR3STM #c_1_s,AR5ST #7FFFH,c_1_sSQUR *AR3+,AST A,*AR3MASR *AR3+,*AR2+,B,AMPYA ASTH A,*AR3MASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3|| LD *AR5,BMASR *AR3-,*AR2,B,AMPYA d_xsSTH B,d_sinxRETcos_start:.def cos_start,d_cosx,d_xc d_coef_c .usect "coef_c",4.datatable_c: .word 0249H.word 0444H.word 0AABH.word 4000Hd_xc .usect "cos_vars",1d_squr_xc .usect "cos_vars",1d_temp_c .usect "cos_vars",1d_cosx .usect "cos_vars",1c_1_c .usect "cos_vars",1.textSSBX FRCTSTM #d_coef_c,AR4RPT #3MVPD #table_c,*AR4+STM #d_coef_c,AR2STM #d_xc,AR3STM #c_1_c,AR5ST #7FFFH,c_1_cSQUR *AR3+,AST A,*AR3||LD *AR5,BMASR *AR3+,*AR2+,B,ASTH A,*AR3MASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2,B,ASFTA A,-1,ANEG AMPYA *AR3+MAR *AR3+RETDADD *AR5,16,BSTH B,*AR3RET链接文件:vectors.objshiyan4.obj-o shiyan4.out-m shiyan4.map-e startMEMORY{PAGE 0:EPROM: org=0E000H, len=1000HVECS: org=0FF80H, len=0080HPAGE 1:SPRAM: org=0060H, len=0020HDARAM1: org=0080H, len=0010HDARAM2: org=0090H, len=0010HDARAM3: org=0200H, len=0200H}SECTIONS{ .text :>EPROM PAGE 0.data :>EPROM PAGE 0STACK :>SPRAM PAGE 1sin_vars :>DARAM1 PAGE 1coef_s :>DARAM1 PAGE 1cos_vars :>DARAM1 PAGE 1coef_c :>DARAM2 PAGE 1sin_x : align(512){}> DARAM3 PAGE 1 .vetors :>VECS PAGE 0}复向量文件:.title "vectors.asm".ref start.sect ".vectors"B start.end5.将文件加入工程。
[《DSP原理及应用》课程实验报告](软、硬件实验)实验名称:[《DSP原理及应用》实验]专业班级:[ ]学生姓名:[ ]学号:[ ]指导教师:[ ]完成时间:[ ]目录第一部分.基于DSP系统的实验 (1)实验3.1:指示灯实验 (1)实验3.2:DSP的定时器 (3)实验3.5 单路,多路模数转换(AD) (5)第二部分.DSP算法实验 (13)实验5.1:有限冲击响应滤波器(FIR)算法实验 (13)实验5.2:无限冲激响应滤波器(IIR)算法 (17)实验5.3:快速傅立叶变换(FFT)算法 (20)第一部分.基于DSP系统的实验实验3.1:指示灯实验一.实验目的1.了解ICETEK–F2812-A评估板在TMS320F2812DSP外部扩展存储空间上的扩展。
2.了解ICETEK–F2812-A评估板上指示灯扩展原理。
1.学习在C语言中使用扩展的控制寄存器的方法。
二.实验设备计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK–F2812-A系统板+相关连线及电源)。
三.实验原理1.TMS320F2812DSP的存储器扩展接口存储器扩展接口是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。
-ICETEK–F2812-A评估板在扩展接口上除了扩展了片外SRAM外,还扩展了指示灯、DIP开关和D/A设备。
具体扩展地址如下:C0002-C0003h:D/A转换控制寄存器C0001h:板上DIP开关控制寄存器C0000h:板上指示灯控制寄存器详细说明见第一部分表1.7。
-与ICETEK–F2812-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:108000-108004h:读-键盘扫描值,写-液晶控制寄存器108002-108002h:液晶辅助控制寄存器2.指示灯扩展原理3.实验程序流程图开始初始化DSP时钟正向顺序送控制字并延时四.实验步骤1.实验准备连接实验设备:请参看本书第三部分、第一章、二。
DSP课程设计报告之混响一、课程目标知识目标:1. 学生能理解混响的概念,掌握混响的物理原理和数学模型。
2. 学生能描述混响在数字信号处理(DSP)中的应用,如音乐制作、声音效果增强等。
3. 学生能解释混响参数对声音效果的影响,如混响时间、湿度、大小等。
技能目标:1. 学生能运用所学知识,使用DSP软件(如Audacity、MATLAB等)进行混响效果的实现和调整。
2. 学生能通过实验和案例分析,分析混响在音频处理中的实际应用,提高解决问题的能力。
情感态度价值观目标:1. 学生通过混响的学习,培养对声音美学的认识和鉴赏能力,提高对音乐和声音艺术的兴趣。
2. 学生在学习过程中,培养合作意识,学会倾听他人意见,提高团队协作能力。
3. 学生通过了解混响在生活中的应用,认识到科技与生活的紧密联系,增强学以致用的意识。
课程性质:本课程为高年级选修课程,以理论讲解和实践操作相结合的方式进行。
学生特点:学生具备一定的数字信号处理基础,对声音处理有一定了解,具有较强的学习能力和动手能力。
教学要求:注重理论与实践相结合,通过案例分析和实验操作,使学生掌握混响的相关知识,提高实际应用能力。
同时,关注学生的情感态度培养,激发学生的学习兴趣和团队合作意识。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 理论部分:- 混响的定义与分类:介绍混响的基本概念,包括自然混响和人工混响,以及混响的类别。
- 混响的物理原理:讲解声音在空间中的传播、反射、吸收等原理,分析影响混响效果的因素。
- 混响的数学模型:介绍混响的常见数学模型,如卷积模型、参数模型等,并分析其优缺点。
2. 实践部分:- 混响效果器的使用:结合教材,教授学生如何使用Audacity、MATLAB等软件中的混响效果器。
- 混响参数调整:指导学生通过调整混响时间、湿度、大小等参数,实现不同混响效果。
- 实践案例:分析实际案例,如音乐作品中的混响处理,使学生更好地理解混响在音频处理中的应用。
基于dsp课程设计报告一、教学目标本课程的教学目标分为三个维度:知识目标、技能目标和情感态度价值观目标。
1.知识目标:通过本课程的学习,学生需要掌握DSP(数字信号处理器)的基本概念、原理和应用。
具体包括:了解DSP的发展历程和分类;理解DSP的基本结构和主要性能指标;掌握DSP的编程方法和应用领域。
2.技能目标:培养学生具备使用DSP进行数字信号处理的能力。
具体包括:学会使用DSP开发环境和工具;掌握DSP编程语言和算法;能够独立完成DSP项目的开发和调试。
3.情感态度价值观目标:激发学生对DSP技术的兴趣和好奇心,培养学生的创新意识和团队合作精神。
使学生认识到DSP技术在现代社会中的重要性和广泛应用,树立正确的技术观和价值观。
二、教学内容本课程的教学内容分为五个部分:DSP基础知识、DSP原理与结构、DSP编程方法、DSP应用案例和DSP项目实践。
1.DSP基础知识:介绍DSP的发展历程、分类和主要性能指标。
2.DSP原理与结构:讲解DSP的基本原理、结构和主要组成部分,如运算器、存储器、输入输出接口等。
3.DSP编程方法:学习DSP编程语言、算法和开发环境,掌握基本的编程技巧。
4.DSP应用案例:分析典型的DSP应用场景,如音频处理、图像处理、通信系统等。
5.DSP项目实践:分组进行项目实践,培养学生独立完成DSP项目的能力。
三、教学方法本课程采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:用于传授基本知识和理论,引导学生掌握DSP的基本概念和原理。
2.讨论法:鼓励学生针对案例进行分析讨论,培养学生的思考能力和团队协作精神。
3.案例分析法:通过分析实际应用案例,使学生更好地理解DSP技术的应用和价值。
4.实验法:让学生动手进行实验,培养实际操作能力和创新思维。
四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的教材,如《数字信号处理器原理与应用》等。
dsp的课程设计一、课程目标知识目标:1. 理解数字信号处理(DSP)的基本概念,掌握其基本原理;2. 掌握DSP系统的数学模型和基本算法;3. 了解DSP技术在现实生活中的应用。
技能目标:1. 能够运用数学工具进行DSP相关计算;2. 能够运用编程语言实现简单的DSP算法;3. 能够分析并解决简单的实际问题,运用DSP技术进行优化。
情感态度价值观目标:1. 培养学生对DSP技术的兴趣,激发其探索精神;2. 培养学生严谨、客观的科学态度,提高其分析问题和解决问题的能力;3. 培养学生的团队协作意识,提高其在团队中的沟通能力。
分析课程性质、学生特点和教学要求:1. 课程性质:DSP课程具有较强的理论性、实践性和应用性,要求学生具备一定的数学、编程和电路基础知识;2. 学生特点:高中年级学生,具备一定的逻辑思维能力和动手操作能力,对新技术和新知识充满好奇;3. 教学要求:注重理论与实践相结合,以实际问题为引导,激发学生的学习兴趣,提高其分析问题和解决问题的能力。
课程目标分解:1. 知识目标:通过本课程的学习,使学生掌握DSP的基本概念、原理和算法;2. 技能目标:通过实践操作,使学生能够运用数学工具和编程语言实现DSP 算法;3. 情感态度价值观目标:通过团队合作和实际问题解决,培养学生对DSP技术的兴趣,提高其科学素养和团队协作能力。
二、教学内容1. 数字信号处理基本概念:信号的定义、分类及特性;离散时间信号与系统;傅里叶变换及其性质。
2. DSP数学基础:复数运算;欧拉公式;离散傅里叶变换(DFT)及其快速算法(FFT)。
3. 数字滤波器设计:滤波器类型;无限长冲击响应(IIR)滤波器和有限长冲击响应(FIR)滤波器设计方法;滤波器的实现与优化。
4. DSP算法实现:快速傅里叶变换(FFT)算法;数字滤波器算法;数字信号处理中的数学优化方法。
5. DSP应用案例分析:语音信号处理;图像信号处理;通信系统中的应用。
装订线实验报告课程名称:微机原理及其应用指导老师:徐习东成绩:实验名称:实验一二三综合实验报告实验类型:同组学生姓名:一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求1、了解DSP的基本原理和实验过程。
完成实验一、二、三。
完成4段程序的运行过程。
2、了解DSP的编程方法,学习TI资源文件的使用方法,3、认识中断、GPIO、定时器等的编程使用方法。
二、实验内容和原理实验一LED绿灯的控制:共阳极发光二极管原理图如下图1 发光二极管原理图通过GPIO控制发光二极管DS20~DS25的亮灭。
当GPIOFx=0时,对应的发光二极管被点亮。
GPIO端口:GPIOF13~GPIOF8实验二实验名称:DSP实验综合报告姓名:学号:装订线利用CPU定时器和中断实现点亮了4盏规定的绿灯,同时控制灯分别以1s,100ms,10ms,1ms为周期交替亮灭。
通过设置CPU定时器,使1ms产生1个中断输出,再通过循环计数控制当分别产生1ms、10ms、100ms、1s的时间间隔进入中断,控制相应LED亮灭。
实验三分别用两种TI资源的方法编程,实现控制绿灯和红灯的要求。
方法一是仅仅使用TI规定的变量编程,方法二是使用TI资源的内置文件,初始化文件和.c文件等中的自带函数。
把6盏绿灯及16盏红灯有规律地控制点亮。
红灯的控制:LED接口如图:1、一端接电源高电平红灯的控制:2、一端接锁存器的输出;3、由两个锁存器控制16盏灯;两个锁存器:1、输入数据为实验名称:DSP实验综合报告姓名:学号:装订线GPIOB8 ~GPIOB15;2、锁存信号由GPIOE0 ~GPIOE2 控制;点灯控制:1、先确定第几组,第几盏;2、GPIOE输出组号,GPIOB输出位号;3、延时,GPIOE输出锁存信号三、主要仪器设备TMS实验板、PC机、程序烧写器四、操作方法和实验步骤1、实验一(1)学习DSP的相关内部元件的使用方法。
DSP课程设计报告摘要本次课程设计介绍了数字信号处理的最小系统的整个设计过程,该最小系统的硬件由主控芯片TWS320VC5402、电源电路、时钟电路、复位电路、JTAG 接口、外部存储器构成。
DSP 芯片是一种独特的微处理器,是以数字信号来处理大量信息的器件,其工作原理是接收模拟信号,转换为0或1的数字信号。
再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式,而且具有可编程性。
所以本次课程设计的过程是ADC0809完成数据的采样及A/D转换后,数字信号通过TMS320VC5402处理后,由DAC0832完成D/A转换并输出;外部存储器采用通用EPROM, TMS320VC5402采用8位并行EPROM引导方式;并加入了标准的14针JTAG 接口,便于系统的调试与仿真。
AbstractThe course design introduces the smallest system of DSP and its design process. The smallest system consists of main control chip that is TMS320VC5402, power circuit, clock circuit, reset circuit, JTAG interface circuit and external memory constitute.The chip of DSP is a unique microprocessor which is mainly dealing with digital signal, so it transforms analog signal to digital signal including 0 and 1. And then chip modifies, deletes and strengths digital signal that it can be transformed into analog signal through other chips. The chip of DSP can be programmed. Next, the process is following. The chip deals with digital signal after ADC0809 chip finishes data collection and transformation, and DAC0832 transforms digital signal to analog signal and outputs the analog signal. The external memory adopts EPROM. In order to debug and simulate , it adds the standard JTAG interface of 14 pins.1绪论在近20 多年时间里,DSP 芯片的应用已经从军事、航空航天领域扩大到信号处理、通信、雷达、消费等许多领域。
课程设计(实验)报告课程DSP专业电子信息工程技术学号姓名指导教师机械与电子信息工程学部2011年6月目录实验一熟悉HK-EP型DSP实验箱和CCS软件的使用实验二编写程序实现y= ∑ax,其中x、a的值自设实验三编写程序将数组X[5]初始化为1,2,3,4,5,再把每个元素乘以2实验四编写程序产生正弦波实验五编写程序,使实验箱控制核心板上的指示灯XFD1闪烁频率为2Hz实验六编写程序,使实验箱上的点阵循环显示汉字“中国”实验一一、实验内容:熟悉HK-EP型DSP实验箱和CCS软件的使用二、实验目的:熟练运用实验箱和CCS软件的使用三、实验设备:HK-EP型DSP数字信号处理实验仪四、实验步骤:(一)、不连接实验箱的配置首先双击CCS软件出现界面关闭当前窗口,然后移除MY SYSTEM 下面的所有项目,然后点击IMPORT A CONFIGURILATION,再出现的窗口中选择第二项,点击IMPORT和SA VE AND QUIT,再出现的界面上点击“是”,即可进入不连接试验箱的CCS程序(二)、连接实验箱的配置(1)硬件仿真器设备驱动安装①连接硬件USB数据线后,计算机提示找到新的硬件,请选择新硬件的软件,单击“下一步”出现设备驱动窗口。
②点击“浏览”后,找到仿真器所配光盘根目录下的“tdsjtag.sys”或“tddjtag.inf”打开。
③单击下一步,完成安装。
点击“完成”,则在硬件设备管理中可看到所添加的新设备情况。
如下图:(2)运行光盘根目录下的“setup.exe”(仿真器的运行链接文件)(3)CCS(CC)动态连接库的安装双击进入“SETUP CCS5000”界面,点击“C54x XDS(Texas instruments)”或按住鼠标的左键拖到“My system”下。
点击“auto-generate board data file”的下拉箭头,选中“auto-genrate board data filewith extra config”,点击“Browse”,添加安装在C:\TI\CC\BIN\wintech.cfg;添加完成后,点击“NEXT”继续下一步;修改I/O口地址,将0X240改为0X0,选中“TMS320C5400”,点击“Add single”,继续点击“NEXT”添加“GEL”文件(注:此GEL文件可以不需添加),点击“Finish”。
东南大学自动化学院实验报告课程名称:DSP原理及C程序开发第三次实验实验名称:液晶屏、键盘外设控制实验院(系):自动化专业:自动化姓名:学号:实验室:实验组别:同组人员:实验时间:2012 年 4 月25 日评定成绩:审阅教师:实验3:基于DSP系统的实验——液晶屏、键盘外设控制实验一.实验目的通过实验学习使用28335A DSP的扩展端口控制外围设备的方法,了解(1)发光二极管的控制编程方法、(2)液晶显示器编程方法、(3)键盘外设控制编程方法。
二.实验设备计算机,ICETEK-F28335-EDU 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 系统板+相关连线及电源)。
三.实验原理1.发光二极管显示阵列(交通灯)控制TMS320F28335DSP的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEK-F28335-A 将这些扩展线引到了板上的扩展插座上供扩展使用。
实验箱中ICETEK-CTR板上的发光二极管显示阵列(交通灯)的显示是由扩展端口控制,扩展在EMIF 接口的两个寄存器提供具体控制。
交通灯一共12个,使其顺序亮灭的例程如下所示:unsigned int uLedmy[12]={ 0x1,0x2,0x04,0x48,0x50,0x60, 0x8, 0x10, 0x20,0x41, 0x42,0x44};void main(void){int nCount;InitSysCtrl();InitXintf16Gpio();CTRGR=0x80; // 初始化ICETEK-CTRCTRGR=0x0;CTRGR=0x80;CTRLR=0; // 关闭东西方向的交通灯CTRLR=0x40; // 关闭南北方向的交通灯nCount=0;for (;;){*(int *)0x208007=uLedmy[nCount]; // 设置指示灯状态nCount++; nCount%=12;Delay(512);}}2.液晶显示器控制显示液晶显示模块的访问、控制是由28335A DSP 对扩展接口的操作完成。
控制口的寻址:命令控制接口的地址为0x208001,数据控制接口的地址为0x208003 和0x208004,辅助控制接口的地址为0x208002。
液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。
液晶屏是64*64点阵的,一个基本字符占用8*8点阵。
其地址与象素的对应方式如下:发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制接口写入命令控制字,然后再向辅助控制接口写入0。
下面给出的是基本命令字、解释和C语言控制语句举例:●显示开关:0x3f 打开显示;0x3e 关闭显示;●设置显示起始行:0x0c0+起始行取值,其中起始行取值为0至63;●设置操作页:0x0b8+页号,其中页号取值为0-7;●设置操作列:0x40+列号,其中列号为取值为0-63;写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的数据写入液晶显示模块的缓存。
将数据发送到相应数据控制I/O接口即可。
3.键盘输入键盘的扫描码由DSP 的扩展地址0x208001 给出,当有键盘输入时,读此端口得到扫描码,当无键被按下时读此端口的结果为0。
各按键的扫描码排列如下所示(scancode.h)。
#define SCANCODE_0 0x70#define SCANCODE_1 0x69#define SCANCODE_2 0x72#define SCANCODE_3 0x7A#define SCANCODE_4 0x6B#define SCANCODE_5 0x73#define SCANCODE_6 0x74#define SCANCODE_7 0x6C#define SCANCODE_8 0x75#define SCANCODE_9 0x7D#define SCANCODE_Del 0x49#define SCANCODE_Enter 0x5A#define SCANCODE_Plus 0x79#define SCANCODE_Minus 0x7B#define SCANCODE_Mult 0x7Cdefine SCANCODE_Divid 0x4A#define SCANCODE_Num 0x77四.实验步骤1.打开例程“Lab402-Ledarray”工程,编译运行,观察交通灯流水亮灭。
实验程序:#define LCDDELAY 1#define LCDCMDTURNON 0x3f#define LCDCMDTURNOFF 0x3e#define LCDCMDSTARTLINE 0xc0#define LCDCMDPAGE 0xb8#define LCDCMDVERADDRESS 0x40#define CTRGR *(int *)0x208000#define CTRLCDCMDR *(int *)0x208001#define CTRKEY *(int *)0x208001#define CTRLCDCR *(int *)0x208002#define CTRCLKEY *(int *)0x208002#define CTRLCDLCR *(int *)0x208003#define CTRLCDRCR *(int *)0x208004#define CTRLA *(int *)0x208005void main(void){int nCount,nCursorCount;unsigned int nScanCode,nKeyCode;unsigned char cKey,cOldKey;unsigned int nSpeed;InitSysCtrl();InitXintf16Gpio();CTRGR=0x80; // 初始化ICETEK-CTRCTRGR=0x0;CTRGR=0x80;CTRLR=0; // 关闭东西方向的交通灯CTRLR=0x40; // 关闭南北方向的交通灯CTRLR=0xc1;uPort8000=CTRLCDCR; // 清键盘缓冲区RefreshLEDArray();nCount=nCursorCount=0;/****************************************************************************** ********Task1: 编写一段循环程序,用交通灯实现流水点亮,可利用本程序中的Delay()函数******************************************************************************* *******/for (;;){CTRLR=uLedmy[nCount]; // 设置指示灯状态nCount++;nCount%=12;Delay(1024);}}2. 打开例程“Lab405-lcd”工程,编译运行,可以观察到液晶屏左侧顶部第一个8*8单元显示从0到9的计数单字符。
实验程序: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},{0x00,0x00,0x30,0x28,0x24,0xFE,0x20,0x00},{0x00,0x00,0x4E,0x92,0x92,0x92,0x62,0x00},{0x00,0x00,0x7C,0x92,0x92,0x92,0x64,0x00},{0x00,0x00,0x02,0xC2,0x32,0x0A,0x06,0x00},{0x00,0x00,0x6C,0x92,0x92,0x92,0x6C,0x00},{0x00,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00}};for (;;){for(j=0;j<10;j++){CTRLCDCMDR=LCDCMDPAGE; // 设置操作页=0Delay(LCDDELAY);CTRLCDCR=0;Delay(LCDDELAY);CTRLCDCMDR=LCDCMDVERADDRESS; // 起始列=0Delay(LCDDELAY);CTRLCDCR=0;Delay(LCDDELAY);for ( i=0;i<8;i++ ){/*********************************************************************** Task: 推算ledkey数组值的含义;给屏幕左侧第1至8行第i列赋值。
另外,可利用变量nBW来控制背景/前景色取反;即:CTRLCDLCR=**********************************************************************/CTRLCDLCR=ledkey[j][i];Delay(LCDDELAY);CTRLCDCR=0;Delay(LCDDELAY);}Delay(4096); //延时子程序nCount++;if ( nCount==10 ){nCount=0;nBW=1-nBW;}}}3. 打开例程“Lab404-key”工程,编译运行,可以观察到发光二极管阵列显示键盘输入字符。
实验程序:/****************************************************************************** ********Task2: 完善如下一段循环程序,查询小键盘,用按键点亮对应的交通灯,例如按下“1”点亮左交通灯的红灯提示:用cOldKey和cKey变量分别保存上次键值和本次键值******************************************************************************* *******/for (;;){nScanCode=CTRLCDCMDR;nScanCode&=0x0ff;uPort8000=CTRLCDCR;if ( nScanCode!=0 ){cOldKey=cKey;cKey=nScanCode;if(cOldKey!=cKey){CTRLR=0x40; // 关闭南北方向的交通灯CTRLR=0;;CTRLR=uLedmy[cKey];}}Delay(25);}五.问题与思考1. 修改例程“Lab405-lcd”工程,使得液晶屏右侧顶部第一个8*8单元显示从0到9的计数单字符。