国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MSP430系列微處理器課程設(shè)計的研究與探索

2019-06-03 06:52許曉榮
實驗室研究與探索 2019年3期
關(guān)鍵詞:低功耗字符課程設(shè)計

許曉榮, 駱 懿, 黃 怡

(杭州電子科技大學通信工程學院,杭州310018)

0 引言

《微處理器與接口技術(shù)》(或《單片機與接口技術(shù)》)和《微處理器與接口技術(shù)課程設(shè)計》(或《單片機與接口技術(shù)課程設(shè)計》)是大部分工科院校電子信息與電氣工程類專業(yè)的重要基礎(chǔ)課和配套的實踐課程。課程目的是讓學生了解微處理器/微控制器計算機應(yīng)用系統(tǒng)的基本組成,以及常見外圍接口電路的設(shè)計方法[1-2]。近年來,國內(nèi)許多高校電子信息與電氣工程類專業(yè)開設(shè)的《微處理器與接口技術(shù)》課程采用了超低功耗16位RISC結(jié)構(gòu)MSP430系列單片機[1-3]。

作者所在學院開設(shè)的《微處理器與接口技術(shù)課程設(shè)計》硬件平臺采用MSP430F5529 LaunchPad(最小系統(tǒng))核心板[3-4]。并自制了與MSP430F5529LP匹配的接口擴展板,包括:MSP430F5529LP主接口擴展板、ESP8266 WiFi模塊擴展板和包含多個傳感器模塊的不同類型接口擴展板。結(jié)合CCSv6軟件開發(fā)環(huán)境和C語言編程,構(gòu)建MSP430F5529單片機低功耗應(yīng)用的口袋實驗板開發(fā)平臺。

1 MSP430F5529微處理器實驗平臺

MSP430F5529 LaunchPad核心板由超低功耗16位單片機MSP430F5529、USB接口、EZ-FET板載仿真器、 外 接 引 腳 排 線、 按 鍵 組 成[3,5-6]。 在MSP430F5529LP核心板基礎(chǔ)上,自制了MSP430F5529LP主接口擴展板。該擴展板與核心板配合使用,通過核心板外接引腳排線插槽與擴展板連接。主接口擴展板上包括FG12864A液晶顯示屏、4個按鍵、3個電容式觸摸鍵、ADC、電位器、MicroSD Card插槽、蜂鳴器等。自制了WiFi模塊(ESP8266)擴展板和 MSP430F5529LP BoostPack 底板[7],可以實現(xiàn)MSP430F5529單片機的LCD中英文與圖片顯示程序設(shè)計、ADC程序設(shè)計、按鍵與電容觸摸鍵程序設(shè)計、SD卡讀寫程序設(shè)計、WiFi無線遙控收發(fā)器程序設(shè)計[7]等多個基礎(chǔ)性實驗例程。結(jié)合CCSv6軟件開發(fā)環(huán)境和C語言編程,構(gòu)建基于MSP430F5529單片機低功耗應(yīng)用的實驗板開發(fā)平臺[8-10]。MSP430F5529LP核心板、接口擴展板與BoostPack底板如圖1所示。

CCSv6(Code Composer Studio)具有環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等功能的集成開發(fā)環(huán)境。它針對MSP430F5xx/6xx系列單片機進行軟件開發(fā)。通過創(chuàng)建工程、編寫C程序、配置工程文件、編譯和調(diào)試工程、通過EZ-FET板載仿真器在開發(fā)板上運行程序,實現(xiàn) MSP430 單片機軟件開發(fā)[1,3,5]。CCSv6調(diào)試程序界面如圖2所示。

