数码显示和定时器设计DSP课程设计.doc

上传人:scccc 文档编号:13499367 上传时间:2022-01-10 格式:DOC 页数:17 大小:141KB
返回 下载 相关 举报
数码显示和定时器设计DSP课程设计.doc_第1页
第1页 / 共17页
数码显示和定时器设计DSP课程设计.doc_第2页
第2页 / 共17页
数码显示和定时器设计DSP课程设计.doc_第3页
第3页 / 共17页
数码显示和定时器设计DSP课程设计.doc_第4页
第4页 / 共17页
数码显示和定时器设计DSP课程设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数码显示和定时器设计DSP课程设计.doc》由会员分享,可在线阅读,更多相关《数码显示和定时器设计DSP课程设计.doc(17页珍藏版)》请在三一文库上搜索。

1、 DSP课程设计课题:数码显示和定时器设计 院系:计算机与通信工程学院 专业: 信息工程11-01 姓名: 0000 学号: 000000 日期: 2021-06-17 指导老师: 00000 郑州轻工业学院课 程 设 计 任 务 书班级 信息工程11-01 学号 00000 姓名 000题目 基于DSP的数码管显示和定时器设计 1. 主要内容 1主要内容2设计目的3根本要求4设计摘要,DSP简介。5设计原理,思路。6课程总结 2、设计目的1稳固DSP系统分析、设计方法。2稳固并进一步加强DSP系统的理解与应用。3综合运用C编程知识根底知识及高级应用。4掌握程序的编写,调试,和运行,熟悉CCS

2、环境的运用 3、根本要求 (1) 编写程序,能实现数码管显示相应的按键号 (2) 能在在LCD上显示定时功能 (3) 定时器拥有开始,暂停,复位等功能。 4、设计摘要,DSP简介 摘要:DSP是20世纪60年代,随着信息学科和计算机学科的高速开展而迅速开展起来的一门新兴学科。它的重要性日益在各个领域的应用中表现出来。其主要标志是两项重大进展,即快速傅里叶变换(FFT)算法的提出和数字滤波器设计方法的完善。数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用专用信号处理设备,用数值计算方法进行各种处理,到达提取有用信息便于应用的目的。例如:滤波、检测、变换、增强、估计、识别、参数提取、频

3、谱分析等。数字信号处理Digital Signal Processing,简称DSP是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面开展起来的。数字信号处理在理论上的开展推动了数字信号处理应用的开展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现那么是理论和应用之间的桥梁。数字信号处理是以众多的学科为理论根底的,它所涉及的范围及其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的根本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。一些新兴的学科,如

4、人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论根底,同时又使自己成为一系列新兴学科的理论根底。数字信号处理(DSP)芯片是一种特别适合于进行数字信号处理运算的微处理器可实时快速地实现各种数字信号处理算法。自20世纪80年代初诞生以来已广泛应用于通信、电子、航空航天、军事及家电产品成为一种十分重要的电子产品的核心部件。DSP芯片得到了飞速的开展。DSP芯片的高速开展,一方面得益于集成电路技术的开展,另一方面也得益于巨大的市场。在近20年时间里,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。目前,DSP芯片的价格越

5、来越低,性能价格比日益提高,具有巨大的应用潜力。DSP芯片的应用主要有:(1) 信号处理 (2) 通信(4) 图形/图像(5) 军事(6) 仪器仪表(7) 自动控制(8) 医疗(9) 家用电器随着DSP芯片性能价格比的不断提高,可以预见DSP芯片将会在更多的领域内得到更为广泛的应用。5,计数器的设计 思路:程序编码:*/ #include #include #include #include #include #define led8 (*(unsigned int *)0x200001) #define Digital8 (*(unsigned int *)0x200002)#define

6、LCD_REG (*(unsigned int *)0x200003) #define buzzer (*(unsigned int *)0x200004) #define USER_SW (*(unsigned int *)0x200005) #define LCD_DATA (*(unsigned int *)0x200006) #define USE_SW (*(unsigned int *)0x200005) #define UART_BASE_ADDR0x200008#define RBR*(int *)(UART_BASE_ADDR+0)#define THR*(int *)(UA

