导航:首页 > 源码编译 > 七段数码管0到10源码

七段数码管0到10源码

发布时间:2023-05-14 21:46:33

① 大家帮忙啊:C语言编写七段数码管显示0到16数字的程序

外中断0接一按键碧正,模拟检测上层乘客。

#include<reg51.h>

#defineucharunsignedchar

#defineuintunsignedint悔盯悔

sbitP2_0=P2^0;

sbitP2_1=P2^1;

uchara=16,time;

bitflag0,flag1;

ucharcodetab[]={

0x3F,/*0*/

0x06,/*1*/

0x5B,/*2*/

0x4F,/*3*/

0x66,/*4*/

0x6D,/*5*/

0x7D,/*6*/

0x07,/*7*/

0x7F,/*8*/

0x6F,/*9*/

};

voiddelay_ms(uintms)

{

uchari;

while(ms--)

for(i=0;i<123;i++);

}

voidINTinit()

{

TMOD=0x01;

EA=1;

EX0=1;

IT0=1;

ET0=1;

TR0=1;

TH0=0x3c;

TL0=0xb0;

}

voiddisp()

{

P0=tab[a/10];

P2_0=0;

delay_ms(3);

P2_0=1;

P0=tab[a%10];

P2_1=0;

delay_ms(3);

P2_1=1;

}

voidmain()

{

INTinit();

while(1)

{

if(a>4)

flag0=1;

else

flag0=0;

if(!flag0)

disp();

else

则悔 {

if(flag1)

disp();

}

}

}

voidEX0INT()interrupt0

{

a--;

if(a==0)

EA=0;

}

voidT0INT()interrupt1

{

TH0=0x3c;

TL0=0xb0;

time++;

if(time==5)

{

time=0;

flag1=!flag1;

}

}

② 关于7段数码管显示问题

7段数码管其实是八段,有时小数点没有使用,所以常说7段,

显示原理是这样的

数码管首先从上到右,到下到左,到中间,最后到小数点分别标记为abcdefgdp八段其中小数点位DP为最高位,a段为最低位,要想显示什么字告祥纤符只需要使对应的段发光即可,一般的习惯是单片机的端口的最低位接a段,次低位接b段,...最高位(如p0.7)接dp,显示码宴历从高往低表示为为dpgfedcba

如要显示“1”,只需要将b、c段点亮即可,若是共阴极,片选是低电平选中,某一段输出高电平点亮,即显袜仿示码为00000110即0x06,其他的依照该方法类推

你给的码表为共阴极的。

共阳极的恰巧相反!

数码管的示意图如下图所示

③ 三菱plc要在七段数码管显示10应该怎么写程序

比如说把把10传送到D0中,再用译码指令把D0中数据译码就可以,而且还要注意七段数码管的接线正确,希望能对你有所帮助。

④ 用结构方式描述的七段数码管的verilog代码怎么写

mole SEG7_LUT (
input [3:0] iDIG,
output reg [6:0] oSEG
);

always@(iDIG)
begin
case(iDIG)
4'h1: oSEG = 7'b1111001;
4'h2: oSEG = 7'b0100100;
4'h3: oSEG = 7'搏姿b0110000;
4'h4: oSEG = 7'b0011001;
4'h5: oSEG = 7'b0010010;
4'h6: oSEG = 7'b0000010;
4'h7: oSEG = 7'扮银键b1111000;
4'h8: oSEG = 7'b0000000;
4'h9: oSEG = 7'b0011000;
4'ha: oSEG = 7'b0001000;
4'hb: oSEG = 7'b0000011;
4'hc: oSEG = 7'b1000110;
4'hd: oSEG = 7'b0100001;
4'he: oSEG = 7'b0000110;
4'hf: oSEG = 7'b0001110;
default: oSEG = 7'b1000000;
endcase
end

endmole
//输入型号IDIG是你想显示的数,用4位二进制数表示
//oSEG输出信厅巧号,对应数码管的7个段

⑤ 七段数码管显示10个数字

CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。CD4511 是一片 CMOS BCD—锁存/7 段译码/驱动器,引脚排列如图 2 所示。其中a b c d 为 BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。另外 CD4511有拒绝瞎锋伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。a~g是 7 段输出,可驱动共阴LED数码管。另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观 图3是 CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只 CD4511 和 LED 数码管即可。所谓共阴 LED 数码管是指 7 段 LED 的阴极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。用CD4511实现LED与单片机的并行接口方法如下图: (略)CD4511 引 脚 图其功能介绍如下: BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状衡神衫态,不显示数字。 LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。 LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。 A1、A2、A3、A4、为8421BCD码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电咐腔平1有效。 CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作1. CD4511的引脚 CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,通常用以驱动LED。其引脚图如3-2所示。 各引脚的名称:其中7、1、2、6分别表示A、B、C、D;5、4、3分别表示LE、BI、LT;13、12、11、10、9、15、14分别表示 a、b、c、d、e、f、g。左边的引脚表示输入,右边表示输出,还有两个引脚8、16分别表示的是VDD、VSS。 2. CD4511的工作原理 CD4511的工作真值表如表3-2 锁存功能 译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态。 当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。如图3-3(3)译码 CD4511译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数 据B、C进行组合,得出、、、四项,然后将输入的数据A、D一起用或 非门译码。 (4)消隐 BI为消隐功能端,该端施加某一电平后,迫使B端输出为低电平,字形消隐。消隐控制电路如图3-4所示。 消隐输出J的电平为 J= =(C+B)D+BI如不考虑消隐BI项,便得J=(B+C)D据上式,当输入BCD代码从1010---1111时,J端都为“1”电平,从而使显示器中的字形消隐。输 入 输 出 LEBILIDCBAabcdefg显示 XX0XXXX11111118X01XXXX0000000消隐 011110011901110100000000消隐 01110110000000消隐 01111000000000消隐 01111010000000消隐 01111100000000消隐 0111111000000消隐 111XXXX锁 存 锁存 表3-2 CD 4511的真值表 8421 BCD 码对应的显示见下图 :选用共阴极数码管,对于 CD4511 ,它与数码管的基本连接方式如下图 :

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

