標(biāo)題: [求助]誰能幫我設(shè)計一個讓51hei板子的其中一個燈每隔一秒閃一次的程序 [打印本頁]

作者: 菜鳥學(xué)者    時間: 2012-3-15 14:59
標(biāo)題: [求助]誰能幫我設(shè)計一個讓51hei板子的其中一個燈每隔一秒閃一次的程序
誰能幫我設(shè)計一個讓51單片機的其中一個燈每隔一秒閃一次的程序,在本站的板子上能運行就可以了.
作者: 志在四方    時間: 2012-3-15 17:03

#include<reg52.h> 

 #define uint unsigned int

sbit deng=P0^0;

 

void delay(uint z)

{ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

 

void main()

{ while(1) { deng=1; delay(1000);//延時1S } }


作者: zuoluo    時間: 2012-3-15 17:28

 

/*用定時器以間隔1000MS在6位數(shù)碼管上依次顯示
0、1、2、3....C、D、E、F,重復(fù)。同時讓數(shù)碼管亮
設(shè)時鐘頻率為12M
*/
/*********************************************************/
#include<reg52.h>  //52單片機頭文件
#include <intrins.h> //包含有左右循環(huán)移位子函數(shù)的庫
#include "51hei.h" 
#define uint unsigned int    //宏定義
#define uchar unsigned char  //宏定義
sbit dula=P2^6;       //數(shù)碼管段選鎖存端
sbit wela=P2^7;       ////數(shù)碼管位選鎖存端
sbit den_con=P1^4;   /// 燈的控制端口
uchar num,tt,i;
uchar code table[]={  //段碼表
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void main()
{guandz();
 num=0;
 tt=0;
 den_con=1;
 TMOD=0x01;//設(shè)置定時器0為工作方式1
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;//開總中斷
 ET0=1;//開定時器0中斷
 TR0=1;//啟動定時器0
 dula=1;
 P0=0x3f;  //給段開始送顯示0。
 dula=0;//關(guān)閉段選鎖存端,防止開始時出現(xiàn)亂碼。
 wela=1;//11101010
 P0=0x00; // 打開六個數(shù)碼管位選
 wela=0;
 while(1)  //死循環(huán)
 {
  if(tt==20)   //每進入10次中斷即為500ms,執(zhí)行一次顯示變化。
     {
    tt=0;
    num++;
    if(num==16)
    num=0;
    dula=1;  //開通74hc573,使p0口數(shù)據(jù)能直通
    P0=table[num];   //送數(shù)碼管段選值
    dula=0;  //鎖存負責(zé)段選的74hc573
 den_con=0;  //燈亮的控制口打開
 P0=0xfe;
 for(i=0;i<100;i++);
 den_con=1; //燈亮控制口關(guān)閉
   }
 }
}


void exter0() interrupt 1    // 定時器0中斷
{
 TH0=(65536-50000)/256;  //送初值
 TL0=(65536-50000)%256;
 tt++;  //tt=tt+1
}

作者: admin    時間: 2012-7-27 02:37

樓上的2位的答案很好 2樓是用延時的方法搞定的  3樓是用定時器的方法搞定的.


作者: wugenhui    時間: 2012-8-15 17:33
gundz() 的作用是什么?
作者: lxyza    時間: 2012-8-20 09:06

12M不是有誤差嗎?我什么不用11.0592M的






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1