利用矩阵键盘实现一个简易的计算器。
为了简化问题我们假设只支持小于100的非负整数之间的加、减、乘的运算,并且支持连续运算(结果的数值可以再进行运算)
本程序中C为加号,D为减号E为乘号,F为等于号
/* 注:夲程序 C 为+, D 为- E为* F 为=号支持非负整数连续运算。
输入的数值小于100运算结果不超过1000.
//主循环中添加其他需要一直工作的程序
unsigned char 是定义无符号字苻变量,其值的范围是
0~255 这里使用晶振12M精确延时请使用汇编,大致延时
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M精确延时请使鼡汇编
显示函数,用于动态扫描数码管
输入参数 FirstBit 表示需要显示的第一位如赋值2表示从第三个数码管开始显示
如输入0表示从第一个显示。
Num表示需要显示的位数如需要显示99两位数值则该值输入2
TMOD |= 0x01; //使用模式1,16位定时器使用"|"符号可以在使用多个定时器时不受影响
按键扫描函数,返回扫描键值
{ //表示有按键按下
按键值处理函数返回扫键值