DSP设计科学计算器实验报告.docx

DSP设计科学计算器实验报告.docx

ID:52564379

大小:31.46 KB

页数:7页

时间:2020-03-28

DSP设计科学计算器实验报告.docx_第1页
DSP设计科学计算器实验报告.docx_第2页
DSP设计科学计算器实验报告.docx_第3页
DSP设计科学计算器实验报告.docx_第4页
DSP设计科学计算器实验报告.docx_第5页
资源描述:

《DSP设计科学计算器实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于DSP的科学型计算器设计一、题目要求:基于DSPF2812利用实验箱及软件编程设计一款科学型计算器使其满足如下功能:(1)能够实现按键数值的识别,并在数码管上显示(2)能够进行简单的加减运算(3)能够进行小数运算二、思路设计1、TMS320X2812实验箱资源功能简介:●采用TMS320X2812片上的GPIOA及GPIOB作为IO口接受实验箱上的按键值进行判断。同时设置两个IO口进行循环0,1发送给row1,row2实现键盘扫描,从而实现识别k11~k23的值。●将箱上的k1~k8,k11~k23作为计算器键盘。k1~k8为0~7,k11

2、为8,k12为9,k13为清零键,k21为“=”键,k22为+,k23为-。三、综合设计的程序分析LED显示过程循环扫描进入模块键值输入●程序框图#include"DSP28_Device.h"引脚定义:#defineKey1GpioDataRegs.GPADAT.bit.GPIOA0//0#defineKey2GpioDataRegs.GPADAT.bit.GPIOA1//1#defineKey3GpioDataRegs.GPADAT.bit.GPIOA2//2#defineKey4GpioDataRegs.GPADAT.bit.GPIOA3

3、//3#defineKey5GpioDataRegs.GPADAT.bit.GPIOA4//4#defineKey6GpioDataRegs.GPADAT.bit.GPIOA5//5#defineKey7GpioDataRegs.GPADAT.bit.GPIOA8//6#defineKey8GpioDataRegs.GPADAT.bit.GPIOA9//7*/#definerow1GpioDataRegs.GPBDAT.bit.GPIOB0//PWM7#definecol1GpioDataRegs.GPBDAT.bit.GPIOB1//PWM8

4、#definerow2GpioDataRegs.GPBDAT.bit.GPIOB2//PWM9#definecol2GpioDataRegs.GPBDAT.bit.GPIOB3//PWM10#definecol3GpioDataRegs.GPBDAT.bit.GPIOB4//PWM11/*k1~k8,k11~k23作为计算器键盘。k1~k8为0~7,k11为8,k12为9,k13为清零键,k21为“=”键,k22为+,k23为-#defineAdd0x0A#defineSub0x0B#defineClear0x0C#definemulti0x0

5、4#definedivi0x08#definedot0x0DunsignedcharScanKey(void);intnum(void);unsignedintEnter(void);intifdot(void);//Relativetospi_receive,notuserightnowunsignedintSpi_VarRx[100];unsignedinti,j,key;externunsignedintInt_Flag;主函数如下:voidmain(void){unsignedintcountnum,shownum,countnum1,

6、countnum2,count=0,co,step=1,math=0;intnoun=-1,dot1=0;countnum=0;countnum1=0;countnum2=0;co=0;while(1){noun=num();//键值key=ScanKey();dot1=ifdot();if(key!=0)noun=key;//输入第一个数if(noun>=0&&noun<=9){if(dot1==0){if(step==1){if(count<4){count++;countnum1=noun+countnum1*10;}else{count

7、=0;countnum1=0;}countnum=countnum1;shownum=BIN2BCD(countnum);ShowBCD(shownum);}elseif(step==2){if(count<4){count++;countnum2=noun+countnum2*10;}else{count=0;countnum2=0;}shownum=BIN2BCD(countnum2);ShowBCD(shownum);}}if(dot1==1){if(step==1){if(count<4){count++;countnum1=noun+

8、countnum1*10;}else{count=0;countnum1=0;}countnum=countnum1;shownum=BIN2BCD(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。