找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2757|回復: 3
打印 上一主題 下一主題
收起左側

我想在單片機開發(fā)板上做一個倒計時 求助

[復制鏈接]
跳轉到指定樓層
樓主
ID:69589 發(fā)表于 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;    //這里是中斷優(yōu)先級控制EA=1(開總中斷),ET0=1(定時器0允許中斷),這里用定時器0來定時
  TR0=1;    //開定時器0
while(1)
  {
  P0=shiwei;        //99的十位
  P2=0;              //99的個位,
  delay(300);    //動態(tài)掃描數(shù)碼管延時
  P0=gewei;
  P2=1;
  delay(300);
  }
  }
void tim(void) interrupt 1 using 1    //定時器0中斷
   {
   
  static uchar second=99,count;    //99只是一個數(shù),可以任意改,因為這里只學習怎樣實現(xiàn)倒計時
  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再循環(huán)來,當然,可以做其他的控制,
  }
  shiwei=tab[second/10];            //數(shù)碼管10位
  gewei=tab[second%10];        //數(shù)碼管個位
  }
  }


大神們  我想在開發(fā)板上做一個倒計時  網(wǎng)上找的這個程序 運行也沒問題  可是連線不會。。。開發(fā)板用的是東方藍芯   程序其實看的的也不懂  真心希望有大神能夠給給我講講



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2014-11-28 23:05 來自手機 | 只看該作者
你的電路圖呢  ,不然不知道硬件連接根本無法下手的
回復

使用道具 舉報

板凳
ID:67992 發(fā)表于 2014-11-29 08:11 來自手機 | 只看該作者
P0和P2口各自單獨接一個數(shù)碼管,等于一個口驅動一個數(shù)碼管。P11腳接個三極管,三極管驅動繼電器。
回復

使用道具 舉報

地板
ID:69639 發(fā)表于 2014-11-29 14:35 | 只看該作者
這個地方你首先要看電路原理圖。弄明白這個是共陰極數(shù)碼管還是共陽極數(shù)碼管。沒有電路圖光看程序是沒用的。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表