目的及要求
1实验目的
依照计算器的原理设计一个拥有加减乘除功能的简单计算器。
2实验要求
数字和结果用数码管显示。
数字、+— */、=、C用4X4键盘实现。
计算结果正确,有出错提示。
二实验原理框图
基本工作原•,T* •,T*
** Main Function main()
*x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x* *x*
•,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T*
*x* *x* *x* *x* *x* *x* *x* *x* *x* /
•,T* •,T* •,T* •,T* •,T* •,T* •,T* •,T* t
int main (void)
{
unsigned char counter = 0; /*
运算结果高出 6 位数也报警 */ unsigned char cal_allow = 1; /* unsigned char input_allow = 1;/* unsigned char funtion_type = 0;/* unsigned char Ne_num = 0;/*
计算输入的数字的个数,高出 6 个则报警,
赞同输入数字标志 */ 赞同输入数字标志 */ 运算功能 */ 负数标志 */
DWORD value=0,i=0;
TargetResetInit(); enable_timer(1);
SPI_Init(8); //
Seg_Init(); // LedsInit();
for(i=0;i<7;i++)
SPI 总线速率为
数码管初始化
{
seg_copy1[i]=0;
seg_copy2[i]=0; seg_buf[i]=0;
}
counter = 0; cal_allow = 1;
input_allow = 1;
funtion_type = nofuntion;
while ( 1 )
{
value = KEY;
/* 输入数字 */ if(value>0 && value<11)
if(counter < 6&&input_allow==1)
{
if(counter == 0) seg_buf[1] = value-1;
else
{ for(i=0;i<counter;i++)
{
seg_buf[counter+1-i] = seg_buf[counter-i];
} seg_buf[1] = value-1;
} counter++;
}
if(counter == 6)
{
input_allow = 0;
LedOn(1);LedOn(2);LedOn(3);LedOn(4);
}
}
/* 若是是“ C ”键,则除去显示,除去计算标志 */ if(value == 11)
{ for(i=0;i<7;i+
嵌入式实验报告简易计算器 来自淘豆网m.daumloan.com转载请标明出处.