欢迎来到天天文库
浏览记录
ID:52564379
大小:31.46 KB
页数:7页
时间:2020-03-28
《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(
此文档下载收益归作者所有