




已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
題目智能電子秤設計第一章功能說明本設計系統(tǒng)以單片機AT89S52為控制核心,實現(xiàn)電子秤的基本控制功能。在設計系統(tǒng)時,為了更好地采用模塊化設計法,分步設計了各個單元功能模塊。系統(tǒng)的硬件部分包括最小系統(tǒng)部分、數(shù)據(jù)采集部分、人機交互界面和系統(tǒng)電源四大部分。最小系統(tǒng)部分主要包括AT89S52和擴展的外部數(shù)據(jù)存儲器;數(shù)據(jù)采集部分由稱重傳感器,信號的前期處理和A/D轉(zhuǎn)換部分組成,包括運算放大器AD620和A/D轉(zhuǎn)換器ICL7135;人機界面部分為鍵盤輸入,四位LED數(shù)碼顯示器,可以直觀的顯示重量的具體數(shù)字以及方便的輸入數(shù)據(jù),使用方便;系統(tǒng)電源以LM317和LM337為核心設計電路以提供系統(tǒng)正常工作電源。系統(tǒng)的軟件部分應用單片機C語言進行編程,實現(xiàn)了該設計的全部控制功能。該電子秤可以實現(xiàn)基本的稱重功能(稱重范圍為09999KG,重量誤差不大于0005KG),并發(fā)揮部分的顯示購物清單的功能,可以設置日期和設定十種商品的單價,還具有超量程和欠量程的報警功能。本系統(tǒng)設計結(jié)構簡單,使用方便,功能齊全,精度高,具有一定的開發(fā)價值。稱重傳感器原理即由非電量(質(zhì)量或重量)轉(zhuǎn)換成電量的轉(zhuǎn)換元件,它是把支承力變換成電的或其它形式的適合于計量求值的信號所用的一種輔助手段。按照稱重傳感器的結(jié)構型式不同,可以分直接位移傳感器(電容式、電感式、電位計式、振弦式、空腔諧振器式等)和應變傳感器(電阻應變式、聲表面諧振式)或是利用磁彈性、壓電和壓阻等物理效應的傳感器。對稱重傳感器的基本要求是輸出電量與輸入重量保持單值對應,并有良好的線性關系;有較高的靈敏度;對被稱物體的狀態(tài)的影響要小;能在較差的工作條件下工作;有較好的頻響特性;穩(wěn)定可靠。傳感器下的定義是“能感受規(guī)定的被測量并按照一定的規(guī)律轉(zhuǎn)換成可用信號的器件或裝置,通常由敏感元件和轉(zhuǎn)換元件組成”。其中敏感元件指傳感器中能直接感受被測量的部分,轉(zhuǎn)換元件指傳感器中能將敏感元件輸出量轉(zhuǎn)換為適于傳輸和測量的電信號部分。此外傳感器是一種檢測裝置,能感受到被測量的信息,并能將檢測感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求。它是實現(xiàn)自動檢測和自動控制的首要環(huán)節(jié)。稱重傳感器在電子秤中占有十分重要的位置,被喻為電子秤的心臟部件,它的性能好壞很大程度上決定了電子秤的精確度和穩(wěn)定性。通常稱重傳感器產(chǎn)生的誤差約占電子秤整機誤差的5070。若在環(huán)境惡劣的條件下(如高低溫、濕熱),傳感器所占的誤差比例就更大,因此,在人們設計電子秤時,正確地選用稱重傳感器非常重要。稱重傳感器的種類很多,根據(jù)工作原理來分常用的有以下幾種電阻應變式、電容式、壓磁式、壓電式、諧振式等。(本設計采用的是電阻應變式)電阻應變式稱重傳感器包括兩個主要部分,一個是彈性敏感元件利用它將被測的重量轉(zhuǎn)換為彈性體的應變值;另一個是電阻應變計它作為傳感元件將彈性體的應變,同步地轉(zhuǎn)換為電阻值的變化。電阻應變片所感受的機械應變量一般為106102,隨之而產(chǎn)生的電阻變化率也大約在106102數(shù)量級之間。這樣小的電阻變化用一般測量電阻的儀表很難測出,必須采用一定形式的測量電路將微小的電阻變化率轉(zhuǎn)變成電壓或電流的變化,才能用二次儀表顯示出來。在電阻應變式稱重傳感器中通過橋式電路將電阻的變化轉(zhuǎn)換為電壓變化。電阻應變式稱重傳感器工作原理框圖如圖21所示載荷P應變電阻變化R輸出電壓如圖22電阻應變式稱重傳感器工作原理框圖當傳感器不受載荷時,彈性敏感元件不產(chǎn)生應變,粘貼在其上的應變片不發(fā)生變形,阻值不變,電橋平衡,輸出電壓為零;當傳感器受力時,即彈性敏感元件受載荷P時,應變片就會發(fā)生變形,阻值發(fā)生變化,電橋失去平衡,有輸出電壓。如圖23橋式測量電路R1、R2、R3、R4為4個應變片電阻,組成了橋式測量電路,RM為溫度補償電阻,E為激勵電壓,V為輸出電壓。若不考慮RM,在應變片電阻變化以前,電橋的輸出電壓為VER4321由于橋臂的起始電阻全等,即R1R2R3R4R,所以V0。當應變片的電阻R1、R2、R3、R4變成RR1、RR2、RR3、RR4時,電橋的輸出電壓變?yōu)閂ERR4321通過化簡,上式則變?yōu)槊舾性兤瑴y量電橋V4ERR4321也就是說,電橋輸出電壓的變化與各臂電阻變化率的代數(shù)和成正比。如果四個橋臂應變片的靈敏系數(shù)相同,且K,則上式又可寫成RV1234)4EK式中K為應變片靈敏系數(shù),為應變量。上式表明,電橋的輸出電壓和四個轎臂的應變片所感受的應變量的代數(shù)和成正比。在電阻應變式稱重傳感器中,4個應變片分別貼在彈性梁的4個敏感部位,傳感器受力作用后發(fā)生變形。在力的作用下,R1、R3被拉伸,阻值增大,R1、R3正值,R2、R4被壓縮,阻值減小,R2、R4為負值。再加之應變片阻值變化的絕對值相同,即R1R3R或13R2R4R或24因此,V4EK。若考慮RM,則電橋的輸出電壓變成4KVERMR22KEEM令SU,則SUKV2SU稱為傳感器系數(shù)或傳感器輸出靈敏度。對于一個高精度的應變傳感器來說,僅僅靠4個應變片組成橋式測量電路還是遠遠不夠的。由于彈性梁材料金相組織的不均勻性及熱處理工藝、應變片性能及粘貼工藝、溫度變化等因素的影響,傳感器勢必產(chǎn)生一定的誤差。為了減少傳感器隨溫度變化產(chǎn)生的誤差,提高其精度和穩(wěn)定性,需要在橋路兩端和橋臂中串入一些補償元件。如初始不平衡值的補償、零載輸出溫度補償、輸出靈敏度溫度補償?shù)?。第二章系統(tǒng)總體設計21電子秤設計的要求1稱重范圍不超過9999KG2測量精度0005KG3顯示方式LCD顯示所稱量的物品重量,同時還可顯示物品的名稱,數(shù)量,單價,金額和所有物品的總金額。4使用操作鍵盤輸入數(shù)據(jù),操作簡單方便。5特殊功能具有去皮功能以及能將金額累加計算;當物品重量超過電子秤量程,即過載情況或者是物品重量小于A/D轉(zhuǎn)換器所能轉(zhuǎn)換的最小精度,即欠量程的時候,具有超重報警功能。22電子秤設計的基本思路將電子秤大致能劃分為三大部分,數(shù)據(jù)采集模塊、控制器模塊和人機交互界面模塊。其中數(shù)據(jù)采集模塊由壓力傳感器、信號的前級處理和A/D轉(zhuǎn)換部分組成。轉(zhuǎn)換后的數(shù)字信號送給控制器處理,由控制器完成對該數(shù)字量的處理,驅(qū)動顯示模塊完成人機間的信息交換。此外添加了一個過載、欠量報警提示的特殊功能。如圖21(上圖為本系統(tǒng)的設計圖)23單片機的選型AT89S52單片機是AT89S系列中的增強型高檔機產(chǎn)品,它片內(nèi)存儲器容量是AT89S51的一倍,即片內(nèi)8KB的FLASH程序存儲器和256B的RAM。另外,它還增加了一個功能極強的、具有獨特應用的16位定時計數(shù)器2等多種功能。在工程應用中AT89S52有一顯著的優(yōu)勢不需要燒寫器,只借助PC機的并口輸出和極為簡單的下載電路,便可將程序通過串行方式寫入單片機。并且下載電路可設計在系統(tǒng)中,可以隨時修改單片機的軟件而不對硬件做任何改動。由此,通過對目前主流型號的比較,我們最終選擇了AT89S52通用的普通單片機來實現(xiàn)系統(tǒng)設計。AT89S52是一種兼容MCS51微控制器,工作電壓40V到55V,全靜態(tài)時鐘0HZ到33MHZ,三級程序加密,32個可編程I/O口,2/3個16位定時/計數(shù)器,6/8個中斷源,全雙工串行通訊口,低功耗支持IDLE和POWERDOWN模式,POWERDOWN模式支持中斷喚醒,看門狗定時器,雙數(shù)據(jù)指針,上電復位標志。另外在外擴展了32K數(shù)據(jù)存儲器,以滿足系統(tǒng)要求。24A/D轉(zhuǎn)換器介紹A/D轉(zhuǎn)換器是一種能把輸入模擬電壓或電流成與它成正比的數(shù)字量,也就是說能把被控對象的各種模擬信息變成計算機可以識別的數(shù)字信息。A/D轉(zhuǎn)換器種類較多,從原理上可分為四種雙積分式A/D轉(zhuǎn)換器,逐次逼近式A/D轉(zhuǎn)換器、并行A/D轉(zhuǎn)換器、計數(shù)器式A/D轉(zhuǎn)換器及型A/D轉(zhuǎn)換器。在電子秤的設計中用的比較多的是雙積分式A/D轉(zhuǎn)換器和型A/D轉(zhuǎn)換器。雙積分ADC的基本原理是對輸入模擬電壓和參考電壓分別進行兩次積分,將輸入電壓平均值變成與之成正比的時間間隔,然后利用時鐘脈沖和計數(shù)器測出此時間間隔,進而得到相應的數(shù)字量輸出。如圖26所示是電子秤中常用的雙積分式A/D轉(zhuǎn)換電路,它由積分器、比較器、模擬電子開關,積分電阻、積分電容、自動回零電阻、電容組成。其中VG是模擬地,VFR是基準電壓(相對于VG為負值),VX是檢測電壓。如圖26雙積分A/D轉(zhuǎn)換電路其次雙積分型A/D轉(zhuǎn)換器具有很強的抗干擾能力。對正負對稱的工頻干擾信號積分為零,所以對50HZ的工頻干擾抑制能力特強,對高于工頻干擾(例如噪聲電壓)也具有良好的濾波作用。只要干擾電壓的平均值為零,對輸出就不產(chǎn)生影響。尤其對本系統(tǒng),緩慢變化的壓力信號,很容易受到工頻信號的影響。故而采用雙積分型A/D轉(zhuǎn)換器可大大降低對濾波電路的要求。作為電子秤,系統(tǒng)對AD的轉(zhuǎn)換速度要求并不高,精度上14位的AD足以滿足要求。另外雙積分型A/D轉(zhuǎn)換器較強的抗干擾能力,和精確的差分輸入,低廉的價格。最終選擇了精度為10KG/2000005G的ICL7135。25鍵盤輸入鍵盤輸入是人機交互界面中重要的組成部分,它是系統(tǒng)接受用戶指令的直接途徑。鍵盤是由若干個按鍵開關組成,鍵的多少根據(jù)單片機應用系統(tǒng)的用途而定。鍵盤由許多鍵組成,每一個鍵相當于一個機械開關觸點,當鍵按下時,觸點閉合,當鍵松開時,觸點斷開。單片機接收到按鍵的觸點信號后作相應的功能處理。因此,相對于單片機系統(tǒng)來說鍵盤接口信號是輸入信號。ZLG7289是周立功單片機公司設計的串行輸入輸出可編程鍵盤顯示芯片,有強大的鍵盤顯示功能,支持64鍵控制,可以比較方便地擴展系統(tǒng)。另外ZLG7289內(nèi)部有譯碼電路,大大簡化了程序。最終選擇ZLG7289作為鍵盤掃描顯示芯片。26輸出顯示采用可以設置顯示單價,金額,中文,購物日期等的LCD,它具有低功耗、可視面大、畫面友好及抗干擾能力強等功能,其顯示技術已得到廣泛應用。LCD顯示器的工作原理液晶顯示器的主要材料是液態(tài)晶體。它在特定的溫度范圍內(nèi),既具有液體的流動性,又具有晶體的某些光學特性,其透明度和顏色隨電場、磁場、光照度等外界條件變化而變化。因此,用液晶做成顯示器件,就可以把上訴外界條件的變化反映出來從而形成現(xiàn)實的效果。雖然ZLG7289具有控制數(shù)碼管顯示的功能,但考慮到本題目要求中文顯示,數(shù)碼管無法滿足,只能考慮用帶有中文字庫的液晶顯示器。由于可以分頁顯示,無需太大屏幕,最終選擇點陣式12864型LCDOCM4X8C。第三章硬件設計與制作31AT89S52芯片AT89S52單片機是ATMEL公司新近推出的高檔型AT89S系列單片機中的增強型產(chǎn)品。ATMEL公司是美國20世紀80年代中期成立并發(fā)展起來的半導體公司。該公司的技術優(yōu)勢在于推出FLASH存儲器技術和高質(zhì)量、高可靠性的生產(chǎn)技術,它率先將獨特的FLASH存儲技術注入于單片機產(chǎn)品中。其推出的AT89系列單片機,在世界電子技術行業(yè)中引起了極大的反響,在國內(nèi)也受到廣大用戶歡迎。AT89S52是一個低功耗,高性能CMOS8位單片機,片內(nèi)含8KBYTESISPINSYSTEMPROGRAMMABLE的可反復擦寫1000次的FLASH只讀程序存儲器。器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS51指令系統(tǒng)及80C51引腳結(jié)構。芯片內(nèi)集成了通用8位中央處理器和ISPFLASH存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。AT89S52具有如下特點40個引腳,8KBYTESFLASH片內(nèi)程序存儲器,256BYTES的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。此外,AT89S52設計和配置了振蕩頻率可為0HZ,并可通過軟件設置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器、串行口、外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。主要功能特性見下表兼容MCS51指令系統(tǒng)8K可反復擦寫1000次)ISPFLASHROM32個雙向I/O口4555V工作電壓3個16位可編程定時/計數(shù)器時鐘頻率033MHZ全雙工UART串行中斷口線256X8BIT內(nèi)部RAM2個外部中斷源低功耗空閑和省電模式中斷喚醒省電模式3級加密位看門狗(WDT)電路軟件設置空閑和省電功能靈活的ISP字節(jié)和分頁編程雙數(shù)據(jù)寄存器指針如表31AT89S52功能引腳封裝如下圖所示如圖31AT89S52的引腳圖32主控電路的設計P1口和P20P26口作為地址總線,其中P1口作為低地址線和數(shù)據(jù)總線復用,P20P26口做高地址線。P27作為62256的片選控制總線,ALE接鎖存器74LS373的使能端。P36和P37作為外部數(shù)據(jù)存儲器寫/讀選通信號輸出端分別接62256的/WE和/OE端。主控電路圖如下如圖32主控電路設計圖33信號處理電路以下為濾波放大電路圖如圖33信號濾波放大圖上圖中電容C5、C6用來濾除采樣信號電壓中的高頻噪聲,選用01UF的普通獨石電容;電容C7、C84用來濾除采樣信號電壓中的低頻噪聲,選用22UF的普通獨石電容。電阻R3、R4選用較小的阻值,因為采樣信號電壓值只有毫伏級,所以其阻值不宜太大,否則導致放大器由于輸入電流太小而放大效果不明顯。微弱信號VI1和VI2被分別放大后從AD620的第6腳輸出。A/D轉(zhuǎn)換器ICL7135的輸入電壓變化范圍是2V2V,傳感器的輸出電壓信號在020MV左右,因此放大器的放大倍數(shù)在200300左右,可將R9接成1K的滑動變阻器。由于ICL7135對高頻干擾不敏感,所以濾波電路主要針對工頻及其低次諧波引入的干擾。因為壓力信號變化十分緩慢,所以濾波電路可以把頻率做得很低。圖中的LM741的輸出端與AD620的地端相連,LM741的2腳與6腳相連構成電壓跟隨器,R15與正負電源相接,通過改變R15的阻值可使VO與RET之間的壓差變化,從而實現(xiàn)調(diào)零、去皮的功能。ICL7135與單片機的接口在讀取A/D轉(zhuǎn)換后的結(jié)果時,選用數(shù)據(jù)選擇器作為數(shù)據(jù)讀取的控制器,這樣簡化了ICL7135與單片機的接口電路,便于硬件設計與軟件編程的實現(xiàn)。在ICL7135進行A/D轉(zhuǎn)換結(jié)束后輸出的/STRB負脈沖引起AT89S52中斷。同時在第一個/STB負脈沖時由軟件將P17口置0,因而使S0,使74LS157的Y(1Y,2Y,3Y,4Y)A(4A,3A,2A,1A)。AT89S52讀P10P13口便讀得BCD碼,此時D51。此后,D4,D3,D2,D1輪流為“1”,即可讀得千位、百位、十位和個位的BCD碼。前端信號處理電路設計如下圖如圖34信號數(shù)模轉(zhuǎn)換圖ICL7135的輸出時序圖如圖35輸出時序圖在A/D轉(zhuǎn)換結(jié)束后立即更新輸出鎖存器并不斷地掃描輸出BCD碼。在A/D轉(zhuǎn)換期間BUSY為低電平,轉(zhuǎn)換完畢后BUSY變?yōu)楦唠娖?。A/D轉(zhuǎn)換結(jié)束后立刻順序并連續(xù)不斷地輸出位驅(qū)動信號D5、D4、D3、D2、D1(均為正脈沖)。當D5為高電平時,B8、B4、B2、B1是萬位BCD碼。同樣當D4為高電平時,B8、B4、B2、B1是千位BCD碼。同理D3、D2、D1為正脈沖時各對應百、十、個位的BCD碼。在A/D轉(zhuǎn)換完畢后,還連續(xù)輸出5個/STB負脈沖,它們分別位于D5、D4、D3、D2、D1正脈沖的中間,脈沖寬度為T/2。在設計時,還考慮過使用另一種接口電路,它巧妙地運用了ICL7135地“BUSY”端功能,只要一個I/O口和單片機內(nèi)部的一個定時器就可把ICL7135的數(shù)據(jù)送人單片機,可以節(jié)省大量的單片機資源,減小系統(tǒng)的體積。原理如下“BUSY”輸出端(ICL7135的21腳)高電平的寬度等于積分和反積分時間之和。ICL7135內(nèi)部規(guī)定積分時間固定為10001個時鐘脈沖時間,反積分時間長度與被測電壓的大小成比例。如果利用單片機內(nèi)部的計數(shù)器對ICL7135的時鐘脈沖計數(shù),利用“BUSY“作為計數(shù)器門控信號,控制計數(shù)器只要在BUSY為高電平時計數(shù),將這段BUSY高電平時間內(nèi)計數(shù)器計的內(nèi)容減去10001,其余數(shù)等于被測電壓的數(shù)值。33人機交互界面模塊設計331鍵盤輸入控制電路如表32ZLG7289引腳說明引腳號名稱說明1,2VDD正電源3,5NC懸空4VSS接地6/CS片選輸入端此引腳為低電平時可向芯片發(fā)送指令及讀取鍵盤數(shù)據(jù)7CLK同步時鐘輸入端向芯片發(fā)送數(shù)據(jù)及讀取鍵盤數(shù)據(jù)時此引腳電平上升沿表示數(shù)據(jù)有效8DATA串行數(shù)據(jù)輸入/輸出端當芯片接收指令時此引腳為輸入端當讀取鍵盤數(shù)據(jù)時此引腳在讀指令最后一個時鐘的下降沿變?yōu)檩敵龆?/KEY按鍵有效輸出端平時為高電平當檢測到有效按鍵時此引腳變?yōu)榈碗娖?016SGSA段G段A驅(qū)動輸出17DP小數(shù)點驅(qū)動輸出1825DIG0DIG7數(shù)字0數(shù)字7驅(qū)動輸出26OSC2振蕩器輸出端27OSC1振蕩器輸入端28/RESET復位端低電平有效SPI串行接口工作方式介紹ZLG7289采用串行方式與微處理器通訊,串行數(shù)據(jù)從DATA引腳送入芯片,并由CLK端同步。當片選信號變?yōu)榈碗娖胶?,DATA引腳上的數(shù)據(jù)在CLK引腳的上升沿被寫入ZLG7289的緩沖寄存器。ZLG7289的指令結(jié)構有三種類型1、不帶數(shù)據(jù)的純指令,指令的寬度為8個BIT即微處理器需發(fā)送8個CLK脈沖;如圖36純指令時序圖2、帶有數(shù)據(jù)的指令寬度為16個BIT即微處理器需發(fā)送16個CLK脈沖;如圖37帶數(shù)據(jù)指令時序圖3、讀取鍵盤數(shù)據(jù)指令寬度為16個BIT,前8個為微處理器發(fā)送到ZLG7289的指令,后8個BIT為ZLG7289返回的鍵盤代碼,執(zhí)行此指令時ZLG7289的DATA端在第9個CLK脈沖的上升沿變?yōu)檩敵鰻顟B(tài)并與第16個脈沖的下降沿恢復為輸入狀態(tài),等待接收下一個指令。圖38讀鍵盤指令時序圖下圖為電路圖圖39鍵盤接口圖圖中P15口接/CS;P16口接CLK;P10口接DIO;P32口接/KEY,利用中斷0通知AT89S52讀數(shù)。鍵盤控制芯片ZLG7289控制鍵盤的掃描,當監(jiān)測到有鍵按下后ZLG7289的9腳便產(chǎn)生一個低電平通知單片機,單片機可以采用查詢或者中斷方式將數(shù)據(jù)通過P30口以串行方式讀入。因為查詢方式會浪費大量的時間,所以本系統(tǒng)采用的是中斷方式。2、參數(shù)選擇參考如下8只下拉電阻和8只鍵盤連接位選線DIG0DIG7的8只位選電阻應遵從一定的比例關系,下拉電阻應大于位選電阻的5倍而小于其50倍,典型值為10倍,下拉電阻的取值范圍是10K100K,位選電阻的取值范圍是1K10K。所以取上拉電阻為10K,下拉電阻為100K。ZLG7289需要一外接晶體振蕩電路供系統(tǒng)工作,其典型值分別為F16MHZC15PF。實際使用時取F12MHZ,C15PF。332LCD顯示電路OCM4X8C是具有串/并接口,其內(nèi)部含有中文字庫的圖形點陣液晶顯示模塊。該模塊的控制/驅(qū)動器采用臺灣矽創(chuàng)電子公司的ST7920,因而具有較強的控制顯示功能。OCM4X8C的液晶顯示屏為12864點陣,可顯示4行、每行8個漢字。為了便于簡單、方便地顯示漢字,該模塊具2MB的中文字型CGROM,該字型ROM中含有8192個1616點陣中文字庫;同時,為了便于英文和其它常用字符的顯示,具有16KB的168點陣的ASCII字符庫;為便于構造用戶圖形,提供了一個64256點陣的GDRAM繪圖區(qū)域,且為了便于構造用戶所需字型,提供了4組1616點陣的造字空間。利用上述功能,OCM4X8C可實現(xiàn)漢字、ASCII碼、點陣圖形、自造字體的同屏顯示。為便于和多種微處理器、單片機接口,模塊提供了4位并行、8位并行、2線串行、3線串行多種接口方式。該模塊具有27V55V的寬工作電壓范圍,且具有睡眠、正常及低功耗工作模式,可滿足系統(tǒng)各種工作電壓及便攜式儀器低功耗的要求。液晶模塊顯示負電壓,也由模塊提供,從而簡化了系統(tǒng)電源設計。模塊同時還提供LED背光顯示功能。除此之外,模塊還提供了畫面清除、游標顯示/隱藏、游標歸位、顯示打開/關閉、顯示字符閃爍、游標移位、顯示移位、垂直畫面旋轉(zhuǎn)、反白顯示、液晶睡眠/喚醒、關閉顯示等操作指令。如表33引腳功能說明電路圖中PSB接低電平,進入串行接口模式;串行數(shù)據(jù)線SID接P31口;串行時鐘線SCLK接P16;RS固定接高電平。此為典型二線串行模式。字符顯示RAM地址與字符顯示位置關系如表34RAM地址與字符顯示位置關系80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH2/3線串行接口方式當模塊的PSB腳接低電平時,模塊即進入串行接口模式。串行模式使用串行數(shù)據(jù)線SID與串行時鐘線SCLK來傳送數(shù)據(jù),即構成2線串行模式。OCM4X8C還允許同時接入多個液晶顯示模塊以完成多路信息顯示功能。此時,要利用片選端“CS”構成3線串行接口方式,當“CS”接高電位時,模塊可正常接收并顯示數(shù)據(jù),否則模塊顯示將被禁止。通常情況下,當系統(tǒng)僅使用一個液晶顯示模塊時,“CS”可連接固定的高電平。引腳號名稱說明1VSSGND(0V)2VDD邏輯電源(5V)3V0LCD電源(懸空)4RS(CS)H數(shù)據(jù),L指令5R/W(SID)H讀,L寫6E(SCLK)使能7DB0數(shù)據(jù)08DB1數(shù)據(jù)19DB2數(shù)據(jù)210DB3數(shù)據(jù)311DB4數(shù)據(jù)412DB5數(shù)據(jù)513DB6數(shù)據(jù)614DB7數(shù)據(jù)715PSBH并行,L串行16NC空腳17RST復位(低電平有效)18NC空腳19LEDA背光源正極(LED5V)20LEDK背光源負極(LED0V)模塊2線串行工作操作時序如下圖所示如圖3102線串行時序圖由圖312可以看出,單片機與液晶模塊之間傳送1字節(jié)的數(shù)據(jù)共需24個時鐘脈沖。首先,單片機要給出數(shù)據(jù)傳輸起始位,這里是以5個連續(xù)的“1”作數(shù)據(jù)起始位,如模塊接收到連續(xù)的5個“1”,則內(nèi)部傳輸被重置并且串行傳輸將被同步。緊接著,“RW”位用于選擇數(shù)據(jù)的傳輸方向(讀或?qū)懀?,“RS”位用于選擇內(nèi)部數(shù)據(jù)寄存器或指令寄存器,最后的第8位固定為“0”。在接收到起始位及“RW”和“RW”的第1個字節(jié)后,下一個字節(jié)的數(shù)據(jù)或指令將被分為2個字節(jié)來串行傳送或接收。數(shù)據(jù)或指令的高4位,被放在第2個字節(jié)串行數(shù)據(jù)的高4位,其低4位則置為“0”;數(shù)據(jù)或指令的低4位被放在第3個字節(jié)的高4位,其低4位也置為“0”,如此完成一個字節(jié)指令或數(shù)據(jù)的傳送。需要注意的是,當有多個數(shù)據(jù)或指令要傳送時,必須要等到一個指令完成執(zhí)行完畢后再傳送下一個指令或數(shù)據(jù),否則,會造成指令或數(shù)據(jù)的丟失。這是因為液晶模塊內(nèi)部沒有發(fā)送/接收緩沖區(qū)。34報警電路的設計下圖為系統(tǒng)報警電路原理圖,用于超載和欠量程提示。系統(tǒng)設計了兩個發(fā)光二極管作為超載和欠量程指示燈,使系統(tǒng)更加完善。當系統(tǒng)判斷為超載或欠量程時,ICL7135給輸出一個高電平信號OR(超載)或UR(欠量程),經(jīng)非門后形成低電平從而驅(qū)動發(fā)光二極管發(fā)光提示。如圖311報警電路原理圖第四章軟件設計軟件流程圖及程序設計為了方便程序調(diào)試和提高可靠性,程序設計采用自上而下、模塊化、結(jié)構化的程序設計方法,把總的編程過程逐步細分,分解成一個個功能模塊,每個功能模塊相互獨立,每個模塊都能完成一個明確的任務,實現(xiàn)某個具體的功能。本設計按任務模塊劃分的程序主要有初始化程序、主程序,A/D轉(zhuǎn)換子程序、顯示子程序、鍵盤處理子程序。41初始化程序設計流程圖單片機系統(tǒng)上電后,進入初始化程序,完成單片機片內(nèi)各模塊的設置和A/D轉(zhuǎn)換器的功能設置初始化,然后進入主程序。如圖41初始化程序設計流程圖42主程序設計流程圖單片機完成初始化程序后進入主程序,主程序主要完成對存儲參數(shù)的讀取,對檢測到的數(shù)據(jù)進行數(shù)據(jù)處理,鍵處理,顯示處理等。如圖42主程序設計流程圖42主程序設計及其相關程序設計421程序清單UINTMAX_WEIGHT/最大稱量UCHARDSEL/分度值UCHARDP/小數(shù)點FLOATBEILV/倍率ULONGZERO_SAVE/傳感器零位值BDFUINTCODENUM_TEN41,10,100,1000UCHARCODEADCOUNT242,4,5/數(shù)據(jù)處理進平均次數(shù)UCHARCODETAB_DSEL41,2,5,10/分度值表/0,1,2,3,4,5,6,7,8,9UCHARCODETAB0XB7,0X03,0XD6,0XC7,0X63,0XE5,0XF5,0X83,0XF7,0XE7,/A,B,C,D,E,F,暗,T,P0XF3,0X75,0XB4,0X57,0XF4,0XF0,0X00,0X40,0X74,0XF2,/H,L,O,J,R,N,U,I0X73,0X34,0X55,0X07,0X50,0X51,0X37,0X44,0X04,0X01/顯示位碼表/0,1,2,3,4,5,6UCHARCODEDIGIT0XFE,0XDF,0XEF,0XFD,0XFB,0XBF,0XF7/顯示位碼表SBITP_OEP21/顯示控制SBITP_LEP20SBITBUZ0P36/蜂鳴器SBITBUZ1P37/BITB_FOLLOW/啟動零位跟蹤標記BITB_SERIAL/串口發(fā)送完標記BITB_FOLLOWDELAY/第一次不進行零位跟蹤BITB_STEADY/穩(wěn)定標記/VOIDDATATASKVOID/函數(shù)指針變量,接受下一步要做的任務UINTIDATAFENDUSHU/分度數(shù)UCHARWEIGHT_LED6/重量窗顯示緩存UCHARIDATATEMP_VARUCHARWEIGHT_DP/小數(shù)點位數(shù)UCHARFU_NUMBER/負號顯示位置UCHARWDCOUNT/穩(wěn)定計數(shù)UCHARADUP_COUNT/異常值計數(shù)UCHARADDCOUNT3/累加次數(shù)/EXTERNVOIDKEY_SCANVOID/按鍵掃描EXTERNVOIDWEIGHT_DISPVOID/重量計算,超載報警EXTERNVOIDSTART_SETVOID/單片機初始化設置EXTERNVOIDADCVOID/讀取AD值EXTERNVOIDAD_PROCESSORVOID/AD數(shù)據(jù)濾波處理EXTERNVOIDFUN_WEIGHTVOID/正常稱重狀態(tài)EXTERNVOIDBD_STARTVOID/重量或電壓標定選擇EXTERNVOIDDY_DISPVOID/電壓顯示EXTERNVOIDLED_DISPULONGTEMP,UCHARNUMEXTERNUCHARGET_JIAOYANUCHARADDRESS,UCHARNUM/計算校驗字EXTERNVOIDNEIMAVOIDVOIDDELAY60MSUCHARTIME/40MS延時VOIDFENDU_VALVOID/分度數(shù)運算VOIDCHECK_CANSHUVOID/讀參數(shù),并校驗是否正確VOIDVER_DISPVOID/顯示版本號VOIDSEG_CHECKVOID/筆畫檢測/VOIDMAINVOIDSTART_SET/單片機初始化BEEP_TIME3/開機鳴叫FLASH_NUM6/沒有閃爍位SPI_SYS/AD芯片初始化CHECK_CANSHU/讀參數(shù),并校驗是否正確IFBDFSHUDUVAL2/若是異常值,用默認值BDFSHUDUVAL1ADDCOUNT34BDF_DP_TEMPBDFDP/保存小數(shù)點(標定修改參數(shù)時用)BDF_DSEL_TEMPBDFDSEL/保存分度值(標定修改參數(shù)時用)KEY_SCAN/標定按鍵掃描SWITCHKEY_TEMP/功能鍵處理函數(shù)CASE0XC0B_BIAODING1TASKBD_STARTBREAK/DEFAULTBDFDP0VER_DISP/顯示版本號SEG_CHECK/筆畫檢測FENDU_VAL/分度數(shù)運算ZERO_CURRENTAD_STEADY/保存當前零位值TASKFUN_WEIGHTBREAKDO/主循環(huán)程序ADC/A/D采樣AD_PROCESSOR/數(shù)據(jù)處理ZERO_FOLLOW/零位跟蹤程序NEIMA/內(nèi)碼計算WEIGHT_DISP/重量顯示KEY_SCAN/按鍵掃描TASK/任務切換函數(shù)WHILE1/VOIDFENDU_VALVOID/分度數(shù)運算UCHARIULONGTEMPTEMPULONGBDFMAX_WEIGHTNUM_TENBDF_DP_TEMPFENDUSHUTEMP/BDFDSELIFENDUSHU/3000IFI0I1HALF_SEL_BOUND5/BDFBEILV/半個分度的原始碼FOLLOW_BOUNDIHALF_SEL_BOUND/計算零位跟蹤時的原始碼,按3000分度TIME_WEIGHT200/VOIDVER_DISPVOID/顯示版本號及最大量程WEIGHT_LED07/7WEIGHT_LED11/1WEIGHT_LED22/2WEIGHT_LED317/WEIGHT_LED40/0WEIGHT_LED55/5FUN_LED0XFFDELAY60MS15/40MS延時BEEP_TIME3LED_DISPBDFMAX_WEIGHT,5/顯示最大量程WEIGHT_LED015/FDELAY60MS20/40MS延時42信號采樣與A/D轉(zhuǎn)換子程序的設計產(chǎn)生新的A/D值與上一次值累加累加次數(shù)到N否取平均值遞推放入數(shù)組中新值與上一次穩(wěn)定值比較是否接近穩(wěn)定累加次數(shù)N增加提高精度重量送顯示返回A/D數(shù)據(jù)處理采用數(shù)組平均值法YYNN表示是上升過程表示是上升或下降A/D值變化不大如圖43信號采樣與A/D轉(zhuǎn)換子程序的設計EXTERNUCHARCODEADCOUNT23EXTERNBITBAD/已產(chǎn)生AD值EXTERNBITB_WARNLEDEXTERNBITB_STEADYEXTERNBITB_UP_LASTEXTERNUCHARADUP_COUNTEXTERNULONGIDATAAD_STEADY/AD數(shù)據(jù)處理后的穩(wěn)定值EXTERNUCHARADD_COUNT/AD累加計數(shù)器EXTERNULONGIDATAADD_VAL/AD累加值EXTERNUCHARWDCOUNTEXTERNUCHARADUP_COUNT/AD異常值計數(shù)EXTERNUCHARADDCOUNT3EXTERNULONGIDATAUP_VALEXTERNULONGIDATAADVAL/AD芯片采樣值EXTERNULONGIDATALVBO6EXTERNUCHARIDATAFOLLOW_TIME/零位跟蹤時間EXTERNUCHARIDATATIME_WE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 古典園林考試題及答案
- 托育師考試試題及答案
- 認識幾時幾分課件
- 艾滋病與肺結(jié)核防治宣傳教育
- 辦公軟件提升培訓
- 職業(yè)技能培訓實施細則
- 醫(yī)院護理設備管理
- 防冰凌安全教育
- 銀行信用風險培訓
- 2025年中國尿素模塑馬桶座圈行業(yè)市場全景分析及前景機遇研判報告
- 酒店用火用電安全管理制度
- 模具機加工管理制度
- 區(qū)畜牧局十五五總結(jié)及十五五規(guī)劃
- 2025年普通高等學校招生全國統(tǒng)一考試(全國I卷英語)及答案
- 銀行支行安全防范教育培訓制度
- 艾梅乙考試試題及答案
- T/CECS 10363-2024薄壁不銹鋼管件用法蘭及法蘭接頭
- DB31/T 1096-2018醫(yī)院日間手術管理規(guī)范
- 2025年MySQL數(shù)據(jù)庫編程試題及答案
- C++冒泡排序?qū)崿F(xiàn)試題及答案
- DB32-T 5119-2025 鋰離子電池工廠生產(chǎn)安全技術規(guī)范
評論
0/150
提交評論