51单片机 数码管实现九秒倒计时的程序

作者&投稿:泣桂 (若有异议请与网页底部的电邮联系)
51单片机数码管九秒倒计时程序~

#include
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
uchar num=9;
uchar cnt;
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
EA=1;
while(1)
{
if(key==0)
{
while(key==0);
num=9;
}
P0=table[num];
}
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=20)
{
cnt=0;
if(num>0)num--;
}
}

你是不是用2了锁存器啊。
P2=led_table[ten];
led_ten=1;//打开锁存器
led_ten=0;//关闭锁存期

存储10位
P2=led_table[single];
led_single=1;//打开锁存器
led_single=0;//关闭锁存器

存储个位
另外led_ten,led_single 你要先定义一下吧

主程序可以这样写:
a=9;
while(a>0)
{ P0=table[a];
delayms(1000);
a--;
}

void main()
{
uchar i;
GPIO_P1=0x00;
while(1)
{
for(i=9;i>0;i--)
{
GPIO_P1=Nixie[i];
delay(300);
}
}
}


遂昌县13054085639: 51单片机 数码管实现九秒倒计时的程序 -
薄狐优维: void main() {uchar i;GPIO_P1=0x00;while(1){for(i=9;i>0;i--){GPIO_P1=Nixie[i];delay(300);}} }

遂昌县13054085639: 51单片机数码管九秒倒计时程序 -
薄狐优维: #include<reg51.h> #define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; uchar num=9; uchar cnt; main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; TR0=1; EA=1; while(1) { if(...

遂昌县13054085639: 51单片机做一个10秒倒计时的程序 -
薄狐优维: C语言 #include<reg51.h> #define uint unsigned int #define uchar unsigned char sbit p27=P2^7;//数码管位选端定义 uchar c,i; //数码管译码表 unsigned char code NumDecode[] = { 0XC0,//;0 0XF9,//;1 0XA4,//;2 0XB0,//;3 0X99,//;4 0X92,//;5 0X...

遂昌县13054085639: 利用AT89C51单片机实现两个共阳数码管倒数计时99秒,求程序!!要求是C语言的 -
薄狐优维: 这是正时,改动一下 #include unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00}; unsigned char second; unsigned char keycnt; unsigned int tcnt; void main(void) { unsigned...

遂昌县13054085639: 51单片机数码管倒计时程序,从999999开始倒计时,用定时器T1的中断完成 -
薄狐优维: 这个和代码顺序有关系: while (1) { if (flag1s == 1) //判断1秒定时标志 { flag1s = 0; //1秒定时标志清零 sec--; //秒计数自减1【这里是先减一,后面再送显示】 //将sec按十进制位从低到高依次提取到buf数组中 buf[0] = sec%10; buf[1] = sec/10%10; ...

遂昌县13054085639: 想用51单片机编个倒计时的c程序,要求用两位数码管显示分钟的,并用一个按键 -
薄狐优维: 你这数码管的1、2口就这么悬着或者接dp一起了真的没问题吗…… 全局变量2个用于表示个位和十位,显示的时候可以省点力不用每次计算个位十位. 然后一个全局变量代表秒 编程的话,首先是按键响应中断,控制某个全局变量flag的值,三种...

遂昌县13054085639: 『求助』用51单片机定时器实现99秒表倒计时功能 -
薄狐优维: K1 EQU P1.0 K2 EQU P1.1 K3 EQU P1.2 ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#HIGH(65536-10000) MOV TL0,#LOW(65536-10000) SETB ET0 SETB TR0 SETB EA MOV R0,#9 ...

遂昌县13054085639: 单片机99秒倒计时 -
薄狐优维: 用定时器,很简单的,我这里有个程序你可以参考一下#include "clock.h" void delay(uint t) { uint i; while(t--) { /* 对于12M时钟,约延时1ms */ for (i=0;i<100;i++) {} } } void main() { initial(); P0=0x00; sec=min=hour=0; flag=1; while(1) { while(flag) { ...

遂昌县13054085639: Mcs - 51单片机9秒倒计时课程设计 -
薄狐优维: 定时10mS,在中断里面计数,到一秒后-1,小于零后=9,再显示

遂昌县13054085639: 如何用89c51单片机和数码管设计倒计时?百万尿急!!!! -
薄狐优维: 给你一段减法程序吧,其他的自由发挥: JIAN1: LCALL DISPJNB P3.2,JIAN1MOV A,30H ;缓冲装入内存,减1CJNZ A,#00H,TM1 ;如果不等于0才能减MOV 30H,#41 ;调整倍率相同MOV A,31HCJNZ A,#00H,TM2MOV 31H,#9MOV A...

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