标题:
我想在单片机开发板上做一个倒计时 求助
[打印本页]
作者:
gujialong
时间:
2014-11-28 18:30
标题:
我想在单片机开发板上做一个倒计时 求助
#include <reg52.h>
#define uchar unsigned char
sbit p11=P1^1;
code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar shiwei;
uchar gewei;
void delay(unsigned int cnt)
{
while(--cnt);
}
void main()
{
TMOD|=0x01;
TH0=0xd8;
TL0=0xf0;
IE=0x82; //这里是中断优先级控制EA=1(开总中断),ET0=1(定时器0允许中断),这里用定时器0来定时
TR0=1; //开定时器0
while(1)
{
P0=shiwei; //99的十位
P2=0; //99的个位,
delay(300); //动态扫描数码管延时
P0=gewei;
P2=1;
delay(300);
}
}
void tim(void) interrupt 1 using 1 //定时器0中断
{
static uchar second=99,count; //99只是一个数,可以任意改,因为这里只学习怎样实现倒计时
TH0=0xd8; //定时10毫秒
TL0=0xf0;
count++;
if(count==100) //10毫秒定时,10*100=1000(毫秒)=1秒
{
count=0;
second--;
if(second==0)
{
p11=0; //这里让继电器动作,当然动作之后,要复位才能等下次倒定时再动作。
second=99; //回到99再循环来,当然,可以做其他的控制,
}
shiwei=tab[second/10]; //数码管10位
gewei=tab[second%10]; //数码管个位
}
}
大神们 我想在开发板上做一个倒计时 网上找的这个程序 运行也没问题 可是连线不会。。。开发板用的是东方蓝芯 程序其实看的的也不懂 真心希望有大神能够给给我讲讲
作者:
admin
时间:
2014-11-28 23:05
你的电路图呢 ,不然不知道硬件连接根本无法下手的
作者:
dgahz
时间:
2014-11-29 08:11
P0和P2口各自单独接一个数码管,等于一个口驱动一个数码管。P11脚接个三极管,三极管驱动继电器。
作者:
lzhitwh
时间:
2014-11-29 14:35
这个地方你首先要看电路原理图。弄明白这个是共阴极数码管还是共阳极数码管。没有电路图光看程序是没用的。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1