ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:81.04KB ,
资源ID:3224218      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3224218.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(dsp课程设计报告点阵显示广告牌显示.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

dsp课程设计报告点阵显示广告牌显示.docx

1、dsp课程设计报告 点阵显示 广告牌显示DSP课程设计说明书题 目 : 霓虹灯广告牌专业班级 : 学生姓名 : 学 号 : 一、 设计目的DSP应用的快速发展为数字信息产品带来广阔的发展空间,并将支持通信、计算机和消费类电子产品的数字化融合。在无线领域,DSP遍及无线交换设备、基站、手持终端和网络领域,并涵盖从骨干基础设施到宽带入户的设备,包括VoIP网关和IP电话、DSL和Cable Modem等。面向群体应用,DSP在媒体网关、视频监控、专业音响、数字广播、激光打印等应用中表现出色;面向个人应用,DSP在便携式数字音频和影像播放器、指纹识别和语音识别等应用中表现不俗;针对嵌入式数字控制应用

2、,DSP极大地满足了工业界的需求,如数字变频电力电源设备、工业缝纫机等;DSP也极大地满足了消费电子的需求,如空调、冰箱、洗衣机等。随着DSP生产技术和工艺的进步,新型的DSP产品将会不断涌现,并得到广泛应用。通过此次课程设计,学习dsp芯片的I/O端口控制方法,熟悉字模的简单构建和使用,熟悉程序调试规程,并能最终熟悉掌握在DSP软硬件环境下的程序开发流程,达到学以致用的目的。二、 系统分析21、设计要求5个按键,按下键1,LCD第一行显示“石家庄铁道大学”;按下键2,LCD第二行显示“电气工程学院”;按下键3,LCD第三行显示“欢迎您”;按下键5,LCD第三行显示“谢谢”;按下键4,LCD清

3、屏。22、设计思想 通过相应软件开发平台和相应实验箱进行程序调试DSP外设控制设备开发扩展。用独立式控键控制DSP的管脚,使用DSP芯片控制LCD来显示汉字,用其中一个按键实现LCD的清屏,其它(4个)每个按键实现汉字的输出控制, 通用DSP管脚控制LCD公告牌的文字显示 三、 总体设计3.1、硬件设计硬件设计组成框图如图所示: 3.2、总体电路图设计 其中s1s5为按键,R1R5对管脚起保护作用。该键盘为独立式键盘,分别和DSP芯片的管脚PWM1、PWM2、PMW3、PWM4、PWM5相连接。因为DSP芯片的允许电压为3.3V,所以该键盘外接3.3V的电源。DSP芯片外接LCD作为输出,外接

4、5个单按键作为输入。在程序中构建汉字字模,并能够使用查找法提取。3.3最小系统图四、 单元电路设计4.1 按键电路 该键盘为独立式键盘,分别和DSP芯片的GPIO管脚PWM1、PWM2、PMW3、PWM4、PWM5相连接,因为DSP芯片的允许电压为3.3V,所以该键盘外接3.3V的电源。当开关S断开时,其管脚为高电平;当开关闭合时,其管脚变为低电平;以此来控制DSP芯片的管脚。其中PWM1为清屏,其余控制LCD显示汉字。4.2. DSP与LCD接口设计本设计采用间接访问方式来实现DSP与LCD之间的时序匹配,即在程序中加入大量延时语句。由于DSP 为3.3V 设备,而液晶显示模块属于5V 设备

5、,所以在连接控制线、数据线时需要加电平隔离和转换设备。Tms320lf2407a引脚图五、 运行描述(1)CS运行环境,进行相应的设置,然后保存设置,在CCS运行环境下打开已编好的程序,进行调试,直至提示0个错误,然后保存调试成功后的文件。(2)打开DSP试验箱电源,按照先前设计的电路原理图连接电路,其中电源部分应在确定为3.3v或小于3.3v时连接芯片电源,然后拷入刚才运行成功后的程序。(3) 由键盘作用分别向DSP芯片管脚输入低电平,各管脚分别调用相应程序来控制LCD的显示;按键1: LCD显示出“石家庄铁道大学”按键2: LCD显示出“电气工程学院”按键3: LCD显示出“欢迎您” 按键

6、4: LCD显示出“谢谢”六、 软件设计 7.1程序流程图 初始化程序后,f2407a一直处在等待判断状态,若有低电平,则调用显示程序,若没有低电平送来(5个按键有其中一个按下)。则根据相应的程序设置地址判断时显示相应按键控制下的汉字还是清屏,如果没有低电平送来,则保持原来等待判断状态。当清屏或显示汉字后,程序会自动回到等待判断状态,以此循环。程序流程图如下: 7.2程序代码#include DSP281x_Device.h / DSP281x Headerfile Include File#include DSP281x_Examples.h / DSP281x Examples Inclu

7、de File#include f2812a.h#include DSP281x_GPio.h#include lcd.h#define LCDDELAY 1#define LCDCMDTURNON 0x3f /打开LCD#define LCDCMDTURNOFF 0x3e /关闭LCD#define LCDCMDSTARTLINE 0xc0 /起始行#define LCDCMDPAGE 0xb8 /起始页#define LCDCMDVERADDRESS 0x40 / 起始地址int i,j,y=0;/void Delay(unsigned int nTime); / 延时子程序void Tu

8、rnOnLCD(); / 打开显示void LCDCLS(); / 清除屏幕显示内容 /延时 /*void Delay(unsigned int nTime) int ii; int jj; int kk=0; for(ii=0;iinTime;ii+ ) for(jj=0;jj100;jj+ ) kk+; */unsigned char ledkey1732= 040h,010h,040h,020h,040h,040h,040h,080h,043h,0ffh,04dh,02h,071h,02h,041h,02h,041h,02h,041h,02h,041h,02h,041h,02h,041h

9、,0ffh,040h,00h,040h,00h,00h,00h,08h,02h,034h,092h,024h,092h,024h,094h,025h,024h,025h,028h,0a6h,04ah,065h,091h,024h,0feh,024h,020h,024h,050h,024h,088h,025h,08h,02ch,04h,030h,04h,00h,00h, ,00h,00h,00h,01h,00h,06h,01fh,0f8h,010h,02h,010h,082h,010h,082h,010h,082h,090h,082h,077h,0feh,010h,082h,010h,082h,

10、010h,082h,010h,082h,010h,082h,00h,02h, ,04h,080h,08h,080h,034h,080h,0e7h,0feh,024h,084h,024h,088h,02h,01h,03ch,082h,08h,08ch,08h,0b0h,0ffh,0c0h,08h,0b0h,08h,08ch,08h,082h,00h,081h,00h,00h, ,02h,00h,02h,02h,042h,04h,033h,0f8h,00h,04h,010h,02h,097h,0fah,055h,052h,01bh,052h,015h,052h,015h,052h,055h,052

11、h,097h,0fah,010h,02h,00h,02h,00h,00h, ,04h,01h,04h,01h,04h,02h,04h,04h,04h,08h,04h,030h,04h,0c0h,0ffh,00h,04h,0c0h,04h,030h,04h,08h,04h,04h,04h,02h,04h,01h,04h,01h,00h,00h,02h,020h,0ch,020h,088h,020h,069h,020h,09h,020h,09h,022h,089h,021h,069h,07eh,09h,060h,09h,0a0h,019h,020h,028h,020h,0c8h,020h,0ah,

12、020h0ch,020h,00h,00h,;unsigned char ledkey2632= 00h,00h,00h,00h,01fh,0f8h,011h,010h,011h,010h,011h,010h,011h,010h,0ffh,0feh,011h,011h,011h,011h,011h,011h,011h,011h,01fh,0f9h,00h,01h,00h,0fh,00h,00h,04h,00h,08h,00h,032h,00h,0e2h,00h,02ah,00h,02ah,00h,02ah,00h,02ah,00h,02ah,00h,02ah,00h,02ah,00h,02bh,

13、0f0h,020h,0ch,020h,02h,00h,0fh,00h,00h,00h,04h,020h,04h,020h,04h,020h,04h,020h,04h,020h,04h,020h,04h,03fh,0fch,020h,04h,020h,04h,020h,04h,020h,04h,020h,04h,020h,04h,00h,04h,00h,00h, ,024h,010h,024h,060h,025h,080h,07fh,0ffh,0c4h,080h,044h,060h,00h,02h,07ch,092h,044h,092h,044h,092h,044h,0feh,044h,092h

14、,044h,092h,07ch,092h,00h,082h,00h,00h, ,02h,020h,0ch,020h,088h,020h,069h,020h,09h,020h,09h,022h,089h,021h,069h,07eh,09h,060h,09h,0a0h,019h,020h,028h,020h,0c8h,020h,0ah,020h,0ch,020h,00h,00h, ,00h,00h,07fh,0ffh,044h,020h,05ah,010h,061h,0e0h,08h,01h,030h,082h,024h,08ch,024h,0f0h,0a4h,080h,064h,080h,02

15、4h,0fch,024h,082h,028h,082h,030h,08eh,00h,00h,unsigned char ledkey3332=00h,00h,020h,08h,024h,010h,022h,060h,021h,080h,026h,041h,039h,032h,02h,04h,0ch,018h,0f0h,060h,013h,080h,010h,060h,010h,018h,014h,04h,018h,02h,00h,01h,02h,00h,02h,02h,042h,04h,033h,0f8h,00h,04h,00h,02h,03fh,0f2h,020h,022h,040h,042

16、h,00h,02h,03fh,0feh,020h,042h,020h,022h,03fh,0c2h,00h,02,00h,00h, ,04h,02h,08h0ch,010h,00h,03fh,0eeh,0c8h,01h,08h,081h,011h,011h,0ech,04dh,020h,021h,02fh,0c1h,020h,01h,024h,07h,02ah,00h,031h,088h,00h,06h,00h,00h, ,;unsigned char ledkey4232=00h,00h,02h,00h,042h,00h,033h,0fch,00h,08h,00h,054h,03fh,0c8

17、h,06ah,052h,0aah,061h,03fh,0feh,01h,00h,08h,0c2h,08h,01h,0ffh,0feh,08h,00h,08h,00h, ,00h,00h,02h,00h,042h,00h,033h,0fch,00h,08h,00h,054h,03fh,0c8h,06ah,052h,0aah,061h,03fh,0feh,01h,00h,08h,0c2h,08h,01h,0ffh,0feh,08h,00h,08h,00h, ,;/*void Delay(unsigned int nTime)int ii ,jj,kk=0;for(ii=0;iinTime;ii+)

18、for(jj=0;jj1024;jj+) kk+;/*/*/r打开液晶显示void TurnOnLCD() *(int *)0x108001=LCDCMDTURNON; Delay(LCDDELAY); *(int *)0x108002=0; Delay(2048); *(int *)0x108001=LCDCMDSTARTLINE; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY);void LCDCLS() /清屏 int i,j; *(int *)0x108001=LCDCMDSTARTLINE; Delay(LCDDELAY);

