求51微控制器的簡單數字鐘。附上彙編程式或C也行

時間 2021-08-30 10:29:12

1樓:

當小姑娘們長大**

不該實現選擇痛苦的美好目標,

如果你一心要愛我,那就別為了麼,

它窺視充滿空缺的巢穴

而亞歷山大的人,像平常一樣,

你是秋收金黃遍的哈哈

2樓:匿名使用者

學過幾天,我自己編過,但是失敗了。看看大牛的吧,沒有按鍵功能,只能走動,我的微控制器壞了,忘記怎麼加***了:

/*時鐘程式,大家是否想到用定時器,對,也可用定時器的中斷來處理,這樣的程式我想不用我說了吧!

你們可自己發輝下,本程式採用外元件ds1302時鐘ic,使用此ic不增加系統資源,要時鐘時直接去讀取就可以了

本ic跟adc0831一樣以串列埠方式傳送資料,不同的是協議,只要你讀懂它的串列埠協議,就可以用p口來模擬協議進行

,這樣更能使你對傳送資料協議的瞭解,在看本程式之前,先看看晶片的串列埠協議*/

#include

#include

sbit scl2=p1^3; //scl2定義為p1口的第3位腳,連線ds1302scl和adc0831scl腳

sbit sda2=p1^4; //sda2定義為p1口的第4位腳,連線ds1302scl和adc0831sda腳

//sbit cs2=p1^6; //cs2定義為p1口的第4位腳,連線adc0831cs腳

sbit rst = p1^5; // ds1302片選腳

unsigned char l_tmpdate[8]=;

unsigned char l_tmpdisplay[8]=;

code unsigned char write_rtc_address[7]=; //地址為:秒分小時月日年

code unsigned char read_rtc_address[7]=;

code unsigned char table=

; //共陰數碼管 0-9 '-' '熄滅『表

void delay();//延時子函式,5個空指令

void display(unsigned char *lp,unsigned char lc);//數字的顯示函式;lp為指向陣列的地址,lc為顯示的個數

void write_ds1302_byte(unsigned char temp);

void write_ds1302( unsigned char address,unsigned char dat );

unsigned char read_ds1302 ( unsigned char address );

void read_rtc(void);//read rtc

void set_rtc(void);//set rtc

void main(void) //入口函式

display(l_tmpdisplay,8);}}

void display(unsigned char *lp,unsigned char lc)//顯示

}void write_ds1302( unsigned char address,unsigned char dat )

unsigned char read_ds1302 ( unsigned char address )

rst=0;

_nop_(); //以下為ds1302復位的穩定時間

rst=0;

scl2=0;

_nop_();

scl2=1;

_nop_();

sda2=0;

_nop_();

sda2=1;

_nop_();

return (temp); //返回

void read_rtc(void) //讀取 日曆

void set_rtc(void) //設定 日曆

write_ds1302(0x8e,0x00);

p=write_rtc_address; //傳地址

for(i=0;i<7;i++) //7次寫入 年月日時分秒星期

write_ds1302(0x8e,0x80);}

3樓:aimei126良

是用簡單的微控制器定時器還是要加時鐘晶片啊。

求51微控制器控制繼電器的彙編程式或c語言程式!!!!

4樓:匿名使用者

繼電器只有一個控制端呀,led控制亮滅可以吧,延時也可以吧,將它當做led來控制就行了。

5樓:匿名使用者

#include

#include

sbit key=p1^0;

sbit key1=p1^1;

sbit d1=p0^0;

sbit d2=p0^1;

void delay1s(void) //誤差 0usmain()

if(key1==0)

if(d1==0)

if(d2==0)}}

8255不要 繼電器接p0^0 p0^1

求基於51微控制器的流水燈的設計

摩凌文 include define uint unsigned int define uchar unsigned charsbit keya p2 1 這裡看你把按鍵設定在哪個引腳上,這個是實現功能2 sbit keyb p2 2 這個是實現功能2sbit keyc p2 7 實現功能3void...

51微控制器的蜂鳴器怎麼關閉求程式段

while 迴圈中只有 speaker 0 就關閉了.如果採用npn三極體作為蜂鳴器的開關管,使用 speaker 0 關閉。如果採用 pnp 的三極體,使用 speaker 1 關閉。具體的程式段 include sbit speaker p1 0 void delay unsigned char...

簡單的C51微控制器組合語言程式分析

羅門大佬 樓上說的有理,但是即使刪去ljmp main也不行,因為在中斷時它把ea關了,也就不會中斷了。其實不用關ea,你把clr ea也刪去就可以執行。只要你的手沒有中斷服務程式快就會有中斷。每次按都有。你試一下在開發板上執行,應該可以的。原因是當你外中斷置低電平時,就會進入中斷程式。執行完就會自...