余数计算器 单片机设计的带余数的简易计算器

原理图:

余数计算器 单片机设计的带余数的简易计算器


文章图片

余数计算器 单片机设计的带余数的简易计算器


文章图片

余数计算器 单片机设计的带余数的简易计算器


文章图片

编程:
#include&lt。reg52.h&gt。
#include &lt。intrins.h&gt。
#include &lt。math.h & gt
#定义uchar无符号字符
【余数计算器 单片机设计的带余数的简易计算器】#定义uint无符号整数
sbit beep = p3^6;//行
无符号字符代码disp_code[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf };//数码管显示
uchar键;//键盘值
uchar num//扫描位数
int temp 1 = 0;//结果的整数部分
uint temp 2 = 0;//结果的余数
int m = 0;//
uchar ss[8];//
uchar旗;//操作标志位
位c _ flag = 0;//辅助标志位
无符号字符代码key_code[]={
0xe,0xde,0xbe,0x7e,0xed,0xdd,0xdd,
0xeb、0xdb、0xbb、0x7b、0xe7、0xd7、0xb7、0x 77 };//键盘编码
无符号字符代码num_code[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe };//显示位数
/**********************************************************
延迟子功能
**********************************************************/
void delayms(uint ms)
{
uchar t;
while(ms -)
{
for(t = 0;t &lt。120;t++);
}
}
/**********************************************************
X * 0.14MS毫秒延迟子功能
**********************************************************/
void delay0(uchar x)
{
uchar I;
while(x -)
{
for(I = 0;i&lt。13;i++);
}
}
/**********************************************************
蜂鸣器驱动器子功能
**********************************************************/
void beep()
{
uchar I;
for(I = 0;i&lt。180;i++)
{
delay 0(5);
BEEP=!BEEP//被蜜蜂倒置
}
BEEP = 1;//关闭蜂鸣器
delay ms(250);//延迟
}
/**********************************************************
键盘扫描子功能
**********************************************************/
uchar keyscan()
{
uchar scan1,scan2,keycode,j;
P1 = 0xf 0;
scan 1 = P1;
if((scan 1 & amp;0xf0)!=0xf0) //判断按键是否被按下
{
delay ms(10);//延迟30毫秒
scan 1 = P1;
if((scan 1 & amp;0xf0)!=0xf0) //是否按下二次判断键
{
P1 = 0x0f;
scan 2 = P1;