曾碧五 黃湘超 李楊
(百畝中學(xué),湖南 婁底 417000)
在當(dāng)今數(shù)字化與智能化應(yīng)用的時(shí)代,科技滲透于人們生活的每一個(gè)角落,針對(duì)農(nóng)村初中生缺乏基礎(chǔ)學(xué)習(xí)設(shè)備,沒有足夠的硬件條件學(xué)習(xí)地理地圖等問題,本文設(shè)計(jì)一種把數(shù)字信號(hào)處理信號(hào)和觸摸屏顯示等技術(shù)結(jié)合的智能學(xué)習(xí)相冊。它是一種基于STM32列單片機(jī)STM32F103C8T6的智能學(xué)習(xí)相冊,具有低成本、低功耗、外設(shè)豐富、實(shí)用性強(qiáng)等特點(diǎn),改變了傳統(tǒng)紙質(zhì)圖片的單一呈現(xiàn)方式,也實(shí)現(xiàn)了多種圖片的呈現(xiàn)以及動(dòng)態(tài)圖的展示,大大豐富了圖片的內(nèi)容,為農(nóng)村初中生學(xué)習(xí)地理提供了有力的學(xué)習(xí)設(shè)備,幫助學(xué)生理解地理學(xué)科概念以及規(guī)律;老師也可以用它進(jìn)行圖文教學(xué),通過引導(dǎo)學(xué)生讀圖、識(shí)圖、辨圖,直觀形象地啟發(fā)學(xué)生思考,“潤物細(xì)無聲”地發(fā)現(xiàn)文字所無法闡述的信息,從地圖中探究新知、獲取信息等。因此,基于STM32的智能學(xué)習(xí)相冊的設(shè)計(jì)具有重要的實(shí)際應(yīng)用價(jià)值。
智能學(xué)習(xí)相冊為農(nóng)村初中地理提供了更方便的學(xué)習(xí)途徑,老師可以通過屏幕上的SD接口下載資料數(shù)據(jù)后,帶領(lǐng)學(xué)生通過地圖走進(jìn)現(xiàn)實(shí)生活,并且引導(dǎo)學(xué)生在生活環(huán)境中發(fā)現(xiàn)地理問題,讓學(xué)生善于應(yīng)用自己所學(xué)到的地理知識(shí)去尋找生活中所遇困難的解決方案。學(xué)生學(xué)習(xí)地理可以通過智能學(xué)習(xí)機(jī)隨時(shí)翻看世界地圖、中國主要地形圖、中國主要?dú)夂蝾愋蛨D、中國溫度帶以及中國行政區(qū)劃圖等去分析現(xiàn)實(shí)生活情況,運(yùn)用知識(shí)解析現(xiàn)象,結(jié)合自己的分析以及觀察潛移默化地聯(lián)系地理知識(shí)與現(xiàn)實(shí)生活,去探索世界。
整個(gè)系統(tǒng)以MCU為核心,配套設(shè)備包括電源設(shè)備、觸摸屏設(shè)備、存儲(chǔ)器、外部時(shí)鐘等部分。如圖1所示。
圖1 設(shè)計(jì)方案圖
采用Altium Designer15軟件繪制硬件電路圖。整體電路圖如圖2所示。
圖2 整體電路圖
本裝置中MCU使用STM32F103C8T6芯片,該系統(tǒng)由STM32芯片、晶振電路、復(fù)位電路、系統(tǒng)模式啟動(dòng)電路、程序下載接口電路以及指示燈電路組成(圖3)。芯片共有48個(gè)引腳,啟用4組電源引腳(2.0~3.6V)供電,時(shí)鐘內(nèi)含4~16MHZ的晶振器,擁有高達(dá)20K字節(jié)的SRAM和上電/斷電復(fù)位,包括2個(gè)12位的ADC轉(zhuǎn)換器、3個(gè)通用16位定時(shí)器和1個(gè)PWM定時(shí)器,還包含通信接口:2個(gè)I2C接口和SPI接口、3個(gè)USART接口、1個(gè)USB接口和1個(gè)CAN接口。
圖3 單片機(jī)最小系統(tǒng)
其中,時(shí)鐘電路由1個(gè)8MH晶振和2個(gè)22pF的瓷片電容組成,通過產(chǎn)生一個(gè)時(shí)鐘信號(hào),保證單片機(jī)同步工作方式的實(shí)現(xiàn)。裝置上電后,起振產(chǎn)生脈沖波形,2個(gè)濾波電容濾掉諧波。晶振電路用于提高單片機(jī)的工作頻率;復(fù)位電路是當(dāng)單片機(jī)中的程序出現(xiàn)混亂出錯(cuò)時(shí)強(qiáng)制重新啟動(dòng);程序下載接口用于給單片機(jī)燒錄程序調(diào)試;單片機(jī)的電源接口旁邊的電容是平波用的,使得單片機(jī)的工作電壓更穩(wěn)定;系統(tǒng)模式啟動(dòng)電路是選擇程序存放在特定區(qū)域的。
復(fù)位電路產(chǎn)生的條件是:當(dāng)系統(tǒng)掉電/上電,以及系統(tǒng)從待機(jī)模式返回時(shí),發(fā)生電源復(fù)位。采用的復(fù)位方式是NRST引腳的低電平復(fù)位和上電復(fù)位。低電平復(fù)位時(shí)將電容并聯(lián)一個(gè)按鍵,通過按鍵給該引腳一個(gè)低電平,讓系統(tǒng)完成復(fù)位;上電復(fù)位則是將電容下端接低電平并聯(lián)一個(gè)按鍵,電阻上端接高電平,中間接NRST引腳,使得通電時(shí)電容兩端相當(dāng)短路,本來接在電阻下端的NRST引腳為高電平,由于電容短路,導(dǎo)致NRST引腳接地變?yōu)榈碗娖?,將系統(tǒng)復(fù)位。
系統(tǒng)采用大容量鋰電池輸出DC12V電壓,經(jīng)LM2576轉(zhuǎn)換成5V再經(jīng)ASM1117轉(zhuǎn)換為3.3V,給單片機(jī)最小系統(tǒng)供電。LM2576是一種輸出電壓為5V的穩(wěn)壓器,輸入電壓范圍為5~40V;AMS1117-3.3則是輸出電壓為3.3V的正向低壓降穩(wěn)壓器,輸入電壓范圍為4.75~15V(圖4)。
圖4 電源電路原理圖
大容量鋰電池的12V電壓通過DC接插件,當(dāng)按鍵按下時(shí)流過LM2576轉(zhuǎn)換成5V電壓經(jīng)過電容濾波再轉(zhuǎn)給ASM1117轉(zhuǎn)為3.3V,經(jīng)電容濾波給單片機(jī)供電。12轉(zhuǎn)5V電路中電感與續(xù)流二極管的作用是當(dāng)有輸出電壓時(shí),二極管因單向?qū)щ娦越刂共黄鹱饔茫姼虚_始儲(chǔ)存能量,當(dāng)不輸出電壓時(shí),電感開始釋放能量,故電流回路通過續(xù)流二極管對(duì)地釋放。
存儲(chǔ)器電路采用24LC512芯片,可通過特定電信號(hào)對(duì)特定區(qū)域數(shù)據(jù)進(jìn)行擦除,所擦除區(qū)域又可以重新編寫內(nèi)容的存儲(chǔ)器,并且支持雙向兩線總線和數(shù)據(jù)傳輸協(xié)議,分為發(fā)送器與接收器。電路中7腳(WP)的作用是寫保護(hù),接在GND上則可以啟用寫操作,5引腳(SDA)用來傳輸?shù)刂泛蛿?shù)據(jù)的設(shè)備,接一個(gè)上拉電阻為了防止電路電壓受干擾,穩(wěn)定信號(hào)輸入,電阻的典型值為(10k、2k),6引腳(SCL)用于與MCU兩者之間的數(shù)據(jù)傳輸。
外部時(shí)鐘電路采用RX8025T芯片,芯片擁有I2C接口和溫度補(bǔ)償功能的新型時(shí)鐘芯片,內(nèi)部集成32.768KHz溫度補(bǔ)償晶體,可用于多種需要高精度時(shí)鐘的場合。工作電壓為2.2~5.5V,工作溫度為-45℃~85℃。芯片采用3.3V供電,將RX8025芯片的2腳和13腳分別作為串行輸入端和數(shù)據(jù)傳輸端,由于開漏輸出原因所以必須要通過10K的上拉電阻接到電源電壓,芯片可以時(shí)鐘功能。
該硬件電路主要由STM32F103C8T6單片機(jī)控制模塊、電源模塊、傳感器模塊構(gòu)成。電路所使用的通信接口為USART,其功能是用手指或其他物體觸摸安裝在顯示器前端的觸摸屏?xí)r,所觸摸的位置由觸摸屏控制器檢測,并通過RS-232串行口送到CPU,從而確定輸入的信息。如圖5所示。
圖5 觸摸屏接口電路
程序由Main函數(shù)開始執(zhí)行,首先將所有硬件的端口初始化以及完成定時(shí)器、看門狗和串口配置;初始化完成后對(duì)SMT32的內(nèi)部FLASH上鎖,防止程序被讀?。唤又餮h(huán)執(zhí)行判斷50毫秒時(shí)間是否到達(dá),如果到了刷新一次觸摸屏的數(shù)據(jù),否則判斷100毫秒時(shí)間是否到達(dá),如果到了,讀取時(shí)間函數(shù)并保存數(shù)據(jù);之后程序正常執(zhí)行就會(huì)給看門狗定時(shí)器重置一次值500毫秒(俗稱喂狗),這是一種防止程序跑飛的強(qiáng)制復(fù)位功能。如圖6所示。
圖6 總程序流程圖
RX-8025T數(shù)據(jù)讀取函數(shù):先定義一個(gè)unsigned char型變量i,用于循環(huán)讀取數(shù)據(jù),當(dāng)啟動(dòng)信號(hào)發(fā)出時(shí),數(shù)據(jù)傳輸就以一個(gè)字節(jié)為單位進(jìn)行,單片機(jī)發(fā)送8025T的地址,在地址上加“0”設(shè)定寫模式,檢測從8025T發(fā)出的ACK信號(hào)。單片機(jī)傳輸讀寄存器的地址到8025T,檢測從8025T發(fā)出的ACK信號(hào),單片機(jī)發(fā)送連續(xù)啟動(dòng)信號(hào),單片機(jī)傳輸8025T的地址,在地址上加“1”設(shè)定讀模式,檢測從8025T發(fā)出的ACK信號(hào),單片機(jī)從8025T讀取前面?zhèn)鬏敿拇嫫鞯刂分械膬?nèi)容,單片機(jī)發(fā)送ACK信號(hào)給8025T,然后依次循環(huán)7次,這7次讀取的內(nèi)容分別為秒、分、時(shí)、星期、日、月、年數(shù)據(jù)。然后發(fā)送一個(gè)“1”作為ACK信號(hào),最后發(fā)送停止信號(hào)。至此一次數(shù)據(jù)讀取完成。程序及程序框圖如圖7所示。
圖7 8025T讀取程序流程圖
將程序下載至MCU當(dāng)中,并用排線將DGUS屏連接到硬件電路,接通電源按下開關(guān),DGUS屏進(jìn)行SD卡數(shù)據(jù)下載,下載完成后DGUS屏開機(jī)畫面顯示起始頁圖片,如圖8所示。
圖8 智能學(xué)習(xí)相冊起始頁
圖9 相冊中的例圖
本文設(shè)計(jì)了以MUC為核心基于迪文DGUS屏的電子相冊,為提高顯示刷新速度采用了STM32單片機(jī)和較高頻率的外部晶振,并使用硬件SPI接口實(shí)現(xiàn)與SD卡數(shù)據(jù)的快速傳輸,可以完成圖片的瀏覽、電子書閱讀等功能。經(jīng)過軟硬件調(diào)試,系統(tǒng)運(yùn)行正常。