楊 浩,李紅嶺,杜彬杰,杜新東,謝飛飛,田江龍
(甘肅農(nóng)業(yè)大學 機電工程學院, 甘肅 蘭州 730070)
51系列的MCU為8位處理器,運行速度慢,集成資源較少,采用馮諾依曼存儲結(jié)構(gòu),需要外圍電路[1~3],適合初學者,功能沒有STM32強大,STM32為32位處理器采用哈佛結(jié)構(gòu),速度快,集成度高,有豐富的外圍的接口,I2C、SPI、ADC、RTC、Timer、CRC、DMA、USART等多種外設,STM32單片機有固件函數(shù)庫,所以程序模塊化,接口簡單[4,5]。
本實驗開發(fā)板以STM32F103RCT6為控制核心,因為STM32F103RCT6具有64針腳256K字節(jié)的閃存存儲器,并且每個I/O口具有兩個32位配置寄存器,兩個數(shù)據(jù)寄存器,每個I/O口有7種工作方式,系統(tǒng)時鐘最大可達到72MHz、自帶兩個12位ADC轉(zhuǎn)換器并且其每個最多有16個通道、4個16位通用定時器,兩個高級定時器、內(nèi)置RTC定時器用于計時,并板載多種實驗電路,幫助同學們驗證電子設計程序以及競賽項目[6,9]。
實驗開發(fā)版以STM32F103RCT6單片機作為控制器,外圍硬件電路為:時鐘電路、電源電路、復位電路、跑馬燈電路、按鍵輸入電路、ADC轉(zhuǎn)化電路、LCD顯示電路、PWM波輸出電路、I2C通信電路。STM32F103RCT6單片機通過按鍵電路、ADC、I2C接收信息處理后,發(fā)出信號給LED和LCD液晶屏幕給與顯示,并輸出PWM信號給電機使其做出相應的控制動作(圖1)。
圖1 實驗板硬件組成框圖
跑馬燈實驗的實驗目的是讓同學們了解I/O口
作為輸出時其程序的配置過程,以及了解I/O的驅(qū)動能力,本實驗板設置有兩個LED顯示電路,有不同的I/O口驅(qū)動,硬件電路上每個LED燈珠一段直接連接I/O口上另一端經(jīng)電阻連接于電源正極,當I/O口輸出低電平是LED導通并且發(fā)光,接口電路如圖2所示。
圖2 LED實驗電路
按鍵實驗的實驗目的是讓同學們了解I/O口作為輸入時的配置過程,以及如何通過程序來檢測到按鍵狀態(tài)。按鍵的一端接地一端直接連接在控制I/O上,接口電路如圖3所示。
圖3 按鍵實驗電路
液晶顯示模塊為2.8吋的薄膜晶體管液晶顯示器,通過STM32的普通I/O口模擬8080總線來控制TFTLCD并且支持65K色顯示,顯示分辨率為320×240。接口為16位的80并口,硬件接口電路如圖4所示。
圖4 LCD液晶顯示接口電路
其中CS:TFTLCD片選信號。
WR:向TFTLCD寫入數(shù)據(jù)。
RD:從TFTLCD讀寫數(shù)據(jù)。
D[15:0]:16位雙向數(shù)據(jù)線。
RST:硬復位TFTLCD。
RS:命令/數(shù)據(jù)標志(0,讀寫命令:1,讀寫數(shù)據(jù))。
PWM信號主要用以對電機或舵機控制本開發(fā)板中,專門設計了步進電機的舵機輸出接口,步進電機包含轉(zhuǎn)速控制端口和使能控制端、方向控制端,硬件接口電路如圖5所示。
圖5 PWM信號輸出接口電路
STM32的開發(fā)需要多個軟件配合,編譯軟件為KEIL公司的MDK5,或是MDK4不同封裝的芯片需要不同的軟件,MDK5的功能是很強大的。使用C語言進行開發(fā),集成編寫、編譯、連接、在線調(diào)試、仿真于一體。這里已最簡單的跑馬燈來介紹相關軟件。
(1)定時器初始化流程圖如圖6所示。
圖6 定時器初始化流程圖
(2)PWM波輸出主程序。
int main(void)
{
u16 led0pwmval=0;
u8 dir=1;
delay_init(); //延時函數(shù)初始化
...
while(1)
{
delay_ms(10);
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare2(TIM3,led0pwmval);
}
}
本次設計符合教學要求[10~12],實驗內(nèi)容與教學內(nèi)容密切配合,實驗開發(fā)板中板載了多種實驗電路,并且為了降低學習難度,提高同學們的學習興趣,每個實驗都配套了實驗程序,不僅可實現(xiàn)如跑馬燈、按鍵、ADC模數(shù)轉(zhuǎn)換、LCD顯示、定時器的PWM波的輸出以及I2C通信等傳統(tǒng)的單片機教學課程內(nèi)容實驗,還有攝像頭模塊、音頻輸入輸出、以太網(wǎng)接口、USB-HID接口、SD卡接口等基礎教學內(nèi)容中涉及不多的實驗,可用于同學們的SRTP項目設計和競賽培訓,為學生電子協(xié)會活動等更深層次的學習提供便利[13~15]。