借鑒國內(nèi)針對MSP430F5529 LaunchPad微處理器核心板開發(fā)的綜合電子設(shè)計實驗平臺[11-12]和MSP430G2553 Launchpad微處理器核心板開發(fā)的接口擴展板設(shè)計經(jīng)驗[1,13]。對MSP430系列微處理器與接口技術(shù)課程設(shè)計實踐課進行了課堂教學模式改革,進一步完善和優(yōu)化MSP430F5529LP主接口擴展板和BoostPack底板的設(shè)計、研制包含ESP8266 WiFi模塊和多個傳感器模塊的不同類型接口擴展板[6,14]。借鑒MSP430系列微處理器在通用測控系統(tǒng)[14]、微弱信號檢測[15]等多個領(lǐng)域的低功耗應(yīng)用,將其應(yīng)用于課程設(shè)計研究與實踐。

圖1 MSP430F5529LP核心板、接口擴展板與BoostPack底板

圖2 CCSv6調(diào)試程序界面

2 LCD漢字/圖片的循環(huán)滾動顯示案例

目前,戶外廣告多采用點陣式LCD顯示循環(huán)滾動的漢字/圖片。學生采用定時器結(jié)合LCD,在本實驗板開發(fā)平臺上實現(xiàn)了LCD漢字/圖片的循環(huán)滾動顯示,循環(huán)滾動時間可由定時器進行設(shè)置。

MSP430F5529LP接口擴展板上的FG12864A液晶屏為64×128點陣式LCD。LCD與MSP430F5529采用SPI模式實現(xiàn)數(shù)據(jù)傳輸,數(shù)據(jù)傳輸為單向,數(shù)據(jù)只允許寫入[3,5-6]。它通過16腳軟性PCB排線與擴展板接口線連接。16腳數(shù)據(jù)排線包括:8位數(shù)據(jù)線、LCD電源線、LCD片選信號、命令數(shù)據(jù)切換信號、數(shù)據(jù)傳輸時鐘信號、LCD復(fù)位、從設(shè)備輸入主設(shè)備輸出信號、地線等。這些信號線主要與MSP430F5529單片機的GPIO口(P3/P6)和電源線、地線相連接。通過單片機控制GPIO口輸出電平,設(shè)置點陣像素電平的高低,通過字模工具PCtoLCD2002生成點陣式字符、漢字、圖像對應(yīng)于FG12864A液晶屏顯示的像素,在CCSv6軟件的LCD顯示程序中修改字模顯示頭文件和顯示字符、漢字、圖像子函數(shù),通過編譯、調(diào)試、運行主程序,實現(xiàn)在LCD上顯示設(shè)置的字符、漢字、圖像點陣[5]。

若在 LCD顯示字符和漢字,設(shè)置字模工具PCtoLCD2002“模式”為“字符模式”,“字模選項”中“取模方式”為“列行式”,“取模走向”為“順向(高位在前)”,“輸出數(shù)制”為“十六進制數(shù)”。LCD顯示一個字符點陣大小為8×6。LCD每行(8個點陣)可以顯示21個字符,對于字符可以顯示8行,故LCD可顯示的總字符數(shù)為168個。LCD顯示一個漢字點陣大小為16×16。由于一個漢字占用2行(16個點陣)16列,故LCD每2行可以顯示8個漢字,對于漢字可以顯示4行,故LCD可顯示的總漢字數(shù)為32個。設(shè)置完成后,在PC端輸入字符或漢字,點擊“生成字?!?,生成可以在LCD上顯示的十六進制數(shù)據(jù),并保存為十六進制字符矩陣后寫入LCD顯示程序頭文件。圖3為漢字的十六進制點陣表示。

圖3 漢字的十六進制點陣表示

若在LCD顯示圖片,設(shè)置字模工具PCtoLCD2002“模式”為“圖形模式”,選取位圖(bmp)文件(要求像素大?。?4×128),設(shè)置“輸出數(shù)制”為“十六進制數(shù)”。設(shè)置完成后,點擊“生成字?!?,生成可以在LCD上顯示的位圖文件數(shù)據(jù),并保存為十六進制字符矩陣后寫入LCD顯示程序頭文件。圖4所示為字模工具顯示圖像時設(shè)置圖形模式。

