路路去网 关注热点 直接生活百态!

单片机四位数码管静态显示,要求从1234变化到2345再到3456这样下

时间:2018-04-13 17:57 来源:网络

网友玉升烟说:

不知你想问的具体问题是什么?你是在这里请教大家,还是在这里为大家布置任务?希望你想好了再来这里与大家交流,好吗?

学习,首先也是展示一个人修养的过程。祝你进步。


单片机做四位数码管静态显示实验时要不要锁存器呀,最好发一张电路图解释一下锁存器作用,不太懂锁存器
网友yuy0214说:用锁存器主要是方便IO口复用四位数码管静态显示实验时要不要锁存器,是根据你的硬件决定的,如果你的4个数码管各占一个完整的端口,就不用锁存器,但需要占用32个IO口,一般单片机的IO引脚被用完了如果你用4个锁存器,它们就可以共用1个8位IO口,另外用4个引脚控制哪个锁存器打开总之,静态显示浪费硬件资源,四位数码管要么占单片机32个IO口,要么需4个锁存器,因此单片机系统中多用动态显示方式锁存器就是能将输入数据锁存的器件,如74LS273,有8 个输入端(D0-D7)和8个输出端(Q0-Q7),另有一个控制端LA,当LA为高电平时,输出端和输入端的数据是相同的,输入端数据变化,输出端也跟着变化,当LA出现低电平(下降沿)时,输出数据就锁死了,无论输入端数据怎么变化,输出...

利用51单片机,4个数码管设计一个计时器,要求在数码管上显示的数据从0开始每1秒钟加1。
网友xianchunliu说:没有定时器的不过有数字钟的 你可以参考下 其中可有有用的 摘要 本题给出基于单片机的数字中的设计,设计由单片机作为核心控制器,通过频率计数实现计时功能,将实时时间经由单片机输出到显示设备——数码管上显示出来,并通过键盘来实现启动、停止、复位和调整时间的功能。 关键词: 单片机、数字钟、AT89S52、LED 1 引言 在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,五脏俱全”。 现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更...

用51单片机编程实现集成4位8段数码管显示不同的数字
网友wjw800c说:刷新时间过短可能造成cpu的不响应。 char js(char k) {if(k==4)k=0;return k;} void delayy(int k) { int i,j; for (i=0;i<k;i++) { for (j=0;j<60;j++) { ; } } } void main() { for (;;){ z=js(z); i=js(i); P0=0; P1=0xff-(0x01<<z); j=time[i]; P0=table[j]; delayy(1); z++; i++; }} 注意,如果程序运行不正常,可以把int都换成char <<<<单片机高手团队》》》》

单片机中二位数码管的显示,怎样用c语言写一段从0到99的程序啊?
网友易祎YY说:#include<regx51.h> int i,j; void zhongduanini(void) { TMOD=0x01; ET0=1; EA=1; TR0=1; TH0=0x3c; TL0=0xaf; } void time_1s (void) interrupt 1 { int ncount; TH0=0x3c; TL0=0xaf; ncount++; if(ncount<20) return; { ncount=0; i++; if(i==100) i=0; } } char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void main(void) { zhongduanini(); for(;;) { P2=table[i%10]; P3_1=0; for(j=0;j<1200;j++); P3_1=1; P2=table[i/10]; P3_0=0; for(j=0;j<1200;j++); P3_0=1; ...

用51单片机汇编语言,数码管静态轮流显示1~F
网友Joelle_Yen说:错误给你找到了,由于在查显示编码表时 要不断地使用累加器A, 累加器A不能用来保存要轮流要显示的数据,可以改用R4. ORG 0000H TT: MOV R4,#0 ;循环16次 KK: MOV A,R4 MOV DPTR,#TABLE ;存入表的起始地址 MOVC A,@A+DPTR ;按地址取代码并存入A MOV P0,A ;将代码送P0转变为数字显示 INC R4 LCALL DELAY CJNE R4,#16,KK AJMP TT TABLE: DB 0FCH,60H,0DAH,0F2H ;代码表 DB 66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0AAH,3EH DB 9CH,7AH,9EH,8EH DELAY: MOV R1,#25 ;延时 L1: MOV R2,#50 L2: MOV R3,#250 L3: DJNZ R3,L3 DJNZ R2,L2 DJNZ R1,L1 RET

关于PIC单片机数码管动态显示
网友sdgsd12gs说:这里有个例子你可以看看,其实动态显示原理很简单,就是显示频率超过了人眼的分辨率 比如 while(1) { 显示数码管1 延时 显示数码管2 延时 。。。。 } 就行了,延时几个毫秒就行了 这个程序是在ICCVC FOR AVR 那个编译器里编译成功的,看看吧 //ICC-AVR application builder : 2010-3-15 11:14:29 // Target : M8 // Crystal: 4.0000Mhz #include <iom8v.h> #include <macros.h> unsigned char const seg_table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; void port_init(void) { PORTB = 0xFF; DDRB = 0xFF; PORTC = 0x00; //m103 output only D...

单片机用汇编写两个数码管显示0到99循环的程序
网友jinghong22说:ORG 0000H AJMP MAIN ORG 30H MAIN: MOV R1,#0 XUNH: LCALL DISP LCALL DELAY INC R1 CJNE R1,#100,XUNH AJMP MAIN ;显示P1口十位P2口个位,这样做就怎么也不会闪烁了把 DISP: MOV DPTR,#TAB ;共阴 MOV A,R1 MOV B,#10 MUL AB MOV A MOVC A,@A+DPTR MOV P1,A MOV A,B MOVC A,@A+DPTR MOV P2,A RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;延时1s,要精确延时可以稍微调一下数值 DELAY:MOV R2,#25 DEL1: MOV R3,#100 DEL2: MOV R4,#200 DEL3: DJNZ R4,$ DJNZ R3,DEL2 DJNZ R2,DEL1 RET END ;做动态显示也可以,人眼是看不出闪烁的。那样会省点口线,嘿嘿反正你只有2个 数...

at89c51单片机驱动8个数码管滚动显示数字,要求8个数码管同时显示。我看到的是8个数码管全灭!!!
网友lcyou1314说:先去掉三极管试试,proteus的三极管驱动的数码管显示有BUG的。

设计一位8段数码管静态显示接口电路,选用单片机P0作数据信号,并列表写出显示0—9的显示段码
网友hualushuiyoubi说:#include<reg51.h> // 包含51单片机寄存器定义的头文件 /************************************************** 函数功能:延时函数,延时一段时间 ***************************************************/ void delay(void) { unsigned char i,j; for(i=0;i<255;i++) for(j=0;j<255;j++) ; } /************************************************** 函数功能:主函数 ***************************************************/ void main(void) { unsigned char i; unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管显示0~9的段...

四位共阳极 数码管电路图如图,如何编写51单片机程序让他显示四个不同数字,位选P2.0到P2.3,段选P0.0到P0.7
网友liu11981说:#include<reg51.h> #define uchar unsigned char #define uint unsigned int void delay(unchar i) { unchar j; for(;i>0;i--) for(j=0;j<250;j++); } void main() { while(1) {P2=0X08;P0=0XC0;delay(5); P2=0X04;P0=0XF9;delay(5); P2=0X02;P0=0XA4;delay(5); P2=0X01;P0=0XB0;delay(5);}}

你也可以分享到:
回到顶部