7、RT_BASE_ADDR+0)#define IER*(int *)(UART_BASE_ADDR+1)#define IIR*(int *)(UART_BASE_ADDR+2)#define FCR*(int *)(UART_BASE_ADDR+2)#define LCR*(int *)(UART_BASE_ADDR+3)#define MCR*(int *)(UART_BASE_ADDR+4)#define LSR*(int *)(UART_BASE_ADDR+5)#define MSR*(int *)(UART_BASE_ADDR+6)#define SCR*(int *)(UART_B

8、ASE_ADDR+7)#define DLL*(int *)(UART_BASE_ADDR+0)#define DLM*(int *)(UART_BASE_ADDR+1) #define DIG_DATA (*(unsigned int *)0x200002)#define comm 0#define dat 16 #define dat2 1/*要显示的字符*/int second1=0, second2=0,minute1=0,minute2=0,hour1=0,hour2=0;unsigned char str1= ;unsigned char str2= ;void Delay(uns

9、igned int nDelay);void wr_lcd(unsigned char dat_comm, unsigned int content);void delaynum(unsigned int d_time);/*锁相环的设置*/PLL_Config myConfig = 0, /IAI: the PLL locks using the same process that was underway /before the idle mode was entered 1, /IOB: If the PLL indicates a break in the phase lock, /i

10、t switches to its bypass mode and restarts the PLL phase-locking /sequence 12, /PLL multiply value; multiply 12 times 2 /Divide by 2 PLL divide value; it can be either PLL divide value /(when PLL is enabled), or Bypass-mode divide value /(PLL in bypass mode, if PLL multiply value is set to 1);/*SDRA

11、M的EMIF设置*/EMIF_Config emiffig = 0x221, /EGCR : the MEMFREQ = 00,the clock for the memory is equal to cpu frequence / the WPE = 0 ,forbiden the writing posting when we debug the EMIF / the MEMCEN = 1,the memory clock is reflected on the CLKMEM pin / the NOHOLD = 1,HOLD requests are not recognized by

12、the EMIF 0xFFFF,/EMI_RST: any write to this register resets the EMIF state machine 0x1fff,/CE3_1: CE0 space control register 1 0x00ff,/CE3_2: CE0 space control register 2 0x00ff,/CE3_3: CE0 space control register 3 0x1fff,/CE1_1: CE0 space control register 1 / Asynchronous, 16Bit 0x00ff,/CE1_2: CE0

13、space control register 2 0x00ff,/CE1_3: CE0 space control register 3 0x1FFF,/CE2_1: CE0 space control register 1 / Asynchronous, 16Bit 0xFFFF,/CE2_2: CE0 space control register 2 0x00FF,/CE2_3: CE0 space control register 3 0x1fff,/CE3_1: CE0 space control register 1 0x00ff,/CE3_2: CE0 space control

14、register 2 0x00ff,/CE3_3: CE0 space control register 3 0x2911, /SDC1: SDRAM control register 1 / TRC = 8 / SDSIZE = 0;SDWID = 0 / RFEN = 1 / TRCD = 2 / TRP = 2 0x0410,/SDPER : SDRAM period register / 7ns *4096 0x07FF, /SDINIT: SDRAM initialization register / any write to this register to init the al

15、l CE spaces, / do it after hardware reset or power up the C55x device 0x0131/SDC2: SDRAM control register 2 / SDACC = 0; / TMRD = 01; / TRAS = 0101; / TACTV2ACTV = 0001; ;/*以下内容为LCD的读写等函数*/* 参考:LCD说明书 TMS320VC5509 DSP External Memory Interface (EMIF) Reference Guide*/*addr为CPLD存放器操作专用指针Uint16Code=0x

16、06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x3f;void delay(unsigned int d_time)while(d_time-);main() int temp,k,start=0,stop=0,rw=0,c,key;/*初始化CSL库*/ CSL_init(); /*EMIF为全EMIF接口*/ CHIP_RSET(XBSR,0x0a01); /*设置系统的运行速度为144MHz*/ PLL_config(&myConfig); /*初始化DSP的EMIF*/ EMIF_config(&emiffig); wr_lcd(comm,0x

17、01); /清屏指令 wr_lcd(comm,0x38); /设定LCD为16*2,5*7矩阵,8位数据接口 wr_lcd(comm,0x0c); /显示ON 光标ON,闪烁ON wr_lcd(comm,0x06); /文字不动,光标while(1) temp=USE_SW&0xff; if(temp!=0x00) Delay(20); if(temp!=0x00) k=temp; while(temp!=0x00) temp=USE_SW&0xff; c=0; while(k!=0) k=k1; c+; /转换为键码,18分别对应1,2,4,8,16,32,64,128 DIG_DATA=C