將字模工具生成的十六進制字符矩陣寫入LCD顯示頭文件。以顯示漢字為例,在LCD漢字顯示頭文件中,一個漢字用32個十六進制數(shù)進行表示,N個漢字用N×32的二維字符數(shù)組表示。而后,在LCD顯示子程序中,增加LCD漢字顯示頭文件,在子函數(shù)聲明中增加顯示字符子函數(shù)、顯示漢字子函數(shù)和LCD顯示漢字字符串子函數(shù)。在主程序的主函數(shù)中增加LCD_write_chinese_string(0,0,16,8);表示在 LCD 的起始第0行第0列上開始顯示漢字,漢字點陣寬度為16,每2行顯示8個漢字。該函數(shù)形參變量調(diào)用自LCD顯示子程序的子函數(shù) LCD_write_chinese_string,采用LCDprintfChinese子函數(shù)在每行依次寫每個漢字,顯示的漢字內(nèi)容來源于LCD漢字顯示頭文件中定義的十六進制二維字符數(shù)組。在LCDprintfChinese子函數(shù)中調(diào)用顯示漢字子函數(shù)。該子函數(shù)通過讀取二維字符數(shù)組中每行32個十六進制數(shù)據(jù),首先顯示單個漢字的上半部分(即讀取二維數(shù)組中各行向量的前16個十六進制數(shù)顯示上半部分8×16點陣),然后程序中行變量加1,繼續(xù)顯示單個漢字的下半部分(即讀取二維數(shù)組中各行向量的后16個十六進制數(shù)顯示下半部分8×16點陣),完成單個漢字的讀取與LCD顯示。在CCSv6中運行主程序,調(diào)用LCD顯示子程序中的LCD_write_chinese_string子函數(shù),在 LCD上依次顯示漢字。

圖4 字模工具顯示圖像時設(shè)置圖形模式

同理,將字模工具生成的位圖數(shù)據(jù)十六進制字符數(shù)組寫入LCD顯示頭文件,在主函數(shù)中增加LCD_write_figure(0,31,66,1);表示在LCD 的起始第0 行第31列上開始顯示HDU LOGO位圖,圖像點陣寬度為66,在LCD圖像顯示頭文件中定義的demo_figure為一維字符數(shù)組。該函數(shù)形參變量調(diào)用自LCD顯示子程序的子函數(shù) LCD_write_figure,采用LCDprintffigure子函數(shù)依次讀取位圖數(shù)據(jù)十六進制字符數(shù)組數(shù)據(jù),顯示的圖像矩陣來源于LCD圖像顯示頭文件中定義的位圖數(shù)據(jù)十六進制字符數(shù)組。在CCSv6中運行主程序,調(diào)用LCD顯示子程序中的LCD_write_figure子函數(shù),完成HDU LOGO位圖數(shù)據(jù)的讀取與顯示。

在主程序中設(shè)置定時器,時鐘采用ACLK(32.768 kHz),定時器采用增計數(shù)模式,定時器初值設(shè)為3 277(定時 0.1 s 的 循 環(huán) 滾 動 時 間)[3,9]。將 LCDprintf Chinese子函數(shù)寫入定時器中斷子程序中,定時器控制LCD顯示列變量,讀取LCD顯示頭文件中的漢字/位圖的十六進制字符數(shù)組。完成漢字/圖片的循環(huán)滾動顯示。

圖5和圖6分別給出了LCD循環(huán)滾動顯示漢字/圖片的運行結(jié)果。

圖5 LCD循環(huán)滾動顯示漢字運行結(jié)果

圖6 LCD循環(huán)滾動顯示圖片運行結(jié)果

3 低頻信號頻率計設(shè)計案例

在電子測量中,信號發(fā)生器、頻率計與信號檢測器是基本的測量儀器。利用MSP430定時器對信號發(fā)生器的輸入頻率進行計數(shù),可以設(shè)計具有低功耗高精度的便攜式低頻信號頻率計。