19、*(int *)0x108002=0; Delay(LCDDELAY); for ( i=0;i8;i+ ) /左屏 *(int *)0x108001=LCDCMDPAGE+i; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS; /地址 Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY) for ( j=0;j64;j+ ) *(int *)0x108003=0; Delay(LCDDELAY); *(int *)

20、0x108002=0; Delay(LCDDELAY); /右屏 *(int *)0x108001=LCDCMDPAGE+i; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for ( j=0;j64;j+ ) *(int *)0x108004=0; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY);

21、*/void main(void) EALLOW; GpioMuxRegs.GPAMUX.all=0x0000; /管脚定义为I/O口 GpioMuxRegs.GPADIR.all=0x0000; /定义管脚为输入口 EDIS; TurnOnLCD(); / 打开显示 LCDCLS(); for(;) if(GpioDataRegs.GPADAT.bit.GPIOA0=0) LCDCLS(); / 清除显示内存 if(GpioDataRegs.GPADAT.bit.GPIOA1=0) /设置起始值 *(int *)0x108001=LCDCMDSTARTLINE; / 设置显示起始行 Dela

22、y(LCDDELAY); /延时 *(int *)0x108002=0; /辅助命令控制字 Delay(LCDDELAY); *(int *)0x108001=LCDCMDPAGE; / 设置操作页=0 Delay(LCDDELAY); *(int *)0x108002=0; /辅助命令控制字 Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS; / 起始列=0 Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY);/ TurnOnLCD(); / 打开显示 y=0; for(j=0;j4;j

23、+) *(int *)0x108001=LCDCMDPAGE+2; /设置页 Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY) *(int *)0x108001=LCDCMDVERADDRESS+y; /设置地址 Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for(i=0;i16;i+) *(int *)0x108003=ledkey1ji; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108

