點陣迴圈 led移位多檔案例程

2021-10-02 06:55:24 字數 2898 閱讀 7392

main.c

#include

"system.h"

#include

"led.h"

#include

"dz.h"

extern

uchar

flag_1ms;/

/在其他模組中尋找其定義。另外,extern也可用來進行鏈結指定。

void

main

(void)/

/程式的主函式

}}

dz.c

#include

"dz.h"

//把led.**件包含進來

#include

"system.h"

//把timer0.**件包含進來

#include

<

intrins.h

>

uchar

code

duan0[3

][8]

=,//

數字0的段選,//

王//佳

};uchar

code

wei=

;//?位選

void

sandbyte

(uchar

dat)//

給74hc595傳送段選的資料

rck=1;

_nop_()

;_nop_()

;rck=0

;}uchar

index=0

;//最低層,點陣屏的驅動,讓它不停顯示乙個字//

這個函式,用在讓點陣屏,不停的顯示乙個字//

這個字是什麼,由index來決定,index初始化為

0,就是顯示第

0個字,就是

0void

dis_yigezi

(void)/

/顯示1個字的函式//

定時大於7清零

}///

/這個函式,用來改變要顯示的內容//

它每1秒鐘修改一下index,所以修改了要顯示的內容

void

dis_poll

(void)/

///3

個字,最後清

0從第乙個開始顯示

}}

dz.h

#include

"system.h"

//把timer0.**件包含進來

sbit

sclk=p3

^6;/

/管腳定義

sbit

rck=p3^

5;sbit

ser=p3^

4;void

sandbyte

(uchar

dat)

;void

dis_yigezi

(void);

void

dis_poll

(void

);

led.c

#include

"led.h"

//把led.**件包含進來

#include

"system.h"

//把timer0.**件包含進來

uchar

data1

=0xfe;/

/先點亮第乙個led燈

void

led_move

(void)/

/led移位函式定時}

}

led.h

#include

"system.h"

//把timer0.**件包含進來

#define

ledp2//

led管腳

void

led_init

(void);

void

led_move

(void

);

system.c

#include

"system.h"

uchar

flag_1ms=0

;/*void

delay_us

(uint

xus)

void

delay_ms

(uint

xms)}*

/void

timer0_init

(void

)void

timer0()

interrupt

1//中斷號

1

system.h

#include

"reg51.h"

#define

uchar

unsigned

char//

定義無符號字元

#define

uint

unsigned

int/

/定義無符號整形

#define

fosc

12000000l/

/定義晶振頻率

#define

t1ms

(65536

-fosc/12

/1000)/

/定時1毫秒的時候,計數器要寫入的值//

void

delay_us

(uint

xus);/

/us級延時//

void

delay_ms

(uint

xms);/

/ms級延時

void

timer0_init

(void);

//定時器初始化

51的LED點陣筆記

今天的學習進度到了led點陣,其實原理和班上同學在操場上用一堆蠟燭擺乙個心字型差不多。用多個led燈通過一定的組合,亮和滅的操作,達到顯示出字或形狀的效果。說到這個,和昨天學習的數碼管原理也一樣,通過led亮和滅的兩種狀態,把七條橫槓和乙個點組合成數字或字母。原理理解不難。難點 1 led點陣最小有...

mysql迴圈移位 左迴圈移位

例項十三 左迴圈移位 方法 result n 32 k 1 b 將n的左端的k位先放到b中的低位中。b n 32 k 2 c 將n左移k位,起右邊低位k位補0。c n 3 將b和c進行或操作.解釋 原數 1011 1100 右移k位 0000 0010 將原數高位的10 移到最低位儲存 方法中的b ...

51例程 led點陣

一 led點陣發光原理 1 8 8單色微控制器結構圖如下 從電路圖中很簡單的就可以看出來,想要點亮點陣中的某乙個led燈。只要使得那個燈所在的行輸出高電平,所在列輸出低電平就好。2 51微控制器中一般用74hc595晶元驅動led點陣,微控制器埠直接驅動。因為直接驅動8 8的點陣需要2個io埠 16...