在本設(shè)計案例中,利用定時器A和分頻功能,當達到定時時間或滿足捕獲/比較條件時,將可觸發(fā)定時器A產(chǎn)生中斷,使得每1s產(chǎn)生一個定時器中斷請求[3,9]。系統(tǒng)時鐘采用 ACLK(32.768 kHz),通過標志位ID_3對主頻進行8分頻,則分頻后的系統(tǒng)頻率為4 096 Hz。定時器采用增計數(shù)模式,定時器初值TA0CCR0 設(shè)為 4 096(系統(tǒng)分頻后定時1 s)[3,9]。當大于TA0CCR0值的時候,定時器復(fù)位并從0開始重新計數(shù),并置位中斷標志位,進入中斷服務(wù)子程序,測出頻率值。

在本設(shè)計案例中,函數(shù)信號發(fā)生器產(chǎn)生正弦信號輸入開發(fā)板P2.4口作為中斷源,設(shè)置的定時器增計數(shù)模式剛好使得1 s內(nèi)產(chǎn)生一個定時器中斷,則在1 s內(nèi)計數(shù)器測得的脈沖數(shù)目恰好是信號的頻率值。因此,只要在定時器產(chǎn)生中斷時輸出脈沖數(shù)目值,同時將定時器計數(shù)清零即可連續(xù)測出信號發(fā)生器產(chǎn)生的正弦信號頻率值。將開發(fā)板LCD上顯示測出的頻率值,與信號發(fā)生器產(chǎn)生的正弦信號頻率值進行對比,可以驗證頻率計測量結(jié)果的正確性。圖7給出了低頻信號頻率計設(shè)計主程序流程圖。圖8給出了低頻信號頻率計測試結(jié)果驗證圖。經(jīng)多次測量,并與信號發(fā)生器顯示的正弦信號頻率進行對比,所設(shè)計的頻率計測得的頻率值與信號發(fā)生器產(chǎn)生的信號頻率值之間的相對誤差非常小,滿足低功耗高精度信號頻率計的設(shè)計要求。

4 無線遙控智能小車設(shè)計案例

基于MSP430系列微處理器設(shè)計無線遙控智能小車是MSP430系列微處理器在低功耗智能車設(shè)計中的典型應(yīng)用之一。

圖7 低頻信號頻率計設(shè)計主程序流程圖

圖8 低頻信號頻率計測試結(jié)果驗證圖

在本設(shè)計案例中,無線遙控智能小車發(fā)送端對操縱桿處傳來的X軸與Y軸方向電壓信號進行模數(shù)轉(zhuǎn)換和量化,使用MSP430F5529微處理器的ADC12模塊,選擇序列采樣通道為A1和A2,即信號從P6.1和P6.2輸入,X軸的采樣結(jié)果存入ADC12緩沖寄存器ADC12MEM0,Y軸的采樣結(jié)果存入ADC12緩沖寄存器ADC12MEM1,對得到的采樣結(jié)果分別進行量化,X軸與Y軸均量化成7個范圍[3]。X軸的7個量化檔位分別表示:左轉(zhuǎn)角度3檔/2檔/1檔、直行、右轉(zhuǎn)角度1檔/2檔/3檔;Y軸的7個量化檔位分別表示:前進3檔/2檔/1檔、停止、后退1檔/2檔/3檔。同時在發(fā)送端的 LCD顯示當前小車方向與擋位。將MSP430F5529微處理器的通用串行通信接口USCI配置成UART模式,對量化結(jié)果進行8 bit(1 byte)編碼后保存到發(fā)送緩沖寄存器UCA0TXBUF中[3],再經(jīng)由HC-11無線模塊串口透傳模式發(fā)送至接收端[16]。

