实验题目:使用51单片机设计两个按键控制数码管显示0-9,当K1按下减1,当K2按下加1.

理解程序可参考我的另外两个文章;

51单片机数码管显示0-9_学习笔记吧的博客-CSDN博客

51单片机独立按键控制合集_学习笔记吧的博客-CSDN博客

两个文章一结合就是一个新的产物,所以51单片机玩来玩去就是各种简单程序的相加。他套他,再套他,加个数码管加按键,加各种东西,重点是要理解,怎么让他们结合起来不会报错。

实验程序:

#include<REGX52.H>unsigned char code Tab[]=     //共阴数码管段码表0-9
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void Delay1ms(unsigned int xms)  //延时1ms函数
{
unsigned char i,j;
while(xms)
{
i = 2 ;
j = 239 ;
do
{
while (--j);
}
while (--i);
xms--;
}
}void main ()    //主函数{unsigned char rge        = 0 ;   //局部变量计位数rge是段码表的位置P0= 0x3f;    //定义初始值显示0while(1){if(P3_1 ==0)     //判断按键是否按下{Delay1ms(20);    //消抖while(P3_1 ==0);  //再次判断Delay1ms(20);     //消抖rge++;   //数字加1if(rge>=10)  //控制加的位数别超出段码表了{rge = 0 ;   //如果超出就让他回0去}P0=Tab[rge];  //把第rge的段码赋值给P0口Delay1ms(500);  //延时500ms}if(P3_0 ==0)     //判断按键是否按下{Delay1ms(20);    //消抖while(P3_0 ==0);  //再次判断Delay1ms(20);     //消抖if(rge==0)   //因为我们定义的变量led是无符号型,如果直接减减不可能减为负数rge = 9 ;  //所以判断如果减到0就重新给他赋值elserge--;   //如果没减到0就继续减减P0=Tab[rge];  //把第reg的段码赋值给P0口Delay1ms(500);  //延时500ms}}}

实验原理图:

51单片机按键控制数码管显示0-9相关推荐

  1. 51单片机按键控制数码管0~9_对于常用的数码管,你有多熟悉?

    数码管是嵌入式开发中比较常用的一个模块,本篇文章根据查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法.有不足和疏忽的地方,请不吝指正. 一.工作原理数码管是一种半导体发光器件, ...

  2. 51单片机按键控制数码管0~9_51单片机外部中断

    前面为大家介绍的点亮LED灯.数码管.按键只用到了51单片机的IO资源,我们要是仅仅用单片机点灯.操作数码管,那可真是大才小用了.这些都只是51单片机资源的冰山一角,51单片机还有好多的功能,我后面将 ...

  3. 51单片机按键控制数码管0~9_7种常见的51单片机时钟电路图

    在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式. 电子学习资料大礼包​mp.weix ...

  4. 51单片机按键控制数码管0~9_(51单片机)课设项目1-按键控制步进电机转向、转速、启停。...

    总体设计方案 硬件部分实现电机转动和数码管显示,包括控制开关模块.电机转动模块.数码管显示模块.软件部分实现对步进电机的控制功能,主要设计思想通过控制程序的开关来控制电机的转动启停.方向.速度.电源驱 ...

  5. 51单片机按键控制数码管0~9_AT89C51单片机数字电子钟的设计

    一. 设计目的与要求 设计目的:通过设计,培养运用已学知识解决实际问题的能力.查阅资料的能力.自学能力和独立分析问题.解决问题的能力和能通过独立思考. 设计要求:设计一个时.分可调的数字电子钟.断电后 ...

  6. 键盘与显示实验程序c语言,51单片机按键控制数码管程序

    单片机数码管应用,数码管扫描 #include #define uint unsigned int #define uchar unsigned char uchar c; sbit p10=P1^0 ...

  7. 51单片机c语言按键扫描程序,单片机按键扫描数码管显示C语言程序

    电子科学与技术 单片机按键扫描数码管显示C语言程序 按键扫描数码管显示程序共定义了6个键的功能:K1.K2.K3.K4以及K5.K8组成的一对复合键,其中K2,K3为连击键,K5为上档键.在正常工作模 ...

  8. 【Proteus仿真】51单片机+按键控制步进电机驱动+LCD1602显示

    [Proteus仿真]51单片机+按键控制步进电机驱动+LCD1602显示 Proteus仿真 在Proteus当中,步进电机选取的不同,接线的顺序不同,为了避免在接线出错,将里面的两种步进电机都选择 ...

  9. 单片机学习笔记————51单片机实现带数码管显示的象棋比赛专用计时器

    一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...

最新文章

  1. Python 刷英语六级段落匹配仅需 3 秒?
  2. 中介者模式 调停者 Mediator 行为型 设计模式(二十一)
  3. Android --- 百度地图 SDK v3.6.0 以上版本找不到 PoiOverlay 类
  4. 【软件安装】sublime安装方法
  5. 27.怎样在Swift中声明typedef?
  6. python运行结果闪退_Pyhton TestCase运行闪退与失败,原因不详。。。
  7. mysql8.0.19初始密码输入错误_MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子)...
  8. Star Schema完全参考手册读书笔记三
  9. Visual Studio的工程结构解析
  10. 应用程序错误代码0xe06d7363怎么解决
  11. WAMP安装redis扩展失败
  12. android 手势截图,小米8手机如何截图/长截屏/手势截屏?小米8四种截图方法
  13. GD32上SFUD万能Flash驱动移植
  14. csp是什么比赛_有关CSPJ/S比赛问题
  15. 一些网址备忘 (在线剪辑音频、在线工具箱、全网音乐下载)
  16. python绘制菱形_用python画菱形
  17. 区块链报告会心得体会3000_区块链讲座观后感6
  18. 完美解决Pyqt5 调用软键盘适用于触摸屏
  19. 软件模拟中美gdp今后几年的变化情况
  20. import librosa 出错???

热门文章

  1. 苹果自带输入法怎么换行_Iphone手机原生输入法的5个技巧,学会了,才知道这么牛...
  2. 不要困在自己建造的盒子里——写给.NET程序员(附精彩评论)
  3. 分布式系统原理介绍_分布式系统的全面介绍
  4. 华三模拟器完成交换机堆叠IRF实验
  5. android 百度地图大头针,百度地图的集成 ---自定义大头针和弹窗
  6. 如何用python爬取e-hentai的图片
  7. oracle数据库导入dmp文件
  8. Worthington产气荚膜梭菌神经氨酸酶的特征及测定
  9. 尝试EFM32下的fatfs的使用
  10. 在线时间戳 (Unix) 转换工具