调节时间时闪烁

#include "reg52.h"
//unsigned char code LED[]={231,219,189,126};
//void main()
//{
//  unsigned int  I=0,D=0;
//  bit k;
//  while(1)
//  {
//      I=55555;
//      while(I--);
//      P1=LED[D];
//      D+=!k?1:-1;//双向跑马灯
//      if(D>=3||D<=0)k=!k;
//  }
//}
//#include "reg52.h"
//#include "math.h"
//sbit LED=P1^0;
sbit QiTin = P3^0;//启停按键
sbit duan = P2^6;//数码段
sbit wei = P2^7;//数码位
bit k=0,San=0;//标记,数码闪烁
unsigned char code ShuMaGuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0X80};//0~9隐.小数点
unsigned char code ShuMaGuan[]={63,6,91,79,102,109,125,7,127,111,0,128};//0~9隐.小数点
unsigned char code WeiXuanBiao[] = { 0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f };
unsigned char code ShaoMiaoZhi[]={238,237,235,231,222,221,219,215,190,189,187,183,126,125,123,119};
unsigned char Js=0;//中断计时
unsigned char Hm=0;//毫秒
unsigned char Mo=0;//秒
unsigned char YanShi=0;//延时
void ShuMaXianShi(unsigned char s,unsigned char w,unsigned char d)
{P0=WeiXuanBiao[w];wei=1;wei=0;P0=ShuMaGuan[s]|ShuMaGuan[d];//d显示小数点11,10关闭duan=1;YanShi=255;while(YanShi--);P0=ShuMaGuan[10];//清除本次段值免下次产生影响duan=0;
}
void ZhongDuanSheZhi()
{TH0+=0X4c;/*定时器赋初值,11.0592Mz定时50ms触发中断,自动补偿方式*/TL0+=0X00; TMOD=0X01;TR0=1; ET0=1; //开启定时器EA=1; //全局中断开关
}
void JiShi()
{if(!k){if(!(Js%2)) if(++Hm>=10) {Hm=0;San=~San;}if(Js>=20){if(++Mo>=60) Mo=0;Js=0;     }}
}
void XianShi()
{ShuMaXianShi(Hm,8,10);if(San)ShuMaXianShi(Mo%10,7,11);ShuMaXianShi(Mo/10,6,10);ShuMaXianShi(10,4,10);ShuMaXianShi(10,5,10);ShuMaXianShi(10,1,10);ShuMaXianShi(10,2,10);ShuMaXianShi(10,3,10);  JiShi();
}
//unsigned char JianPanShaoMiao(/*使用行列反转扫描法*/)
//{
//  unsigned char H=15,L=240; P3=15;
//  if(P3!=15)
//  {
//      unsigned char Yan_Shi=255;//Js
//      while(Yan_Shi--);//Js==中断消抖
//      if(P3!=15)
//      {
//          H=P3;
//          P3=240;
//          L=P3;
//      }
//      while(P3!=240)k=1;
//  }
//  P3 = 255;
//  return (H+L);
//}
void main()
{ZhongDuanSheZhi();while(1){
//      if(TF0){TF0=0;LED=!LED;ZhongDuanSheZhi();}XianShi();if(!QiTin){//XianShi(/*巧借8个数码显示消抖*/);YanShi=Js;if(!TR0){TR0=k=1;}//重启中断while(Js==YanShi)XianShi();//中断消抖if(!QiTin)if(!k)TR0=k; else k=0;//关闭中断,消抖后清除标记while(!QiTin) XianShi(/*按下期间显示*/);}}
}
void ZhongDuan() interrupt 1
{++Js;TH0+=0X4c;TL0+=0X00;
}

51单片机数码管闪烁显示相关推荐

  1. 基于51单片机数码管显示

    基于51单片机数码管显示 ## 数码管显示原理 数码管(LED Segment Displays)由多个发光二极管封装在一起组成"8"字型的器件,引线已在内部连接完成,只需引出它们 ...

  2. 51单片机数码管交通灯倒计时c语言,51单片机数码管倒计时模拟交通灯汇编程序...

    /********************************************************************** 51单片机数码管倒计时模拟交通灯汇编程序 LED数码管为 ...

  3. 51单片机数码管显示60秒倒计时(C语言)

    51单片机数码管显示60秒倒计时(C语言) 基于普中51单片机开发板,运用定时器/计数器0和1,实现60秒的倒计时和LED灯0.5s间隔闪烁 文章目录 51单片机数码管显示60秒倒计时(C语言) 前言 ...

  4. 100、基于51单片机数码管温控 温度控制风扇系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.Protues仿真 七.程序 八.资料包括 摘要 在炎热的夏天人们用电风 ...

  5. 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档

    51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...

  6. c语言数码管流动显示一个数,51单片机数码管动态显示 - 数码管动态扫描显示01234567程序(三种方案)...

    数码管动态扫描显示01234567程序二--51单片机动态显示共阳数码管01234567 原理图 c语言程序 程序如下: #include #define uint unsigned int #def ...

  7. 51单片机数码管滚动显示学号_数协微课 | LED数码管与51单片机应用

    遇见工学,学在工学 停课不停学 数协电子组教学微课 它又来了 让我们开始学起来吧! 本期学习内容 LED数码管的结构与工作原理及相关原理图介绍 51单片机的应用:静态数码管显示.动态数码管显示 LED ...

  8. 51单片机数码管滚动显示学号_静、动态数码管动态显示

    1. 数码管静态.动态显示原理 静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码.当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止.这种方法的优点是占用CPU时间少, ...

  9. 51单片机数码管的静态与动态显示

    操作数码管的显示其实与操作led灯的操作本质上差不多,可以把一个数码管当做操作8段led灯来让它显示我们所预想的效果,如下图所示. 假如我想让一个数码管显示1,把我只需把B.C两个LED灯点亮就可以了 ...

最新文章

  1. 【以太坊】ganache-cli和web3配合,操作以太坊客户端
  2. 深度学习核心技术精讲100篇(二十七)-如何利用NLP技术对ASR的query文本进行预处理纠错?
  3. PM——【1】维护功能位置主数据
  4. Critical error detected c0000374
  5. Struts学习笔记_i18n
  6. 清华博士回应:我为什么逃离科研,去中学当老师?
  7. android自定义圆圈动画,自定义view实现动画数字圆圈
  8. 【算法分析与设计】寻找假币问题
  9. 规则引擎集成接口(九)Java类对象
  10. 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
  11. 内控堡垒机:内网安全威胁的“终结者”
  12. windows系统下更改itunes默认备份地址(小白实操)
  13. Linux内核相关资源
  14. 微信iOS 8.0.8正式版重磅更新啦,这些新功能超好用!!
  15. 加州房价模型(住房价格中位数)
  16. 项目常用后端代码结构
  17. 「csp模拟试题 201903-2」二十四点 C/C++ 100分
  18. Html Table 合并单元格
  19. php项目网页音乐播放器插件,基于HTML5 canvas和Web Audio的音频播放器插件
  20. 为什么需要效率督查团队

热门文章

  1. 图示法求候选键------软考
  2. 12米与30米TanDEM-X数字高程模型DEM数据的下载申请方法
  3. 因果关系的倒置(3)
  4. centos开机启动流程
  5. cf #825 Div.2(A~C2)
  6. To校招、实习同学,来自字节跳动的写简历建议
  7. 虚拟化平台PVE(ProxmoxVirtual Environment)安装部署
  8. 做完瑞吉外卖项目的一点笔记和源码
  9. iOS VIPER架构实践(三):面向接口的路由设计
  10. Spark项目实战:大数据实时流处理日志(非常详细)