首页

文章

共阴极7段数码管显示C程序

发布网友 发布时间:2022-04-19 18:55

我来回答

2个回答

热心网友 时间:2022-06-03 18:10

展开3全部

单片机7段数码管动态显示程序代码及其说明如下:

#include <reg51.h>

#include <intrins.h>

#include<math.h>

unsigned char data dis_digit; //dis_digit---位选通值, 传送到P2口用于选通当

//前数码管的数值, 如等于0xfe时,选通P2.0口数码管

unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3

扩展资料:

驱动方式:

直流驱动。

是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。

动态显示驱动:

是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。

当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

参考资料来源:百度百科-七段数码管




热心网友 时间:2022-06-03 18:11

照着这个去改写吧:
单片机7段数码管动态显示程序代码及其说明如下:
#include <reg51.h>
#include <intrins.h>
#include<math.h>
unsigned char data dis_digit; //dis_digit---位选通值, 传送到P2口用于选通当

//前数码管的数值, 如等于0xfe时,选通P2.0口数码管
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off
unsigned char data dis_buf[8]; // dis_buf --- 显于缓冲区基地址
unsigned char data dis_index; // dis_index --- 显示索引, 用于标识当前显示的数码 //管和缓冲区的偏移量
Void delay(int t)
{
int i;
while(t--) {
for(i=0;i<120;i++)
{;}
}
}
Void main()
{
P0 = 0xff;
P2 = 0xff;
TMOD = 0x01; //定时器0工作于方式1
TH0 = 0x8C;
TL0 = 0x8B;
IE = 0x8A; //开总中断和定时器1中断允许

dis_buf[0] = dis_code[0x1];
dis_buf[1] = dis_code[0x2];
dis_buf[2] = dis_code[0x3];
dis_buf[3] = dis_code[0x4];
dis_buf[4] = dis_code[0x5];
dis_buf[5] = dis_code[0x6];
dis_buf[6] = dis_code[0x7];
dis_buf[7] = dis_code[0x8];
dis_digit = 0xf9; //控制在数码管上显示的数字效果,按位
dis_index = 0;
TR0 = 1;
while(1);

}

Void timer0() interrupt 1
//定时器0中断服务程序, 用于数码管的动态扫描
//dis_index --- 显示索引, 用于标识当前显示的数码管和缓冲区的偏移量
//dis_digit --- 位选通值, 传送到P2口用于选通当前数码管的数值,

//如等于0xfe时, 选通 P2.0口数码管 dis_buf --- 显于缓冲区基地址
{
TH0 = 0x8C;
TL0 = 0x8B;
P2 = 0xff; // 先关闭所有数码管
P0 = dis_buf[dis_index]; // 显示代码传送到P0口
P2 = dis_digit;

dis_digit = _crol_(dis_digit,2); // 位选通值左移, 下次中断时选通下一位数码管
delay(500);
dis_index++;
dis_index &= 0x07; // 8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描

}
深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 简述7段LED显示器结构? 七段数码管显示实验 七段数码显示器工作原理 7段数码管显示电路 如何让7段数码管显示F这个字母?请说明原理。 7段数码管怎么显示B D I K M N O Q R S T V W X Y ... 求单片机实验七段数码管显示实验程序 七段数码显示译码电路有几个输出端 关于7段数码管显示问题 手机的收款码在哪里找 大闸蟹要蒸多久? 大闸蟹很多人都喜欢吃,那么大闸蟹上锅需要蒸几分钟? 大闸蟹蒸多少分钟比较合适 大闸蟹蒸几分钟最好 大闸蟹要蒸多长时间 大闸蟹需要蒸多长时间? 蒸大闸蟹大约需要多久? 炒菜是被油溅到了脸上怎么办啊? 保存的二维码收款码在哪里找? 想看爱你如诗美丽 2005年由罗伯托·贝尼尼 Roberto ... 用编程怎么变出七段数码管显示从a——f 七段数码管显示英文字母 数电如何将十进制计数器输出的数用七段数码显示出来 led7段数码显示器的两种结构 在PLC中,怎么使用按钮计数并在七段数码管中显示? 共阳极7段数码显示管 的位码是高电平点亮还是低电... 七段数码管显示的数字是什么格式 7段数码管显示器的工作原理是什么?详细回答 收款码在哪里? 求助求助冰箱里的肉冻住了拿不出来咋 冰柜里的肉取不出来,怎么办 猪肉冻冰箱了,拿不出来!谁有好办法解冻? 新鲜肉放进冰箱冻硬拿不出来该怎么办? 绿化养护收费标准 绿化养护多少钱一平方你好,碧桂园23000平方绿化养... 绿化养护费用有没有专门的计算标准?? 物业管理费用包括哪些内容 园林绿化多少钱一平方 绿化养护怎么预算 收款码怎么弄
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com