单片机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

(6)七段数码管0到10源码扩展阅读:

驱动方式:

直流驱动。

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

动态显示驱动:

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

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

⑦ 求单片机实验七段数码管显示实验程序

/* ch03-3-4.c - 七段LED数码管实验程序 */
//==声明区=================================================
#include<reg51.h> //定义8051寄存器的头文件,P2-17~19
#define SEG P0 //定义七段LED数码管接至Port 0
/*声明七段LED数码管驱动信号数组(共阳)*/
char code TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99, //数字0-4
0x92,0x83,0xf8,0x80,0x98}; //数字5-9
void delay(int); //声明延迟函数
//==主程序==========================================
main() //主程序开始
{ unsigned char i; //声明无符号变量i
while(1) //无穷循环,程序一直跑
for(i=0;i<10;i++) //显示0-9,共10次
{ SEG=TAB[i]; //显示数字
delay(500); //延迟500×1m=0.5秒
} //for循环结束
} //主程序结束
//==子程序==========================================
/* 延迟函数,延迟约x×1ms */
void delay (int x) //延迟函数开始
{ int i,j; //声明整形变量i,j
for (i=0;i<x;i++) //计数x次,延迟x×1ms
for (j=0;j<160;j++); //计数120次,延迟1ms
} //延迟函数结束

⑧ 单片机七段数码管循环显示0-FC语言程序

这要看你的数码管是共阴还是共阳的哈。还有和单片机IO口的链接情况缺蚂稿。然后对应IO口将相应的''0-F编码。
如下面是我的开发板的一位数码管的显示程序,你在上面做些修改就是了哈!
#include <reg51.h>
#include <intrins.h>
#define NOP() _nop_() /* 定义空指令 */

void delay(unsigned int i); //函数声名

// 此表为 LED 的字模
unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};

main()
{
unsigned int LedNumVal=1 ,C ; //定伏孝义变量

while(1)
{
if (++C>物纯= 300)
{ LedNumVal++ ; //每隔300个扫描周期加一次
C =0; //每隔300个扫描清零
}
// 将字模送到P0口显示
P0 = LED7Code[LedNumVal%10]&0x7f; //LED7 0x7f为小数点 共阴和共阳此处也是不一样;

delay(150); //调用延时程序

}
}

/*****************************************************************
* *
* 延时程序 *
* *
*****************************************************************/
void delay(unsigned int i)
{
char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--);
}

⑨ 常见七段数码管的真值表怎么记忆

数码管的段码指的是数码管在显示不同的数字时,其8个阳极(共阴数码管)或8个阴极(共阳数码管)的电平高低对应蠢余的二进制数据显示不同的数字该代码是不同的。例如,共阴数码管要显示亏档笑数字8不带小数点,其各个阳极的电平高低用二进制表示为01111111,化成十六进制为0x7f,最高位的0代表小数点那销含个阳极是低电平,若是共阳数码管则代码刚好相反,二进制为10000000。

⑩ 共阴七段数码管0~9代码怎么设置的,设置原理是什么

共阴七段数码管的0~9代码设置方法如下:数码管位数(ABCDEFG) 数码管代烂链码0 11111101 01100002 11011013 11110014 01100115 10110116 10111117 11100008 11111119 1110011共阴七段数码管的原理是,在共阴七段数码管中,各个数码管的阳极(即数码管的LED灯的正极)都是独立的,而七段数码管的阴极(即数码管的LED灯的负极)是共用的。因此,当数码管饥逗孙需要显示某个数字时,需要先将该数字的代码输出到相应的七段数码管的阴极上,然后再通过将相应的阳极置高电平,来点亮该数字在数码管上的显示。通过控制不同数码管的阳极显示不同的数字,就可以在共阴七段数码管上实现同时显示多个数字的功能指穗。
阅读全文

与七段数码管0到10源码相关的资料

热点内容
压缩泡沫鞋底底材 浏览:217
程序员职场第一课2正确的沟通 浏览:677
遇到不合法app应该怎么办 浏览:90
汇编程序编译后的文件 浏览:77
大智慧均线源码 浏览:371
单片机排阻的作用 浏览:213
滴滴金融app被下架如何还款 浏览:210
jpg转换成pdf免费软件 浏览:741
范里安pdf 浏览:443
伪造pdf 浏览:75
能删除android文件夹吗 浏览:446
LINUX使用V2ray 浏览:797
找人帮忙注册app推广是什么 浏览:820
独立服务器如何恢复初始化 浏览:11
优秀到不能被忽视pdf 浏览:316
导游程序员家政 浏览:586
22乘28的快速算法 浏览:338
软通动力程序员节2021 浏览:845
安卓系统如何卸载安装包 浏览:870
短信删除助手文件夹 浏览:688