数码管动态显示0-99
答:MOV P1,#0FDH MOV A,42H MOVC A,@A+DPTR ACALL LOOP RET LOOP: MOV R3,#100;1毫秒延时按12MHZ计算 D1: MOV R4,#10 D2: DJNZ R4,D2 DJNZ R3,D1 RET K1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;实验板上的7段数码管0~9数字的共阴显示代码 END ...
答:if(s==10){s=0;b++;} if(b==10){b=0;q++;} } void display(){ /*个位*/ P3=1;P0=duan[g];duan=0;time();/*十位*/ P3=2;P0=ld[s];time();/*百位*/ P3=4;P0=duan[b];time();/*千位*/ P3=8;P0=duan[q];time();} 最后,提醒你,共阳数码管,纯51单片机...
答:以下是用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序:a_bit equ 20h ;数码管个位数存放内存位置 b_bit equ 21h ;数码管十位数存放内存位置 temp equ 22h ;计数器数值存放内存位置 star: mov temp,#0 ;初始化计数器,从0开始 stlop: acall display;调用显示子程序 inc temp;对...
答:那个lalala有什么用?看程序是在P0口接一个共阳数码管。那同样在P2口再接一个数码管。这样,P0口的数码管显示十位数,P2口的数码管显示个位数。或在P2,P3口各接一个数码管。见下图。这种接法属于静态显示电路。这个学会后,再练习动态显示电路。
答:include <reg51.h> unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void show(unsigned char n);void delay();void main(){ unsigned char i;int j;while(1){ for(i=0;j=100,i<100;++i)while(j--)show(i);} } void show(unsigned char...
答:3、延时函数。4、uchar i; 变量i;wk = 1;打开位选,P0 = 0xf7;1111 0111第4位数码管显示,wk = 0;关闭位选。5、while(1) //死循环效果{} 。6、dk = 1;//打开段选,P0 = leddata[i];,dk = 0;//关闭段选,delay(100);//延时效果。7、选择效果,限制i值的循环范围。
答:公阳,P0.2,P0.3 分别通过PNP管接个位,十位数码管公共端,P1口输出数据,都是低电平有效 include <reg51.h> sbit shi=P0^3; //十位公共极 sbit ge=P0^2; //个位公共极 define Out P1 //数据输出端 unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,...
答:新建项目,做好准备。数码管段选表。延时函数。uchari;变量i;wk=1;打开位选,P0=0xf7;11110111第4位数码管显示,wk=0;关闭位选。while(1)//死循环效果{}。用两个计数器实现,一个计数器作为个位计数,另一个为十位计数,两个计数器联合从0-99计数,这个应该没什么问题吧。
答:这数码管是共阳的吗?其实,仿真图,可以不用三极管驱动的,用P2.0,P2.1直接连数码管的公共端就行。如下图
答:这本质是数码管的动态显示,所谓的动态显示是指数码管一位一位的轮流显示.每次只让一个数码管亮,还有就是要能分清楚共阴极与共阳极的区别.include<reg52.h> define uint unsigned int define uchar unsigned char//宏定义 uchar code table[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x...
网友评论:
益黄13536414090:
求:8字数码管动态显示0到99的汇编程序 -
45652夹颜
: 写那么长干嘛,p1口接数码管扫描.p0口接8段字符显示,已测试正常. ORG 0000H STAER: MOV DPTR,#K1MOV 41H,#00HMOV 42H,#00HMOV R2,#0FFH A2: ACALL A1;调用显示子程序DJNZ R2,A2MOV R2,#0FFHINC 41HMOV ...
益黄13536414090:
求用51单片机接两个数码管,0 - 99动态显示程序(用C语言) -
45652夹颜
: #include #define uchar unsigned char #define uint unsigned int uchar DSY_CODE[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; void delay(uint x) { uchar i; while(x--)for(i=0;i<120;i++); } void main() { uchar i; P0 = 0x00; P2 = 0x00; while(1)...
益黄13536414090:
单片机动态数码显示0 - 99,没有锁存器,怎么用c语言写,求指点. -
45652夹颜
: 应该是这样的 你先打开段选 然后输入你要显示的数字,关闭段选 打开位选 选择用哪一个数码管来显示 然后关闭位选 这个程序应该是这样的吧 dula=1; p0=table[a]; dula=0; wela=1; p0=0xfe; wela=0; delay(5) ; 这之后再选择别的数码管点亮 这样就达到动态显示的效果了 前面说错了 有锁存器的话是可以用同一个io口就能达到动态显示的目的了
益黄13536414090:
用单片机c语言写一个数码管从00到99的数字显示,要用到锁存器!!!求大神指教 -
45652夹颜
: /*******************************************************************************************************//*******************************************************************************************************/#include //通用89C52头文件 sbit AA=P3^4;//数码管显示用IO端...
益黄13536414090:
51单片机控制2个数码管动态实现0到99(C语言) -
45652夹颜
: #include <reg51.h>unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void show(unsigned char n); void delay();void main() {unsigned char i;int j;while(1){for(i=0;j=100,i<100;++i)while(j--)show(i);} }void ...
益黄13536414090:
数码管秒表 00 - 99计时 求电路图 和程序
45652夹颜
: #include <reg52.h>#define uchar unsigned char #define uint unsigned int uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uint a,b,ss,sg,gs,gg; sbit P3_0=P3^0; void delay(uint z) { uint x,y; for (x=z;x>0;x--) for (y=250;y>0;y--); ...
益黄13536414090:
51单片机数码管后两位!用动态显示从00到99编程那个地方错啦! -
45652夹颜
: 你只关闭的段选,位选没有关闭再打开,送入时候回出现重影,所以显示不正常
益黄13536414090:
数码管多位计数程序和原理(比如从00 -- 99) -
45652夹颜
: 原理是利用数码管的动态扫描,通过按键来进行计数 程序如下:#include<regX51.h> #define k1 P1_7//开始定义p1_7时出错unsigned char i,b,count=0; unsigned char code table[]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F}; void ...
益黄13536414090:
用单片机控制2位数码管,不用锁存器能显示动态扫描码?比如说从0到99.如果能程序怎么写? -
45652夹颜
: char code duanxuan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} char i,j,x; int y; yanshi(char shu) {while(shu--)for(x=0;x<110;x++); } void main() {y=30000;while(y--){for(i=0;i<9;i++){p21=1;//如果你用的数码管是共阳极的话.就置1...
益黄13536414090:
在学习51单片机:s1,s2,控制加减,在数码管显示0 - 99的程序怎么写? 谢谢 -
45652夹颜
: ORG 0000H AJMP MAINORG 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 ...