找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 6447|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

[求助]誰能幫我設(shè)計(jì)一個(gè)讓51hei板子的其中一個(gè)燈每隔一秒閃一次的程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:36323 發(fā)表于 2012-3-15 14:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
誰能幫我設(shè)計(jì)一個(gè)讓51單片機(jī)的其中一個(gè)燈每隔一秒閃一次的程序,在本站的板子上能運(yùn)行就可以了.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:34099 發(fā)表于 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);//延時(shí)1S } }

回復(fù)

使用道具 舉報(bào)

板凳
ID:34608 發(fā)表于 2012-3-15 17:28 | 只看該作者
 

/*用定時(shí)器以間隔1000MS在6位數(shù)碼管上依次顯示
0、1、2、3....C、D、E、F,重復(fù)。同時(shí)讓數(shù)碼管亮
設(shè)時(shí)鐘頻率為12M
*/
/*********************************************************/
#include<reg52.h>  //52單片機(jī)頭文件
#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è)置定時(shí)器0為工作方式1
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;//開總中斷
 ET0=1;//開定時(shí)器0中斷
 TR0=1;//啟動(dòng)定時(shí)器0
 dula=1;
 P0=0x3f;  //給段開始送顯示0。
 dula=0;//關(guān)閉段選鎖存端,防止開始時(shí)出現(xiàn)亂碼。
 wela=1;//11101010
 P0=0x00; // 打開六個(gè)數(shù)碼管位選
 wela=0;
 while(1)  //死循環(huán)
 {
  if(tt==20)   //每進(jìn)入10次中斷即為500ms,執(zhí)行一次顯示變化。
     {
    tt=0;
    num++;
    if(num==16)
    num=0;
    dula=1;  //開通74hc573,使p0口數(shù)據(jù)能直通
    P0=table[num];   //送數(shù)碼管段選值
    dula=0;  //鎖存負(fù)責(zé)段選的74hc573
 den_con=0;  //燈亮的控制口打開
 P0=0xfe;
 for(i=0;i<100;i++);
 den_con=1; //燈亮控制口關(guān)閉
   }
 }
}


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

使用道具 舉報(bào)

地板
ID:1 發(fā)表于 2012-7-27 02:37 | 只看該作者

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

回復(fù)

使用道具 舉報(bào)

5#
ID:43892 發(fā)表于 2012-8-15 17:33 | 只看該作者
gundz() 的作用是什么?
回復(fù)

使用道具 舉報(bào)

6#
ID:43004 發(fā)表于 2012-8-20 09:06 | 只看該作者

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

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表