51微控制器 51系列微控制器的開發模板

2021-09-26 22:55:14 字數 1427 閱讀 1947

這個是微控制器開發的模板,下面給些注釋和思路,開發的時候其實是經常使用的,之前也不懂,參加藍橋杯之後學習到的,如果有時間和機會,會結合前輩的這些思路,再寫個stm32和嵌入式下的開發模板,這個很有利於專案的設計開發。

說明:適用於stc15f2k60s2微控制器,其他的類似,只需要改動相關的定時器設定、標頭檔案包含等,最好在讀懂這個程式的基礎上進行改動。

備註:之後有時間,我會把藍橋杯51微控制器的題目和答案全部整理一下,基本上都是乙個個的專案,用的就是這個模板了,很感謝前輩的提供。

這個**其實有一些細節,我沒有詳細的注釋,不是說不想弄,只是,因為51微控制器有傳統型和增強型的不同,而且晶元數目比較多,我想著之後把一些常用的51核心晶元的開發**整理好,在傳上來,可以直接使用就好了,一些這個stc15f2k60s2其實我已經測試好了。可以直接使用,沒有問題。

* 功能:51微控制器開發模板

* 其他:微控制器stc15f2k60s2/iap15,主頻12mhz,含矩陣鍵盤、數碼管等io

*/#include

"stc15f2k60s2.h"

// 包含相關的標頭檔案

#define u8 unsigned char

// 進行巨集定義,為了簡便實用unsigned char

#define no_key 0xff

// 巨集定義一些列資料,沒按鍵按下的情況和三個按鍵狀態

#define key_state0 0

#define key_state1 1

#define key_state2 2

// 數碼管顯示的斷碼和數碼管的讀取位(因為有鎖存器來控制)

u8 code smg_du=

;u8 code smg_wei=

;// 矩陣鍵盤的檢測,使用狀態機的方式,別使用延時,會降低系統的實時性

unsigned

char

key_scan()

break

;case key_state1:

if(key_state == no_key)

else

}break

;case key_state2:

if(key_temp == no_key)

break;}

return key_value;

}// 初始化定時器,用於後續產生中斷,在中斷中處理各種功能

void

timer_init

(void

)bit key_flag;

u8 test =0;

void

main

(void)}

}}// 定時器0的中斷處理程式

void

timer0

() interrupt 1 using 1

if(smg_count==3)

// 3ms一次中斷

}

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...