编写单片机数码管c程序:实现按键s1按下数码管显示30

* 函数功能 : 定时器1初始化

TMOD|=0X10;//选择为定時器1模式工作方式1,仅用TR1打开启动

* 函数功能 : 主函数

* 函数功能 : 定时器0中断函数

while(1) //死循环,去掉此句可重复计时

按复位就重新记时了,厚厚后

}
51单片机数码管c语言程序4个独立按鍵分别控制4个数码管,每个独立按键按下一次对应数码管显示数字加14位数码管显示数字3456时,此时所有数码管显示HELLO还请大神多多指教!谢谢啦:... 51单片机数码管c语言程序
4个独立按键,分别控制4个数码管每个独立按键按下一次对应数码管显示数字加1,4位数码管显示数字3456时此时所有数码管显示HELLO,还请大神多多指教!谢谢啦??

一看问题就知道你什么都不懂4位的数码管能显示HELLO这5个字母?!

你对这个回答的评價是

是要画仿真图吗?数码管和按键可以随便接吗?

你对这个回答的评价是

你好!你用的开发板还是仿真软件,原理图发一下

你对這个回答的评价是

你对这个回答的评价是?

}

目标是实现根据矩阵键盘输入内嫆显示对应的数字(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位定时器使用"|"符号可以在使用多个定时器时不受影响 
 按键扫描函数,返回扫描键值
 { //表示有按键按下
 按键值处理函数返回扫键值
}

我要回帖

更多关于 单片机数码管 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信