51微控制器驅動TM1640實現多個LED燈控制

2021-10-06 22:55:03 字數 1781 閱讀 6166

傳送顯示

io口的初始化

巨集定義部分

定位具體燈珠,實現控制

本工程在於使用51系列微控制器實現多個led燈的定位顯示控制功能

void

tm1640_init

(u8 invalue)

else

}

驅動tm1640需要自己按照資料手冊配置時鐘。時鐘訊號的配置決定了tm1640的使用。

起始訊號

void

tm1640start

(void

)

寫資料
void

tm1640writebyte

(u8 date)

else

gpio_writehigh

(gpio4,gpio_pin_0)

;//p40寫高 sclk

tmp = tmp>>1;

}gpio_writelow

(gpio4,gpio_pin_0)

;//p40低電平 sclk

gpio_writelow

(gpio4,gpio_pin_1)

;//p41低電平 din

}

結束訊號
void

tm1640stop

(void

)

void

tm1640_display

(u8 *a)

tm1640stop()

;tm1640start()

;tm1640writebyte

(0x8b);

//設定起始位址

tm1640stop()

;}

void

tm1640_gpio_config

(void

)

#define     addr_tm1640   (0xc0+0x01)

#define dsptm1640_dis 0

#define dsptm1640_enb 1

//模式設定

#define tm1640_add 0x40

//巨集定義 自動加一模式

#define tm1640_fiexd 0x44

//巨集定義 固定位址模式

#define dsp1640_dis 0x80

//巨集定義 亮度 關

#define tm1640_display 0x8f

//巨集定義 亮度 11/16 脈衝寬度可調節

#define     dsptm1640_dis     0   

u8 r_level[48]

=void

deal_disp()

; u8 f[4]

=;while(1

) led_data[i]

=(f[1]

<<12)

|(f[0]

<<8)

|(f[3]

<<4)

|(f[2]

);}//最後、顯示

tm1640_display

((u8*

)led_data);}

void

main

(void

)}

結束!!!

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...

51微控制器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1.供電電源 一般開發板上提供兩種供電方式,usb供電和專用電源供電。使用usb供電你只要用一根usb線將開發板usb電源介面與電腦的usb...

51微控制器

設計包含乙個矩陣式鍵盤電路和動態顯示電路的微控制器應用系統,通過根據按下不同的數字按鍵 0 9 在數碼管上顯示出自己學號的後8位。各位大神幫忙挑挑錯,或者問題太大了可以幫忙寫乙個新的麼!萬分感謝!好著急 a 8255 equ 7cffh a口 b 8255 equ 7dffh b口 c 8255 e...