当前位置: 首页 > news >正文

单片机实现数码管动态显示

动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned charuchar aa,numdu,numwe;
sbit dula=P2^6;
sbit wela=P2^7;uchar code tabledu[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};uchar code tablewe[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};void main()
{	numdu=0;numwe=0;TMOD=0x01;TH0=(65536-45728)/256;  //装初值11.0592M晶振,定时50ms数为45872TL0=(65536-45728)%256;EA=1;ET0=1;//开定时器0中断TR0=1;while(1){	if(aa==1){aa=0;numdu++;if(numdu==7)numdu=1;dula=1;P0=tabledu[numdu];dula=0;if(numwe==6)numwe=0;wela=1;P0=tablewe[numwe];wela=0;numwe++;}}
}void time0() interrupt 1
{TH0=(65536-45728)/256;  //装初值11.0592M晶振,定时50ms数为45872TL0=(65536-45728)%256;aa++;
}

http://www.lryc.cn/news/250572.html

相关文章:

  • jbrowse基因组浏览器部署
  • 神经网络 模型表示(一)
  • 【漏洞复现】智跃人力资源管理系统GenerateEntityFromTable.aspx接口存在SQL注入漏洞 附POC
  • 【matlab程序】画海洋流场
  • 线性表 力扣67. 二进制求和
  • 2312skia,13画布包入门
  • 【网络安全技术】消息认证技术
  • 智慧安防三大信息技术:云计算、大数据及人工智能在视频监控EasyCVR中的应用
  • 接口测试基础知识
  • C++多线程之通过成员函数作为线程入口
  • word、excel文件转PDF(documents4j方式,简单)
  • 【Linux】:信号(三)捕捉
  • 数据结构 / 队列 / 循环队列 / 概念
  • elasticsearch 内网下如何以离线的方式上传任意的huggingFace上的NLP模型(国内闭坑指南)
  • vue中中的动画组件使用及如何在vue中使用animate.css
  • MATLAB 模型参考自适应控制 - Model Reference Adaptive Control
  • 【如何用批处理文件实现自动编译Keil工程和C# Visual Studio工程】
  • 大模型的实践应用11-“书生”通用大模型的搭建与模型代码详细介绍,以及快速使用方法
  • 【开发PaaS】基于Postgresql的开发平台Supabase
  • 前端开启gzip优化页面加载速度
  • 用Java写一个俄罗斯方块
  • 应用于智慧金融的AI边缘计算盒子+AI算法软硬一体化方案
  • 目标检测——Faster R-CNN算法解读
  • Wireshark (一)安装入门 —— 软件介绍
  • Web框架与Django路由层
  • 什么是CAS, 什么是AQS
  • 蓝桥杯每日一题2023.12.1
  • 正则表达式从放弃到入门(1):“正则表达式”是什么?
  • SQL解惑 - 谜题2
  • FWT+高维前缀和:Gym - 103202M