無線遙控智能小車接收端采用HC-11無線串口模塊接收并譯碼來自發(fā)送端的8 bit控制信號[16]。首先從接收緩沖寄存器UCA0RXBUF中對編碼信號進行譯碼,根據(jù)譯碼結(jié)果對MSP430F5529微處理器連接雙路H橋直流電機驅(qū)動模塊DRV8833的P1.2/P1.3接口以及連接舵機模塊的P1.4接口輸出PWM占空比分別進行配置[17],即MSP430F5529根據(jù)譯碼的控制信號在P1.2/P1.3接口產(chǎn)生兩路不同占空比(占空比在25% ~75%范圍內(nèi))的PWM波,通過DRV8833驅(qū)動智能小車的電機,以控制電機的轉(zhuǎn)向與不同檔位轉(zhuǎn)速[3,17]。同時,MSP430F5529 根據(jù)譯碼的控制信號在P1.4接口產(chǎn)生占空比在3% ~9%之間的PWM波,以控制舵機的轉(zhuǎn)向與不同檔位轉(zhuǎn)向角[3]。在程序中建立函數(shù) Forward(inti)、Back(inti)、TurnLeft(inti)、TurnRight(inti),分別表示前進函數(shù)、后退函數(shù)、左轉(zhuǎn)函數(shù)、右轉(zhuǎn)函數(shù)。函數(shù)機理是通過MSP430F5529微處理器的定時器A(Timer_A)輸出指定的PWM波,配置參考時鐘為ACLK(32768Hz),設(shè)置輸出PWM波周期,同時通過配置TA0CCRx來設(shè)定PWM的占空比,配置TA0CCTLx設(shè)定比較輸出模式[3]。在主函數(shù)中,讀取接收緩沖寄存器UCA0RXBUF,通過位運算的結(jié)果來對上述函數(shù)進行調(diào)用,利用發(fā)送端操縱桿實現(xiàn)智能小車在7個擋位內(nèi)的變速前進/后退和7個擋位內(nèi)不同轉(zhuǎn)向角進行左/右轉(zhuǎn)向控制。

圖9和圖10分別給出了基于MSP430F5529LP核心板與主接口擴展板設(shè)計的無線遙控智能小車發(fā)送端與接收端。

圖9 無線遙控智能小車發(fā)送端

圖10 無線遙控智能小車接收端

5 結(jié)語

論文以MSP430F5529微處理器核心板與自制接口擴展板為硬件,采用CCSv6軟件開發(fā)環(huán)境,構(gòu)建了基于MSP430系列微處理器的低功耗課程設(shè)計實驗開發(fā)平臺,介紹了LCD漢字/圖片的循環(huán)滾動顯示、低頻信號頻率計設(shè)計、無線遙控智能小車設(shè)計3個典型的課程設(shè)計案例。通過該實驗平臺,3年來共計完成了30余項課程設(shè)計項目。通過該實驗平臺,學生可以將創(chuàng)新思維應(yīng)用于實踐作品設(shè)計與開發(fā),有效培養(yǎng)了學生軟硬件綜合開發(fā)能力和團隊合作精神,實現(xiàn)了基于學習產(chǎn)出(OBE)的微處理器與接口技術(shù)課程設(shè)計工程教育實踐教學改革。

猜你喜歡
低功耗字符課程設(shè)計
一種高速低功耗比較器設(shè)計
龍鳳元素系列課程設(shè)計
字符代表幾
一種USB接口字符液晶控制器設(shè)計
圖片輕松變身ASCⅡ藝術(shù)畫
中秋明月
HBM電子稱與西門子S7-200系列PLC自由口通訊
一種寬帶低功耗四合一接收機設(shè)計
低功耗便攜智能翻譯手套系統(tǒng)
低功耗技術(shù)在駕駛行為管理模塊中的應(yīng)用
岢岚县| 金山区| 靖西县| 石屏县| 鄂州市| 曲沃县| 兰州市| 绥化市| 惠州市| 万全县| 雅安市| 崇文区| 株洲县| 陕西省| 鹤岗市| 休宁县| 罗江县| 文山县| 滦平县| 南投县| 琼结县| 龙州县| 剑阁县| 南城县| 定襄县| 扶风县| 卫辉市| 宣城市| 工布江达县| 洛隆县| 邳州市| 那曲县| 肇州县| 晋宁县| 武邑县| 瓦房店市| 孟津县| 博兴县| 松滋市| 黎川县| 阿荣旗|