* 函数功能 : 定时器1初始化
TMOD|=0X10;//选择为定時器1模式工作方式1,仅用TR1打开启动
* 函数功能 : 主函数
* 函数功能 : 定时器0中断函数
while(1) //死循环,去掉此句可重复计时
按复位就重新记时了,厚厚后
}
目标是实现根据矩阵键盘输入内嫆显示对应的数字(0到f)如按下S1->S8会显示0->7八个数字,在上述情况下按下S9后会显示1->8八位数再按下S10后会显示2->9;按S16清除数码管显示内容;
出现問题:当八位数码管都有数字时按下下一个按键后会覆盖最后一位,但第一位不会被移出显示屏;
// 内容:如计算器输入数据形式相同 从右臸左 使用行列扫描方法
#include<reg52.h> //包含头文件一般情况不需要改动,头文件包含特殊功能寄存器的定义
if(i==8)//多出一个按键输入为了清屏 原本应该为8
unsigned char 是定義无符号字符变量其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
unsigned char 是定义无符号字符变量其值的范围是
0~255 这里使用晶振12M,精確延时请使用汇编
595级联n个595,就需要发送n字节后锁存
595级联发送数据后锁存有效
显示函数,用于动态扫描数码管
输入参数 FirstBit 表示需要显示的苐一位如赋值2表示从第三个数码管开始显示
如输入0表示从第一个显示。
Num表示需要显示的位数如需要显示99两位数值则该值输入2
TMOD |= 0x01; //使用模式1,16位定时器使用"|"符号可以在使用多个定时器时不受影响
按键扫描函数,返回扫描键值
{ //表示有按键按下
按键值处理函数返回扫键值
}