24、001=LCDCMDPAGE+3; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS+y; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for(i=16;i32;i+) *(int *)0x108003=ledkey1ji; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); y+=16; y=0; for(j=4;j8;j+) *(int *)0x1

25、08001=LCDCMDPAGE+4; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS+y; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for(i=0;i16;i+) *(int *)0x108004=ledkey1ji; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDPAGE+5; Delay(

26、LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS+y; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for(i=16;i32;i+) *(int *)0x108004=ledkey1ji; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); y+=16; if(GpioDataRegs.GPADAT.bit.GPIOA3=0) /设置起始值 *(int *)0x1

27、08001=LCDCMDSTARTLINE; / 设置显示起始行 Delay(LCDDELAY); /延时 *(int *)0x108002=0; /辅助命令控制字 Delay(LCDDELAY); *(int *)0x108001=LCDCMDPAGE; / 设置操作页=0 Delay(LCDDELAY); *(int *)0x108002=0; /辅助命令控制字 Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS; / 起始列=0 Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); T

28、urnOnLCD(); / 打开显示 y=0; for(j=0;j4;j+) *(int *)0x108001=LCDCMDPAGE+2; /设置页 Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS+y; /设置地址 Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for(i=0;i16;i+) *(int *)0x108003=ledkey2ji; Delay(LCDDELAY); *(int *)0x108

29、002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDPAGE+3; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS+y; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for(i=16;i32;i+) *(int *)0x108003=ledkey2ji; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); y+=16; y=0; for(j=4;j8;j+) *(int *)0x108001=LCDCMDPAGE+4; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); *(int *)0x108001=LCDCMDVERADDRESS+y; Delay(LCDDELAY); *(int *)0x108002=0; Delay(LCDDELAY); for(i=0;i16;i+) *(int *)0x108004=ledkey2ji; Delay(LCDDELA

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2