用C语言编程 怎么用单片机使2位数码管动态显示00---99? P1口接1个二位数码管 P30和P31控制位选!急用

如题所述

第1个回答  2011-10-24
#include<reg51.h>
#include<stdlib.h>
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
unsigned char buffer[6];
bit flag;
unsigned int n;
unsigned char j =0;
void delay(int ms)
{ int i;
while(ms--)
for(i=0;i<200;i++);
}
handle(unsigned int n)
{
unsigned char i;
for(i=0;i<6;i++)
{
buffer[i]=n%10;
n=n/10;
}
}
void jinzhi()
{
if(n<100)

{ n++;

if(n==99)
{
n=0;
}
flag=0;
}

}
void xianshi()
{
unsigned char i,weixuan;
weixuan=0x80;
for(i=0;i<6;i++)
{
P2=weixuan;
P3=tab[buffer[i]];
delay(0);
weixuan>>=1;
}
}
void main()
{
TMOD=0X01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
n=0;
handle(n);
while(1)
{ handle(n);
xianshi();
if(flag==1)
jinzhi();

}
}
int0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
j++;
if(j==20)
{
j=0;
flag=1;
}
}
第2个回答  2011-10-19
不要上来就问怎么做,要自己动手搞一搞,遇到具体问题提出来,大家都会帮助你的,整个一个命题,要说的太多了本回答被网友采纳
第3个回答  2011-10-19
我觉得你应该自己写,因为很简单,不懂脑筋是学不好的。虽然我的话不中听,但希望你能接受。
第4个回答  2011-10-19
把要显示的数分成十位和个位,分别显示,至于0-99变化,你用延时或定时器都行。
第5个回答  2012-04-27
半年过去了,兄弟 我还在想 你教教我。

用C语言编程 怎么用单片机使2位数码管动态显示00---99? P1口接1个二...
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};unsigned char buffer[6];bit flag;unsigned int n;unsigned char j =0;void delay(int ms){ int i;while(ms--)for(i=0;i<200;i++);} handle(unsigned int n){ unsigned char i;for(i=0;...

单片机用汇编写两个数码管显示0到99循环的程序
1、新建项目,做好准备。2、数码管段选表。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);\/\/延时效...

利用51单片机,4个数码管设计一个计时器,要求在数码管上显示的数据从0开...
本文数字时钟设计原理主要利用AT89S52单片机,由单片机的P0口控制数码管的位显示,P2口控制数码管的段显示,P1口与按键相接用于时间的校正。在设计中引入220V交流电经过整流、滤波后产生+5V电压,用于给单片机及显示电路提供工作电压。整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号...

单片机求助C语言编程 实现99秒倒计时到0秒停止! 求好心人哪!_百度知 ...
P3=0x01; \/\/P3.0引脚输出高电平, 点亮 十位 delay();P3=0xfc; \/\/关闭所有数码管 P2=Tab[k%10]; \/\/显示个位 P3=0x02; \/\/P3.1引脚输出高电平, 点亮 个位 delay();P3=0xfc; \/\/关闭所有数码管 } void main(void) \/\/主函数 { TMOD=0x01; \/\/使用定时器T0...

...0加到9999.每秒加1. 用c写程序。单片机加数码管 给50分
){ \/*个位*\/ 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单片机驱动几乎亮不起来,你需要加上位驱动。如果是共阴的,会不够亮,但能亮。

51单片机数码管怎样才能同时在两个数码管上面显示不同的数字??
是因为人眼的视觉暂留效应,实际上两个数码管是交替显示的,但是因为交替的速度十分快,所以会有因为视觉暂留效应而看到两个数码管都是同时现实的。视觉暂留现象即视觉暂停现象(Persistence of vision,Visual staying phenomenon,duration of vision)又称“余晖效应”,1824年由英国伦敦大学教授皮特.马克....

基于MCS-51单片机的数字时钟系统设计
利用MCS-51单片机的汇编指令或C51编写程序.用DS1302做的时钟芯片,我要设计原理图和程序.我邮相是13721059129@139.com因为是做多路时钟 而51单片机只能做两路 所以要用到DS1302时钟芯片 :(1)具有时钟和日历的显示和调整功能,并可互相切换,时钟以24小时制控制时间;(2)具有闹钟功能,并设有闹钟启用标志;(3)具有多路...

两位八段LED数码管的引脚怎么接?引脚有abcdefg、dp、1、2
abcdefg、dp引脚接p1口或者p2口或p3口、p0口,1、2接p1口中的任意2个口,p1口、p2口、p3口各有8位准双向口,1、2的意思是表示位选通,表示单片机控制从左到右显示,还有你要知道你的led数码管是起什么作用。是需要静态显示还是动态显示,我上面和你说的就是动态显示接法。

用单片机设计制作一个模拟的十字路口交通信号灯控制系统。
P0口作为数码管的位控(这里只用到了P0.0、和P0.1两根口线),P1口作为数码管的段控,P3口作为输入部分(这里用到了P3.0、P3.1、P3.2口线),控制数码管的显示情况和二极管的亮灭情况。 当交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。 当按下启动按钮K1并释放后,数码管显示将会从“60...

求篮球30秒倒计时器的设计和制作,数字电路课程设计,详细论文
2、显示驱动电路 “30秒倒计时器”用两个共阳数码管来显示时间,数码管显示方式为动态显示。显示驱动电路中,数码管的段码引脚通过470欧的电阻接到单片机的P1口,两个片选引脚各通过一个9012连接到正5V电源,由P3.0和P3.1控制。 4、报警电路 计时时间减到0,显示数码管显示“00”时,发光二极管D1由P3.5控制发出光报...

相似回答