用数码管 9秒倒计时(C语言)

作者&投稿:冀蓉 (若有异议请与网页底部的电邮联系)
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--;
}
}

5秒和2秒就把K9改为K5或K2。

用中断,例如定时50ms,每次计数1,那只要记20次,就是一秒,然后把秒数减1,再刷新数码管的内容即可

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar second;
uint time_count;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void main(void)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}
void timet0(void) interrupt 1 using 0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time_count++;
if(second==0)
{
second=9;
second--;
P0=table[i];
i++;
if(i==10)
i=0;
}
}


武鸣县18677474294: 用数码管 9秒倒计时(C语言) -
除薛通痹: 用中断,例如定时50ms,每次计数1,那只要记20次,就是一秒,然后把秒数减1,再刷新数码管的内容即可

武鸣县18677474294: 51单片机 数码管实现九秒倒计时的程序 -
除薛通痹: void main() {uchar i;GPIO_P1=0x00;while(1){for(i=9;i>0;i--){GPIO_P1=Nixie[i];delay(300);}} }

武鸣县18677474294: 单片机AT89S52 如何用定时器0控制数码管从0变到9 每秒变一次 (C语言) -
除薛通痹: 用定时器,首先要设置定时的工作模式,误差最小的是方式2,8位自动重载模式.12M晶振,初值给55,定时时间就是200us,也就是你程序写的i=1,就是200us,那定时一秒的话就是i=5,再定义一个变量sec,if(i==5)sec++;显示sec就可以了

武鸣县18677474294: 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(...

武鸣县18677474294: 怎么样用c语言写一个倒计时程序 -
除薛通痹: 工程名称:99秒倒计时 //功能描述:程序开始显示99秒等待开始倒计时,当再次按下开关后计时 //停止,当再按下开关后计时 //复位实际上是单片机复位,重新开始! //通过本程序新的认识: 1.BCD数码管的使用 2.十进制到BCD码转化

武鸣县18677474294: 用c语言编写程序控制一个数码管我会 怎么控制两个? 让这两个数码管可以从10倒计时? -
除薛通痹: 控制一个你会,是用一个口控制一个数码管吗?那就用两个口控制两个数码管呗,例,P0口控制一个,P2口控制一个就行了.倒计时就更简单了,用一个变量,从10开始减1,每减1就送数码管显示.

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

武鸣县18677474294: 利用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...

武鸣县18677474294: 求单片机数码管倒计时程序 -
除薛通痹: #include<reg52.h> #include <intrins.h> //内部包含延时函数 _nop_(); #define uchar unsigned char #define uint unsigned int sbit d1=P2^0; sbit key1=P0^4; sbit SDATA_595=P0^0; //串行数据输入 ----接板卡上的SPI 数据信号输入端 sbit SCLK_...

武鸣县18677474294: 用c语言编写程序,用于c51单片机四位共阴数码管显示,显示分秒的计时器. -
除薛通痹: 用proteus做的时钟 可以显示年月日时分秒 可调整时间 有图*/#includereg52.h>#defineuchar unsigned char#define uint unsigned int#define timh 0xee#define timl 0x00 sbit K1=P1^0; sbit K2=P1^1; sbit K3=P1^2; sbit K4=P1^3; sbit K5=P1^4; sbit K...

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