国外对旅游网站建设的现状,app制作,电商运营工资和前景,wordpress 应用市场文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介
本项目使用STM32F103C8T6单片机控制器#xff0c;使用动态数码管模块、矩阵按键、蜂鸣器模块等。
主要功能#xff1a; 系统运行后#xff0c;数码管默认显示0#xff0c;输入对应的操作数进行四则运… 文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介
本项目使用STM32F103C8T6单片机控制器使用动态数码管模块、矩阵按键、蜂鸣器模块等。
主要功能 系统运行后数码管默认显示0输入对应的操作数进行四则运算支持最大8位显示支持显示小数点后2位数。 二、软件设计
/*
作者嗨小易QQ3443792007*///将整数各位取出存放数组
//num转换的整数
//buf转换后存储到数组内
//返回值整数的长度
u8 int_to_array(u32 num,u8 buf[])
{u8 i0;u8 tempbuf[SMG_SHOW_BITNUM];int j0;u8 cnt0;if(num!0)//传入的数据不为0{while(num!0){tempbuf[i]num%10;//将各个位的数赋值于数组tempbuf[i]num/10;//现在数组tempbuf[i]记录的是各个位上的数的反序i;//i记录这个数是几位数 }for(ji-1;j0;j--){buf[cnt]gsmg_code[tempbuf[j]]; } }else//传入的数据为0buf[cnt]gsmg_code[0]; return cnt;
}//计算结果并显示
void get_result_show(void)
{u8 smgbuf[SMG_SHOW_BITNUM];u8 bitnum0;u8 key0;u8 buf[3];//缓存显示小数的数据while(1){keyKEY_Matrix_Scan();if(key14) //清除操作{sys_ctrl.equal0;sys_ctrl.sign0;sys_ctrl.curNum0;sys_ctrl.preNum0;sys_ctrl.dot0;break;}//等号键、计算结果if(sys_ctrl.equalSIGN_EQUAL){switch(sys_ctrl.sign){case SIGN_ADD: sys_ctrl.resultsys_ctrl.preNumsys_ctrl.curNum;break;case SIGN_MIN: if(sys_ctrl.preNumsys_ctrl.curNum)sys_ctrl.resultsys_ctrl.curNum-sys_ctrl.preNum;elsesys_ctrl.resultsys_ctrl.preNum-sys_ctrl.curNum;break;case SIGN_MUL: sys_ctrl.resultsys_ctrl.preNum*sys_ctrl.curNum;break;case SIGN_DIV: if(sys_ctrl.curNum!0)sys_ctrl.result(float)sys_ctrl.preNum/sys_ctrl.curNum;if(sys_ctrl.result!(int)sys_ctrl.result)//有小数保留小数后2位{sys_ctrl.resultsys_ctrl.result*100;sys_ctrl.dot2;}break;}bitnumint_to_array(sys_ctrl.result,smgbuf);if(sys_ctrl.dot)//有小数显示{if(sys_ctrl.result10)//放大100倍结果小于10比如0.01{buf[0]0x3f|0x80;buf[1]0x3f;buf[2]smgbuf[0];SMG_Display(buf,SMG_SHOW_BITNUM-1-bitnum); }else if(sys_ctrl.result100)//放大100倍结果小于100比如0.12{buf[0]0x3f|0x80;buf[1]smgbuf[0];buf[2]smgbuf[1];SMG_Display(buf,SMG_SHOW_BITNUM-bitnum); }else{smgbuf[bitnum-1-sys_ctrl.dot]|0x80;SMG_Display(smgbuf,SMG_SHOW_BITNUM1-bitnum); } }else //无小数显示 SMG_Display(smgbuf,SMG_SHOW_BITNUM1-bitnum);sys_ctrl.sign0; }else{sys_ctrl.equal0;break;} }
} 三、实验现象
B站演示视频https://space.bilibili.com/444388619 联系作者
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发PCB设计视频分享技术交流。