谁有两位数码管显示“00”到“99”的程序呀?

优先C语言的,其他不是00到99的也行,我主要想看一下数码管程序长什么样…
第二个有错误...

第2个回答  2009-04-28
假设是共阴:
unsigned char led7_seg[10] = {写入0到9对应7段码值};
unsigned char led_dis[2],position,time,num;
void led_display();
void main()
{
P0和P1口都初始化为输出;
PORT0 = 0x0;
PORT1 = 0xff;
while(1)
{
if(time >= 40)
{
time = 0;
num++;
if(num == 100)
{
num = 0;
}
}
if(position == 2)
{
time++;
position = 0;
}
led_dis[1] = num % 10;
led_dis[0] = num / 10;
led_display();
delay_ms(3);//这里用的是延时,如果你要精度更高一些可以用定时中断

}
}
void led_display()
{
PORT0 = 0;
PORT1 = 0xff;
PORT0 = led7_seg[led_dis[1-position]];
PORT1 = ~(1<<position);
position++;
}

用单片机AT89C51驱动两位数码管显示00--99依次循环程序代码
以下是用单片机AT89C51驱动两位数码管显示00--99循环的程序代码片段:程序开始于0000h地址,通过计数器temp(22h)控制数码管从00到99的循环显示。计数器初始化为0,然后调用子程序display进行显示。每当计数器加1并判断是否达到100后,若未满则返回stlop继续循环,满100则清零重新开始。display子程序中,先...

...驱动数码二级管的C语言程序,要求二级管显示00~99
两位数码管显示00~99,无需采用数码管扫描,通常采用静态显示。给你提供一个两位数码管00~99循环加法计数的CC语言程序。程序中,采用了软件延时的方法,每半秒自动加1。include<reg52.h> unsigned char count=0;unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0...

stm32用一个按键控制两位数码管从00-99,代码怎么写
\/按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2 接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)\/\/ 按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2 接LED数码管的A- -H并加一个560欧的上拉排阻,P0接...

谁有两位数码管显示“00”到“99”的程序呀?
假设是共阴:unsigned char led7_seg[10] = {写入0到9对应7段码值};unsigned char led_dis[2],position,time,num;void led_display();void main(){ P0和P1口都初始化为输出;PORT0 = 0x0;PORT1 = 0xff;while(1){ if(time >= 40){ time = 0;num++;if(num == 100){ num = 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);\/\/延时...

...用2位LED数码显示,显示时间为00~99秒,每秒自动加1,“开始按键...
\/\/12M晶振。2位共阳数码管,P0为段码,P2.2、P2.3位控 \/\/2011 05 07 三个按键:开始 P2.0 暂停 P2.1 清零 P2.2 include <reg51.h> define uchar unsigned char sbit P20=P2^0;sbit P21=P2^1;sbit KS=P2^5;sbit KP=P2^6;sbit KC=P2^7;int ge,shi;uchar code tab[...

数码管俩位显示0到99加中断程序
void dispaly(uchar num);\/\/显示子程序 void main(){ init();while(1){ dispaly(num);} } void init()\/\/初始化函数 { p1=1;p2=1;num=0;TMOD=0x01;\/\/采用定时器中断 TH0=(65536-50000)\/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;} void dispaly(uchar num)\/\/显示子程序 ...

...汇编程序,要求有循环和暂停,用两个独立数码管显示
;利用中断的99秒计时器 ,动态扫描两位数码管 ;P0口接J3,数据端口 ;P2.2接 J2 B端子,表示段码锁存 ;P2.3接 J2 A端子,标志位码锁存 LATCH1 BIT P2.2 LATCH2 BIT P2.3 ORG 00H JMP START ORG 0BH JMP TIM0 START:MOV R3,#00 ;中断循环次数 MOV R4,#0 ;时间初值 MOV ...

...怎么用单片机使2位数码管动态显示00---99? P1口接1个二位数码管 P3...
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...

...单片机实现两个7SEG-COM-ANODE灯循环显示00-99,如图
这是两位静态显示电路,程序如下:include<reg51.h> unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};\/\/共阳数码管段码表 unsigned char num;\/\/计数变量 unsigned char t0n;\/\/T0中断计数 void main(){ TMOD=0x01;\/\/用T0定时,中断方式 TH0=0x3C;\/\/...

相似回答