proteus单片机数码管显示

要求:
单片机AT89C51外接6个共阳LED数码管,P3.0和P3.1引脚分别外接一独立按键。开机时数码管显示123456,在按下P3.0按键时,数值减一,在按下P3.1按键时,数值加一。

Proteus仿真电路如下:

流程图如下:

顺序图:

代码分析:

首先初始化按键P3.0和P3.1两个按键,并且定义好共阳数码管0到9的字段码,,最初定义要显示的数值shu=123456,定义好延时Delay函数和动态显示dis函数。
动态显示dis函数显示过程:
先通过取余操作将shu的最低位取出,再传送当前数值数码管显示内容的七段码值,再传送位选信号使最后一位数码管显示,其他数码管全部关闭,然后延迟一段时间,随后对shu的值进行除10操作将最低位去掉。接下来,依次循环六次。
按键操作时候,先判断是否被按下,由于单片机扫描速度非常快,如果判断被按下就进行操作,那么可以会导致明明只按下一次但单片机会操作多次,于是用一个while循环来判断按键松开时才继续后面操作,这样每按一次键时只有松手的瞬间才会执行操作,增加了程序的灵敏度。

#include<reg51.h>
sbit key1=P3^0;
sbit key2=P3^1;
unsigned char code discode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void Delay(unsigned int x)
{unsigned char j;for(;x>0;--x)for(j=110;j>0;j--);
}
void dis(unsigned long temp)
{signed char i;for(i=5;i>=0;--i){P2=(0x01<<i);P1=discode[temp%10];//每次显示最低位Delay(1);temp/=10;//去掉当前最低位P1=0xff;}
}
void main()
{unsigned long shu=123456;while(1){dis(shu);//显示数值if(key1==0){while(key1==0)//按下之后松手表示按键操作{dis(shu);}shu--;}if(key2==0){while(key2==0){dis(shu);}shu++;}}
}

单片机课设-数码管倒计时显示(仿真图,代码全)相关推荐

  1. 51单片机IIC 12864 OLED屏幕滚动显示仿真

    51单片机IIC 12864 OLED屏幕滚动显示仿真 程序代码接着前面文章<STC15W408AS单片机IIC驱动0.96寸OLED显示> 这里不再贴出代码了,前面有一篇有实物效果演示, ...

  2. 纯硬件分立式数字电子钟proteus仿真(数电课设,含时间显示、校准、整点报时、闹钟功能)

    [纯硬件分立式数字电子钟proteus仿真(数电课设,含时间显示.校准.整点报时.闹钟功能)] 数电课设的仿真题目,老师给了优秀,拿出来给大家做个参考,整体电路图如下: 整个设备包括显示环节.闹钟环节 ...

  3. 51单片机数字电子钟设计(数电课设,含时间显示、校准、整点报时、闹钟功能)

    51单片机数字电子钟设计(数电课设,含时间显示.校准.整点报时.闹钟功能) 首先展示硬件设计部分,此处采用proteus仿真演示.其中液晶屏上面一行显示的是实际时间,下面一行显示的是设定闹钟时间.通过 ...

  4. 51单片机课设代做_微波炉控制系统设计

    微波炉控制系统设计 一.设计要求 选用温度传感器.按键.LED灯和蜂鸣器等,采用MCS-51系列单片机实现温度的设置.显示和报警. (1)可通过按键设置三种最高温度值,如低温(20°),中温(30°) ...

  5. 单片机课设基于51单片机的波形发生器(公开资源)(四种波形)(同时输出两种波形)

    单片机课设-波形发生器 前言 一.课设任务是什么? 二.如何解决这几个任务? 三.仿真原理图 四.代码 4.1 LCD1602代码 4.2 波形输出以及8*8点阵显示代码 4.3 波形选择 五.仿真源 ...

  6. imut 51单片机课设 模拟室内温度检测器 *秋昊

    写在前面的话: 本文主要讲述了一下IMUT的单片机课设报告. 下面的百度云链接中包括了:ICL7109手册,ICL7109自检_标度转换(excel),课设报告(word版),演示视频,程序源码. 链 ...

  7. 单片机学习笔记-数码管的显示

    单片机学习笔记-数码管的显示 数码管的显示 1.首先我们来看一下开发板的原理图 由管脚分配可知,数码管的末端(也就是LED端),是由74138译码器来控制的. 2.下面是数码管显示的函数 这里我们使用 ...

  8. 【全套资料.zip下载】数电课设-脉搏心率测量电路Multisim仿真设计【Multisim仿真+报告+讲解视频.zip下载】

    文章目录 数电课设-脉搏心率测量电路Multisim仿真设计[Multisim仿真+报告+演示视频.zip] 一.Multisim仿真源文件 二.仿真视频原理讲解 三.原理文档报告 资料下载[Mult ...

  9. 单片机课设-LED点阵广告牌设计

    单片机课设系列文章-2-LED点阵广告牌设计   文章目录  

最新文章

  1. stm32 Boot0,Boot1引脚设置
  2. linux 将文件分成两部分,linux 将大文件分成小文件
  3. python3 获取当前路径_如何使用python3获取当前路径及os.path.dirname的使用
  4. 基于 Quartz 开发企业级任务调度应用--转
  5. Struts2 在页面定义变量 s:set标签
  6. 轻松搞定RabbitMQ(二)——工作队列之消息分发机制
  7. div超出部分点点显示
  8. Android WebView重定向问题的解决方案
  9. python xlrd模块_Python中xlrd模块解析
  10. 怎么算掌握了mysql_mysql 需要掌握的重点
  11. java中判断当前日期是星期几
  12. xheditor ajax上传,xheditor
  13. 记一次固态硬盘数据恢复
  14. 洋葱模型php,PHPIZE的作用 - tree2013的个人空间 - OSCHINA - 中文开源技术交流社区
  15. 2022TGRS/云检测:用于遥感图像云检测的无监督域不变特征学习Unsupervised Domain-Invariant Feature Learning for Cloud Detection
  16. 禁止百度,神马,搜狗等搜索引擎转码
  17. B数和B+树、红黑树数据结构的特点
  18. matlab 莫比乌斯曲面,『Rhino实例.2』莫比乌斯曲面
  19. 函数加密_同态加密__密码学课堂笔记
  20. 北京地铁21号线_北京迎来地铁大动脉,设有21站,全为地下线,沿线市民幸运了...

热门文章

  1. 东方通基本命令查询tonglink/q
  2. java httpclient 关闭_HttpClient关闭连接
  3. 送礼物给女生,她哭了是怎么回事?
  4. 大赛在即,我还什么都不会啊。这就是赶鸭子上架!!
  5. java上传文件限速_【面试题目】Java文件下载(限速、进度条)
  6. ARM 学习知识点梳理
  7. 阿里巴巴2016校园招聘 研发工程师(四)详解
  8. java date the type is ambiguous,一个java ambiguous method 的问题
  9. 拆轮子系列之教你一步步写验证码控件
  10. LTS分布式任务调度文档