共阴极数码管四位0到999的循环在变为0怎么用c语言编写啊

作者&投稿:蔡话 (若有异议请与网页底部的电邮联系)
用c语言让4个数码管从0000到9999的循环秒表实现当0001的时候,只显示1不显示前面的三个0~

这个简单:做显示表的时候除了做0~9之外,再做一个不显示的,比如,数码管对应0不显示,那就把0x00也加在表中的第10位,当秒表小于10(为0001~0009)时,前面的000都以tab[10]来查表,不就不会显示了吗。如此类推0010~0099,0100~0999也是一样

#include
unsigned char xs_d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int time=0,s,sz;delay(unsigned int k){
unsigned int i,j;
for(i=0;i<k;i++)
for(j=0;j<125;j++);
}INT_0()interrupt 0
{ delay(10);
if(INT0==0){sz++; if(sz>2){sz=0;}}}
void T0_int()interrupt 1{
TH0=(65535-50000)/256;//设置初值
TL0=(65535-50000)%256;
s++;if(s>20){s=0; if(sz==1)time++; if(time>999){time=0;}
if(sz==0){time=0;//清零 }



扩展资料:
运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。
ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。
运算器有两个功能:
(1) 执行各种算术运算。
(2) 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。

#include<reg52.h>
#define u16 unsigned int
#define u8 unsigned char



/*********************************************************/
u8 ds[4]; //数码管显示缓存


code u8 w[]={~0x01,~0x02,~0x04,~0x08}; //位码
code u8 d[]={~0xc0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90,~0xff,};//断码
void dispaly(){//显示函数
static u8 a;
if(++a>3)a=0;
P0=0x00;
P2=w[a];
P0=d[ds[a]];
}


/****************************************/
void init() //初始化函数
{   
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
  ET0=1;

}

u16 count=0;
u16 js=0;
/***********************************/

void main()//主函数
{
init();//系统初始化
TR0=1; //定时器开始计时
while(1){
ds[0]=10;
ds[1]=count/100%10; //计数送到数码管显示缓存中
ds[2]=count/10%10;
ds[3]=count%10;


}

}


/****************************/
void timer0() interrupt 1//1ms定时器
{   
TH0=(65536-1000)/256;//重载初值
TL0=(65536-1000)%256;
dispaly();//显示
if(++js>=1000){1秒加一
js=0;
if(++count>999)count=0;
}


}



共阴极共阳极七段数码管 从0至F
将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a,b,c,d,e,f,g及dp(小数点)。共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分...

共阳极数码管显示0~9对应的段码
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。将显示码送到单片机的P0口,向数码管的各个段输出不同的电平,使单个数码管循环显示0-9这10个数字。位选的方法:1、电路上看这是两个独立的4位数...

共阴极数码管段编码
显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。...

如何确定数码管段码表
4、0x66 5、0x6d 6、0x7d 7、0x07 8、0x7f 9、0x6f A、0x77 B、0x7c C、0x39 D、0x5e E、0x79 F、0x71 无显示:0x00 只显示一点:0x80 共阳:只需和共阴互补即可,比如:共阳0为:0xc0 共阴0为:0x3f 相加后两位等于ff即可。数码管的最常见形式有10个阴极,形状为数字0到9,...

如何区分1位和4位数码管引脚
第三 4位数码管的参数,8字高度,8字上沿与下沿的距离,范围一般为0.25-20英寸,首先数码有共阴极和共阳极,区别他们的方法是若公共端接地,其他端接电源,若各段测试能亮,说明是共阴的,反之共阳的。若公共端接电源,其他端分别接的,测得各端亮,则说明是共阳的,反之为共阴的。第四 4位一...

七段数码管显示数字0到9
4、---请追问---你的采纳就是我的最好礼物,请点右上角“采纳答案”。单片机汇编语言让数码管显示0到91、小建议,_用STC的51芯片替代AT的,_用595替代164。2、新建项目,做好准备。数码管段选表。延时函数。uchari;变量i;wk=1;打开位选,P0=0xf7;11110111第4位数码管显示,wk=0;关闭...

如何用七段数码管显示数字0~9?
数码管每一段相当于二极管,连接PLC输出点,要显示数字几,就将对应段点亮,几输入端有就输入。plc七段数码管显示梯形图是由人为规定的,都是这个规定。然后就好弄了,如果想显示零这个数那么就点亮A,B,C,D,E,F这几个灯管,灭掉G这个灯管,如果想显示1这个数那就点亮B和C这两个灯管其余的灭掉,...

写出共阳极LED显示0-9数字的数据编码。
code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; \/\/共阳数码管 0-9。拓展:共阳极:一般数码管是多个二极管组成,二极管分正端(阳极)和副端(阴极),共阳极是指所有二极管的正端接在一起,作为公共端。区别:共阳极数码管是指八段数码管的八段发光二极管...

数码管怎么使用
四、开发实例 下面讲解一下四位数码管的动态驱动显示,首先看一下接线引脚图如下。接下来用51单片机设计目标:通过编写c语言程序经编译连接后下载到单片机中,使四位数码管依次显示1,2,3,4 define uchar usigned char define uint usigned int \/\/位选控制端口 sbit p20=P2^0;sbit p21=P2^1;sbi...

proteus中4个连在一起的数码管的代号
1、首先在电脑中鼠标双击打开Proteus软件,新建一个工程,如下图所示。2、然后在打开的Proteus软件页面中,选择左侧栏中的元器件模式,如下图所示。3、接着在打开的页面中,如下图所示,输入7seg-BCD。4、设置完成之后,点击确定,查看结果,如下图所示就完成了。

垫江县13641902775: 共阳极与共阴极数码管的显示代码各是什么意思?怎么求?0到9的显示代码是30H 0FCH 0A2H ......24H是共阳吗 -
钦洪舒肝: 共阳就是公共端接高电平(+5V),此时a,b,c,d,e,f,g,h(h为小数点).哪个段码给低电平哪段就会点亮.比如0是要让a,b,c,d,e,f段亮.输入的显示码为(h段为高位)11000000B十六进制为0C0H,同样一到九也是这样算.分别是0F9H,0A4H,0B0H,99H,92H,82H,0D8H,80H,90H.共阴码就是把共阳码取反,0~9的代码分别是3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH.你上面说的代码是不是电路中加了译码器了.

垫江县13641902775: 求个 51单片机 计数器 程序 -
钦洪舒肝: #include "reg52.h" #define u8 unsigned char #define u16 unsigned intsbit sw1=P3^4; sbit sw2=P3^5; sbit sw3=P3^6;sbit e0=P2^0; sbit e1=P2^1; sbit e2=P2^2; sbit e3=P2^3;u8 ds[4]={0,0,0,0}; u16 num=0;u8 code table[]={0X3F,0X06,0X5B...

垫江县13641902775: 共阴极数码管,显示“9”,字段码是多少 -
钦洪舒肝: 用C语言写程序时,共阴数码管的段码表为:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 依此是显示0~9的字段码,显示9的是最后一个,0x6f.

垫江县13641902775: C51单片机,一组共阴极数码管,带按钮开关的,按开关开始启动,从00开始数,数到99归零再重来 -
钦洪舒肝: 用中断函数,选择电平触发模式,按下键盘为低电平执行中断子程序(num=0);其他你只要用定时计数器可以轻松实现

垫江县13641902775: 四位数码管,怎么判断共阴共阳? -
钦洪舒肝: 你看外形都是一样的,引脚的分配也是一样的,但是内部结构图就不一样子,共阳极的是位选选端在单个二极管阳极,而七或八段在阴极.共阴极与之相反. 假如你不做实物,只是理论证实一下,你可以直接表述是用共阴还是共阳,做实物的话...

垫江县13641902775: 四位共阴极数码管是应该位驱动还是段驱动用三极管PNP?限流电阻应该多大合适.谢谢各位大虾了. -
钦洪舒肝: 三极管驱动位,用四个就可以了.每个三极管开启一为数码管,驱动电路再给数码管各段赋值.电压为5V时,因为共阴的数码管LED二极管正常压降为0.7V,电流10mA左右,所以限流电阻为(5V-0.7V)/10mA约为430欧.不过常用的是470欧或500欧 .当然用三极管操作起来很繁琐.可以用一些芯片如573、595之类的

垫江县13641902775: 单片机动态实验共阴极数码管问题 -
钦洪舒肝: MOV R1,#0FEH....MOV A,R1 MOV P2,A ;这样是点亮一位数码管,低电平亮 RL A 再循环一次,点亮下一位数码管,如此循环下去,2-7位数码管会轮流点亮.程序逻辑没错.

垫江县13641902775: 4位共阴极数码管怎么接在单片机上??不要图片中那种??有个程序中只有2.6和2.7分别控制段选位选 -
钦洪舒肝: 有个程序中只有2.6和2.7分别控制段选位选...---- 这是要求外接两个 74LS 373,分别对“段”、“位”进行锁存.

垫江县13641902775: 单片机数码管显示的原理(CA CC) 字型的显示 动态显示的原理 大概的说下 采纳的再加分 -
钦洪舒肝: 数码管,举个例子,8段共阴极数码管.其实它的结构很简单,就是8个LED发光二极管,这8个LED发光二极管的正极就是a b c d e f g dp(小数点)这8个,负极就8个LED连接在一起. 单片机I/O口比如P0什么的不是有8个?正好连接到8个发光...

垫江县13641902775: 为什么我单片机数码管段码是共阴极的而位码是共阳极 -
钦洪舒肝: 一般来说 数码管是共阴极的,那么位码是阳极(如果你想让数码管全亮,就把所有阳极并接在一起,但是最好也要每个阳极串个限流电阻,再并接,不过这也不是叫共阳极).如果不是这样那你的数码管有没有型号或数据手册,帮你看一下.还有多个数码管的话是可以把不同的数码管位码接在一起,这也不叫共阳极,只是因为它们一般不会同时导通而已.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网