18、odec-1; key=c;if(key=1)start=1;if(key=2)stop=1; if(key=3)rw=1;if(rw=1) second1=0, second2=0,minute1=0,minute2=0,hour1=0,hour2=0,start=0,stop=0,rw=0;if(second1=9) if(start=1)&(stop=0) second1=0;else second1=9,stop=0; if(second2=5)&(start=1) second2=0; if(minute1=9) minute1=0; if(minute2=5) minute2=0;

19、 if(hour1=3)hour1=0;if(hour2=2)hour2=0;else hour2+; else hour1+; else minute2+; else minute1+; else if(stop=1)second2=second2+0;else second2+; else if(start=1)&(stop=0) second1+;elsestop=0; delay(200); str17=0+second1; str16=0+second2; str15=0+10; str14=0+minute1; str13=0+minute2; str12=0+10; str11=

20、0+hour1; str10=0+hour2; /str2k=48+second; wr_lcd(comm,0x80); /第一行字符地址for(k=0;k16;k+) wr_lcd(dat2,str1k); delay(200); /wr_lcd(comm,0xc0);/第二行数据指针的地址/for(k=0;k16;k+) / / wr_lcd(dat2,str2k); / delay(200); / delay(1000);/LCD输出设置 void delaynum(unsigned int d_time)while(d_time-);/ BIT 0 LCD1602 RS/ BIT 1

21、LCD1602 EN void wr_lcd(unsigned char dat_comm, unsigned int content) /EN 高变低电平,液晶开始操作 /RS 高电平为数据存放器 低电平为指令存放器 Delay(40);if(dat_comm)LCD_REG=0x01;LCD_DATA=content; /数据端口LCD_REG=0x03; /en=0 delaynum(80); LCD_REG=0x00; /en=0 elseLCD_REG=0x00;LCD_DATA=content; LCD_REG=0x02; /rs=1 en=0 写指令端口 delaynum(80)

22、; LCD_REG=0x00; /en=0 Delay(100); void Delay(unsigned int nDelay)int ii,jj,kk=0;for ( ii=0;iinDelay;ii+ )for ( jj=0;jj64;jj+) kk+;/*/实验截图如下: 6,设计总结 通过本次课程设计。首先让我认识到了DSP与我们生活的密切相关性。日常生活中我们常常接触的一些电子产品功能原来很多都可以通过DSP来实现,也清楚了DSP的工作机制以及相关函数的应用。在不断地修改,调试过程中,有痛苦,但也总是苦尽甘来,最后成功的喜悦是无法比较的。设计中对于C语言的要求是我的弱项,对此我不得

23、不重新温习一遍C语言的知识点, 经过本次设计,我不仅清楚了关于DSP系统的分析和设计以及基于CCS的开发方法,C语言的应用及相关知识点的掌握。更重要的是加强了我对DSP的兴趣感情,通过自己的实际操作,不仅完成了老师的课程要求,更是增加了我对嵌入式的一个更加清楚的认识,我想这才本次课程设计的目的。7、主要参考文献程佩青 :?数字信号处理教程?第二版 清华大学出版社 2001年戴明帧 周建江:?TMS320C54X DSP结构、原理及应用?第二版北京航空航天大学出版社 2007雷勇:?DSP系统设计与实践? 电子工业出版社 2005 完 成 时 间: 2021-06-17 指导教师签名: 课程负责人签名: 3 点击结账后显示如下: 4点显示详单图左,然后假设点返回出现下列图图右 5 点确认那么出现选择项图左,然后再点确认那么退出且显示结束界面图右

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1