标题: 我想在单片机开发板上做一个倒计时 求助 [打印本页]

作者: 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