版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科生畢業(yè)設計多功能電子秤設計The design of multi-function electronic scale學生姓名朱華玲所在專業(yè)自動化所在班級1112申請學位工學學士指導教師職稱副教授副指導教師職稱答辯時間目 錄設計總說明IINTRODUCTIONII緒論11主要元件的選用方案和簡介2控制芯片的選擇及其介紹2PWM模塊2通信模塊(SCI、SPI)2A/D轉換模塊3稱重傳感器的選擇及其介紹3HX711轉換器的介紹6LCD顯示屏的介紹64*4鍵盤的介紹72硬件電路的設計8MC9S12XS128芯片8傳感器模塊的設計8人機交界的設計9電源模塊11報警電路123軟件部分設計13單片機控制
2、設計13設計總程序框圖13主程序設計流程圖14AD轉換程序設計14鍵盤程序設計16LCD顯示程序設計164軟件調試18軟件介紹18調試過程18數據的線性化18鍵盤掃描調試194.2.3 LCD顯示調式19鍵盤功能與顯示調試19結束語20鳴謝21參考文獻22附錄123附錄224設計總說明該多功能電子秤設計系統(tǒng)以MC9S12XS128單片機芯片作為控制核心,用c語言進行軟件設計,實現(xiàn)了電子秤的基本功能。本設計的總思路是通過傳感器的應變效應原理,將重力信號變?yōu)殡娦盘枺俳涍^AD轉換被CPU接收,CPU進行數據處理,然后掃描鍵盤輸入,最后顯示輸出。電子秤硬件設計部分主要由控制模塊、電源模塊、人機通信模
3、塊、數據轉換模塊四大部分構成??刂颇K主要是MC9S12XS128(16位)單片機芯片,用于復雜的數據處理,運行速度比較快,控制啟動AD轉換、鍵盤輸入、LCD顯示輸出、報警等功能。人機通信模塊包括4*4鍵盤輸入、LCD12864點陣顯示屏和蜂鳴器,實現(xiàn)數據輸入、數據顯示、超重報警等功能。數據轉換模塊主要是稱重傳感器和HX711數字(24位A/D)轉換芯片,稱重傳感器是由四個電阻式應變片對稱安裝在鋼體懸梁臂上構成全橋差動測量電路的組合體,是單片機感知重量的橋梁。HX711的作用是模擬量轉換成單片機可以處理的數字量。電源模塊。軟件部分是用c語言進行編譯代碼,比較簡單易懂,是實現(xiàn)電子秤基本的控制功能
4、主要方法,通過Code Warrior軟件進行調試,調節(jié)計算出最佳的參數,使稱重功能更精準。電子稱的的整個系統(tǒng)結構簡單,實現(xiàn)了主要的稱重功能,使用方便,在實際生活中具有比較高的使用價值。電子稱在現(xiàn)實生活中有比較大的作用,是交易最重要的手段。但在很多市場交易中,電子秤還是不能普及,偶爾還有商人在秤上作假,因此制作多功能電子秤,在為人們提供便利上有一定的意義。制作電子秤,選擇MC9S12XS128單片機,是設計任務要求,是我沒有接觸過的芯片,這要求利用舊知識去拓展去學習新事物,對如何吸取新知識有很好的幫助。本設計的標準基于如何正確使用MC9S12XS128單片機,如何設計硬件電路和實現(xiàn)稱重功能,使
5、數據精度提到最高。該設計的原則是先寫出總的程序流程圖,在寫各個模塊的程序流程圖,最后通過一定的關系將所有程序連接起來,編程也根據流程圖來寫,整個程序簡單、有條理性、易懂,方便程序員理解。本人在設計中不斷學習,從實際上做出了可以實現(xiàn)稱重功能的電子秤實物。但本次設計還有地方可以創(chuàng)新,進一步完善和提高,有非常大的發(fā)展空間。電子稱設計還可以深入研究,可以把人們平常更多繁瑣的事通過單片機控制變?yōu)榈酶臃奖?。秤不再是以前的桿秤,現(xiàn)在的稱更趨向智能化,多功能化。關鍵詞:單片機;稱重傳感器 ;HX711轉換器 ; 12864顯示屏;鍵盤INTRODUCTIONThe design system of the
6、multifunctional electronic scale bases on MC9S12XS128 single-chip as control core, using c language to make software design, realized the basic function of electronic scale came true. The total train of thought of the design is that , firstly making use of the strain effect principle of sensor, tran
7、sforming gravity signal to electrical signal, and after AD transform the signal is received by the CPU, CPU deal withreceived data and then scan the keyboard, the last output to display screen. Electronic balances hardware design part mainly consists of control module, power supply module, man-machi
8、ne communication module, data conversion module. The control moduleIs mainly MC9S12XS128 (16bits) microcontroller chips, used for complex data processing, the operation speed is faster, which control to functions that include start the AD conversion, keyboard input, LCD display output, alarm and so
9、on. Man-machine communication module includes 4 * 4 keyboard input, LCD12864 display screen without matrix and a buzzer, accordingly realizing the of data input, data display and overweight alarm. Data conversion module mainly weighing sensor and HX711 digital (24 bits A/D) conversion chip, weighing
10、 sensor is made up of four resistive strain gauge which aresymmetrically installed on the steelbracket arm and Constitute the whole bridge differential measurement circuit, that is the bridge of microcontroller's perception of the weight. HX711 role is to make analog convert into digital quantit
11、y single chip can handle. Power module is mainly providing stable working voltage to the single chip microcomputer, display and sensors, the function is converting 6 V to 12 V to 5 V and 3.3 V two stable voltages. Software part is compilingcode with the c language, and the procedure is easy to under
12、stand, is the main method of realizing base control functions of electronic scale, using the software Code Warrior to debug and adjust the parameters of calculate the best, make the weighing function more accurate. Design realizes the function of the main weighing and electronic the whole system of
13、scaleis simple,easy to use, has higher use value in real life.Electronic scale plays greater role in real life, is the most important means of trade. But in a lot of market transactions, electronic balances are still not popularize, and occasionally businessmen cheat on scales, thus making multifunc
14、tional electronic scale has certain significance on provide convenience for people. In electronic scale design, choosing MC9S12XS128 single chip microcomputer, is a design task requirement, that is chip I have no contact with.This requires using the old knowledge to expand to learn new things, to ab
15、sorb new knowledge ,which have very good help for me. This design standard is based on how to correctly use MC9S12XS128 single-chip, how to design the hardware circuit and the function of weighing which make data precision more high. The principle of this design is to first draw the general program
16、flow chart and paint flow chart of the various modules, at last, all the procedures connects through a certain relationship, programming according to the flow chart and the whole program will be simple, organized, and easy to understand, easier to understand for programmers.I keep on learning in the
17、 design, I made out the scale that can realize electronic weighing function. Anywhere but the design still has more space to innovation and can be further perfect and improved, have the very big development space. Electronic scale design can make a in-depth study, it can make usual trval things more
18、 easier by single chip microcomputer control. That is no longer a previous steelyardscale ,and now,it tend to be more intelligent, more functional.KEYWORDS: singlechip ;weighing sensor;HX711 transverter;12864displaye screen;keyboard緒論秤,是一種測量物體質量的衡器。自古以來,隨著秤的出現(xiàn),解決了交易中出現(xiàn)的量的問題,使賣家和買家之間交易更加和諧,使賣家的商品得到最大
19、利益化,使買家的所買的量得到保證。秤在人們生活交易中已經是一種非常重要的衡量工具,進一步促進商業(yè)的發(fā)展,秤在交易中起到了很大的促進作用,其作用地位很大。世界上最早最原始的秤使古埃及人發(fā)明的,當時的秤使懸掛式的雙盤秤,就是有兩個秤盤別分掛在稱梁的兩端,主要用來稱麥子的。中國發(fā)明稱的人是范蠡,他發(fā)明了如今還在使用的桿秤,一邊掛物品,另一邊移動秤砣,稱桿平衡后觀察秤砣所處在位置的標號,便可知道物品的重量。隨著社會的進步,科技不斷發(fā)展,隨著單片機的出現(xiàn),電子產品也接著開始出現(xiàn),電子秤是其中的一種發(fā)明。隨著技術的提高,材料元件也逐漸越廉價,電子秤慢慢開始取代了桿秤,成為現(xiàn)在交易中首選工具,基本在商業(yè)交易
20、場所隨處可見。隨著電子秤的智能化,電子秤不只是單單顯示重量,還更多的參與到數據處理和過程控制。隨著稱重傳感器的精度的提高,電子秤的精度也不斷提升,其功能也越來越多,應用方面也很廣泛。因此,稱重技術和稱重傳感器的研究受到世界各國的重視,是決定電子秤的量程精度。稱量產品技術的高低,將直接影響到各領域的經濟效益。所以,研究電子秤的設計有非常重要的意義。多功能電子秤的目的在于學習單片機系統(tǒng)的應用,使所學的知識得到體現(xiàn),其設計意義是在學習研究設計過程中有所創(chuàng)新,學習利用單片機實現(xiàn)更多的功能,為人民生活創(chuàng)造更多的方便。多功能電子秤設計1 主要元件的選用方案和簡介1.1 控制芯片的選擇及其介紹單片機是整個硬
21、件控制系統(tǒng)的核心,對于單片的選擇也有很大的要求。單片機體積小,運算功能強大,在科技發(fā)達的社會上,很多電子產品都有單片機作為控制核心,如今大部分電子產品都離不開單片機了。其中c51系列的單片機價格低廉,且在生活中使用很普遍,以C51系列為主的產品都是比較小型的控制設計。(1)、C51系列單片是一款美國Intel公司在MCS-48系列8位單片機基礎上研發(fā)的高檔8位單片機,是我國目前使用最廣的單片機系列。該單片機主要部分有算術邏輯部件、寄存器、定時控制部件、程序存儲器等等。其指令簡單易懂,能實現(xiàn)大部分的簡單常見的功能。(2)、Mc9s12xs128單片機是Freescale公司的HCS12X系列的一
22、種主要產品,是制作智能車的首選芯片。MC9S12XS128是16位的單片機,其中央處理單元是十六位,運算速度比C51系列的單片快;其片內儲存器包括128KB程序Flash、8KB數據Flash和8KB RAM,可以裝下較長的程序。該單片機內部有EPPROM模塊,不需要外加掉電保存電路,自帶可調的時鐘源,無需外加時鐘電路。該單片機主要功能模塊有PWM模塊、通信模塊(SCI、SPI)、定時模塊、AD轉換模塊、EEPROM模塊、FLASH模塊。對于設計電子秤,C51單片機基本能把電子稱的所有功能實現(xiàn),但隨著社會科技的發(fā)展,數據也會越來越復雜龐大,8位C51單片機會逐漸被淘汰,現(xiàn)在16位、32位的單片
23、機開始慢慢取代它。因此,選擇使用Mc9s12xs128芯片,目的是在C51單片機的基礎上學習新的知識,拓展新視野。下面是Mc9s12xs128芯片主要模塊的介紹。1.1.1 PWM模塊PWM模塊主要是輸出特定占空比從0100%變化的程序脈沖波,主要應用于電機轉速的PWM控制。PWM模塊有8個輸出通道,引腳號為M7M0八個端口,每一個輸出通道都可以獨立的進行輸出,互不影響,達到可以同時控制多個目標。1.1.2 通信模塊(SCI、SPI)SCI是一種采用NRZ格式的異步串行通信接口,是CPU與外設之間進行的數據交換的一種通信,它內置獨立的波特率產生電路,可以設置多種波特率;它還內置SCI收發(fā)器,接
24、受發(fā)送數據程序,發(fā)送的程序數據一般是9個位的,其中一位是奇或偶校驗位,方可保證數據在傳送的過程中沒有丟失。在兩個通信模塊設定好波特率后,導入傳輸驅動程序便可實現(xiàn)通信。SCI模塊是全雙工異步串行通信接口模塊,主要用于不同類型設備之間的通信,比如藍牙傳送,其特點是局限性廣,傳輸準確率高,但效率低。SPI主要用于同步串行通信。同步串行通信,通常先發(fā)12個字符作為數據傳送的開始,稱為同步字符,檢測到該字符后緊接著連續(xù)按順序傳送數據,中間沒有空閑位,沒有停止位和開始位,傳輸速度很快。SPI通信主要用于單片機與單片機之間的通信,同類型設備的通信,其優(yōu)點傳輸速率快,效率高,但局限性小。1.1.3 A/D轉換
25、模塊A/D轉換模塊是C51系列所沒有的模塊,Mc9s12xs128內置A/D轉換電路,AD轉換是不需要注意引腳之間的電路狀態(tài),只要將該模塊初始化,設置好其內寄存器就能進行A/D轉換。該模塊共有兩個方塊,每個方塊各有8個輸入通道,引腳號是D0D15。A/D轉換精度有8到10 位;每個轉換通道都有轉換完成中斷,用于采集數據。1.2 稱重傳感器的選擇及其介紹稱重傳感器一個十分重要的元件,是整個電子秤功能是否能實現(xiàn)的基礎,決定一個電子稱質量的高低程度。稱重傳感器相當于人的五官,將外界的信息傳達給大腦芯片進行處理。稱重傳感器主要是把重力信號轉換為電信號,能實現(xiàn)這功能的傳感器有電容式傳感器、壓電傳感器、電
26、阻式應變傳感器。電容式傳感器是建立在電磁感應原理基礎上,具有工作可靠、壽命長、靈敏度高、精度高、性能穩(wěn)定等優(yōu)點,但做工復雜,價錢高。壓電傳感器是由有壓電效應的材料制作而成,其結構簡單、體積小、精度高,一般平常生活很少使用。電阻式傳感器的基本原理是將被測量的變化轉化為電阻的變化,再經過測量電路將電阻變化轉變成電信號,再經過濾波放大等處理得到測量結果。其結構簡單,價格低,在生活中的應用普遍。由于考慮到其設計的電路難易程度和其性價比等因素,選用電阻式應變傳感器是最適合的。電阻式應變傳感器的核心是電阻式應變片,本設計采用的應變片的格式為,靈敏系數:2.0±1%,其精度高、穩(wěn)定性好、使用方便。
27、應變片是一片電阻值隨著受到壓力或拉力的影響從而發(fā)生有規(guī)律變化的彈性元件。但由于應變片比較小,其電阻變化容易受到外界多種因素影響使其產生誤差,比如電阻溫度系數的影響、電阻材料的線膨脹系數的影響等等。因此為了減少誤差,提高其靈敏度,采用電橋測量電路進行誤差補償。電橋測量有單電橋、半橋差動電橋、全橋差動電橋。全橋差動電橋靈敏度最好,誤差最小。單電橋電路圖如下: 圖11電橋電路E為電源電壓,R1、R2、R3及R4為橋臂電阻,RL為負載電阻。當電橋平衡時,Uo=0,則有R1R4=R2R3當電橋電路只有一個應變電阻時,其靈敏度為:E當R1=R2=R3=R4時,電橋電壓靈敏度最高,此時有半橋差動和全橋差動電
28、路如下圖1-2,圖1-3:圖12半橋差動電路 圖1-3全橋差動電路其靈敏度分別為經過電阻變化公式轉換可以清楚地體現(xiàn)出全橋差動測量電路的優(yōu)勢,因此本設計中采用全橋差動測量電路可以更好的保證電子稱的精度,減少應變片內部和外界誤差。1.3 HX711轉換器的介紹Mc9s12sx128單片機內集成了AD轉換模塊,其分辨率最大只有10位,這對于電子秤來說是不夠的,因此外加了HX711轉換器。HX711是一款A/D轉換精度為24位的芯片,采用了海芯科技集成電路專利技術,對于數據精度要求高的是個很好的選擇,也是稱重傳感器AD轉換的最佳選擇。該芯片內置穩(wěn)壓電源和自帶時鐘,其輸入引腳可以接差分輸入,兩種模擬輸入
29、通道,內置可編程放大器,無需外接放大電路。其特點是響應速度快、抗干擾性強精度高等優(yōu)點。引腳功能如圖:圖1-4HX711引腳1.4 LCD顯示屏的介紹從顯示屏起源與七段顯示數碼管,從LED發(fā)展到LCD,顯示屏給人類帶來了視覺新體驗,給人們傳送豐富的信息。顯示屏的數據顯示是單片機給人提供的最直觀的通信,根據不同要求選擇適合的顯示屏。要求要顯示中文和字符的選擇點陣式LCD顯示屏,LCD顯示屏有LCD1602、LCD12864等等規(guī)格。根據實際情況,選擇YAOXY12864為最佳。YAOXY12864液晶顯示模塊,顯示屏是藍屏,外觀尺寸有93*70*12.5mm視域有73*39mm,一共有20個引腳,
30、8個并行數據引腳,兩對電源引腳(需要同時通5V電顯示屏才亮),一個讀寫信號引腳,一個片選引腳,一個使能引腳,一個串口并口選擇引腳。該顯示屏可以通過編譯點亮不同的點顯示不同的圖案、字符和文字,這是最基本最原始的顯示方法,同時也是復雜工程量很多的方法。該顯示屏內部包含了16*16和16*8點陣的基本的中文漢字(8192個)、8*16點陣的字符(128個)的字庫,其優(yōu)點就是不用對要顯示的字符文字進行相應的編字模數據,可以直接向LCD芯片直接發(fā)送相應字符文字的字符數據就可以將其顯示。一般的LCD都是并行數據線,該芯片還有串口方式和并口方式傳輸數據,可以根據與MCU數據接口的實際情況進行選用。串行方式編
31、程比較復雜點,無需接八個數據線引腳,往顯示芯片寫數據要將數據進行特定處理,才能將數據一位一位的隨著串行鏈接時鐘時序傳輸;并行串口不需要將數據處理,在寫好命令字給寫信號方可向LCD寫數據,程序簡單易懂。1.5 4*4鍵盤的介紹如今鍵盤在以單片機設計的產品中是幾乎不可缺少的,鍵盤在人與單片機交接的過程中有著非常重要的作用,基本是所有單片機數據輸入的首選工具。它們是計算機應用系統(tǒng)必不可少的輸入、輸出設備,是控制系統(tǒng)與操作人員之間交互信息的窗口、鍵盤并不陌生,電腦專用的鍵盤、計算器的按鍵等等其最終目的是一樣的。用于單片機的鍵盤設計有很多格式,根據不同的要求,按鍵數也不同,比如有最簡單的每個I/O口只有
32、一個按鍵的鍵盤,有4*4矩陣鍵盤、8*4矩陣32按鍵鍵盤等等。按照電子秤功能要求,提高I/O端口的利用率,選擇4*4矩陣鍵盤。4*4鍵盤一共有16個按鍵,8個引腳。按鍵的閉合與否,取決于按鍵開關的通斷狀態(tài),因此通過給一定的電信號檢測各引腳的高低電平狀態(tài)便可確定是否有按鍵按下和按鍵的位置。鍵盤輸入要注意重鍵、按鍵連擊、按鍵抖動等問題。這些問題需要設計者在編程時作特殊處理,比如按鍵程序采取單鍵按下有效多鍵按下無效原則,軟件程序采取程序濾波防抖動等。2 硬件電路的設計2.1 MC9S12XS128芯片 MC9S12XS128芯片是整個系統(tǒng)的核心,其運算功能很強大,處理數據很強。其引腳比較多,多用于設
33、計輸入輸出比較復雜的作品。其芯片如下圖圖2-1 MC9S12XS128芯片2.2 傳感器模塊的設計稱重傳感器部分由電子稱托盤、懸臂橫梁、應變片、HX711轉換器構成。為了提高重力測量的靈敏度,采取全橋差動測量電路;為了提高測量數據精度,采用HX711芯片提高24位AD轉換。使得到的數據更準確,使誤差最小,在安裝4片應變片時,要兩片在懸梁上,兩片在懸梁下,上面兩兩位置對稱,上下兩片也要對稱,且相鄰兩片應變片要兩兩受力方向相反,如圖圖2-2應變片安裝圖HX711芯片與電橋的連接設計電路如下圖2-3 HX711接線圖2.3 人機交界的設計LCD12864顯示屏引腳功能如下:引腳1:GND,顯示屏的電
34、源地引腳2:VCC,接工作電源+5V引腳3:V0,LCD驅動電壓輸入引腳4:RS(CS),并行指令、數據選擇信號;串行的片選信號引腳5:R/W(SID),并行的讀寫信號;串口的數據串行傳輸口引腳6:E(CLK),并行使能信號;串行的同步時鐘引腳714:DB0DB7并行的數據口引腳15:PSB,并行/串行選擇:H并行,L串行引腳16:NC,空引腳引腳17:RST,復位,低電平有效引腳18:VOUT,倍壓輸出口,可懸空引腳19:LED_A,背光源正極+5V(點亮屏幕)引腳20:LED_K,背光源負極根據引腳的功能,和結合單片機的引腳用法,采用并行傳輸數據方式,程序簡潔易懂且CPU運算速度也比較快。
35、用單片機的引腳M0M7作為數據口,K0K3作為LCD的信號口,設計LCD12864芯片引腳端口接線如下:圖2-4 LCD接線圖4*4鍵盤設計使用單片機的A0A7引腳作為鍵盤輸入的I/O口,讓每一個按鍵有規(guī)律連接在兩個I/O引腳上,方便軟件編程,為了使電路簡單,沒有加硬件防抖動電路,在程序加濾波去抖動。如圖:圖2-5鍵盤原理圖2.4 電源模塊根據設計中元件的要求,單片機的工作電壓是5V,傳感器所需電壓5V,LCD顯示需要提供兩個5V電壓。一共需要四個電源端口,一種電壓。設計電源電路5V穩(wěn)壓電壓是主要核心,使用穩(wěn)壓芯片設計DC-DC減壓電路,如圖圖2-6 電源電路2.5 報警電路超重報警相對來說是
36、最簡單的,只需要一個蜂鳴器就能實現(xiàn)。在硬件設計中,為了能讓蜂鳴器響但又不能影響芯片工作電壓,其電路設計如下:圖2-7報警電路3 軟件部分設計3.1 單片機控制設計3.1.1 設計總程序框圖稱重傳感器HX711MC9S12XS1284*4鍵盤輸入LCD顯示報警圖3-1程序總設計3.1.2 主程序設計流程圖開始初始化按鍵開去皮調零接受AD轉換數據鍵盤輸入鍵盤程序數據處理超重報警報警程序顯示按鍵關結束凋零程序YYYNNNYNNY圖3-2主程序流程圖3.2 AD轉換程序設計 HX711轉換芯片有固定的工作方式,轉換數據需要按照特定的時序進行,因此轉換程序必須嚴格按照時序圖來寫,才能得到正確的數據。其時
37、序圖如下:圖3-3 HX711AD轉換時序圖根據時序圖,其軟件流程圖設計如下:儲存數據DOUT引腳輸入使能DOUT是否為低電平寫時鐘脈沖時序DOUT是否為1數據左移+1是否到第24個時序第25個時序數據處理數據左移+0YNYNYN圖3-4 AD轉換流程圖3.3 鍵盤程序設計判斷鍵盤是否有按鍵按下和識別按鍵的方法有程控掃描法、定時掃描法、中斷掃描法。由于該設計的程序量不是很大,CPU的運算時間短,因此采用程序掃描法。圖3-5鍵盤設計流程圖3.4 LCD顯示程序設計該設計的LCD顯示屏自帶中文字庫,不需要對要顯示的文字和字符進行計算字模點陣,直接向顯示屏發(fā)送相應字符即可。顯示程序采用串行行傳輸,寫
38、入數據需要嚴格根據時序來寫,其串行時序圖如下圖3-6 LCD串行時序LCD流程圖如下:C開始顯示初始化選擇地址返回寫指令程序顯示字符寫數據程序圖3-7 LCD設計流程圖4軟件調試CodeWarrior是MC9S12XS128單片的專用程序編程軟件。Codewarrior development studio是比較完整的編程開發(fā)環(huán)境,包括構建平臺和應用所必需的所有主要工具 - IDE、編譯器、調試器、編輯器、鏈接器、匯編程序等。另外,CodeWarrior IDE支持開發(fā)人員插入他們所喜愛的工具,使他們可以自由地以希望的方式工作。CodeWarrior開發(fā)工作室將尖端的調試技術與健全開發(fā)環(huán)境的簡
39、易性結合在一起,將C/C+源級別調試和嵌入式應用開發(fā)帶入新的水平。開發(fā)工作室提供高度可視且自動化的框架,可以加速甚至是最復雜應用的開發(fā),因此對于各種水平的開發(fā)人員來說,創(chuàng)建應用都是簡單而便捷的。它是一個單一的開發(fā)環(huán)境,在所有所支持的工作站和個人電腦之間保持一致。在每個所支持的平臺上,性能及使用均是相同的。無需擔心主機至主機的不兼容。CodeWarrior開發(fā)工作室包括完成大多數嵌入式開發(fā)項目所需的所有工具。4.2調試過程調試過程主要的方面有:調節(jié)傳感器使AD轉換的數據趨向線性化,計算出線性參數;鍵盤輸入是否能實現(xiàn)各個按鍵所要求的功能;顯示屏是否能正常顯示。遇到問題:AD數據線性度低解決方案:使
40、隨著重量的不同得到一組線性變化的AD轉換數據,首先要檢查數據轉換程序是否能夠正常的接收數據。確定AD轉換正常后,稍微改動應變片的安裝位置使四個應變片受力更加平衡,使得到的數據在量程范圍內呈線性分布。得到一組數據后,為了算出更加符合實際更精準的線性比例從而提高電子稱的測量精度,使用最小二乘法來求出其擬合直線。最小二乘法是一種數學優(yōu)化算法,是通過最小誤差的平方和尋找到與數據匹配的最佳函數。其公式為結果:經過調節(jié),得到了一條比較直的重量-數據的線性曲線。掃描調試遇到問題:按鍵無效。解決方案:觸按下4*4矩陣鍵盤按鍵,用萬用表檢查按鍵是否好連通,確定鍵盤是否完好;在code warrior軟件調試中檢
41、查鍵盤輸入程序部分,檢查是否有正確的數據狀態(tài)變化,確定是否有鍵盤信號輸入,同時觀察顯示屏的數據是否顯示正確、是否能實現(xiàn)鍵值功能。通過不斷修改掃描程序減少程序誤操作;修改按鍵查詢調用程序完善各個鍵值的功能。結果:全部按鍵輸入有效。4.2.3 LCD顯示調式遇到問題:1、不能顯示字符2、不能正確顯示字符。解決方案:1、 硬件部分:檢查LCD12864顯示屏的功能引腳是否連接正確,檢查數據線有沒有與單片機相應的IO口正確連接;軟件部分:檢查LCD的寫命令字和寫數據代碼是否正確,檢查寫數據時是否按照串行行的時序來傳送數據。2、 檢查字符字模是否正確和向LCD傳送數據的程序是否有差錯。結果:正確顯示漢字
42、,數字,符號。遇到問題:1、 鍵盤輸入數據顯示不對。2、 動態(tài)數據顯示亂碼。解決方案:1、 檢查鍵值子程序,動態(tài)輸入顯示地址,注意多次按鍵的顯示數據之間的正確處理。2、 AD轉換的數據經過正確的處理,將每一位數(帶小數點)轉變?yōu)橐唤M字符串進行輸出顯示。結束語經過長時間的努力,最終制作出了實物。經過這次設計,我學到了很多新知識,得到了不少實踐的經驗,這對我來說是一筆非常重要的財富。在設計中,遇到了不少困難和挫折,首先沒有接觸過MC9S12XS128系列16位的芯片,這需要花一段時間是學習和探索;其次是制作和編程調式過程是最重要的,特別是在寫程序時涉及到時序問題的程序,這讓我知道了解時序的重要性。
43、在調試過程必須要保持多方面思考和要有耐心,最后才能成功。本設計讓我受益匪淺,讓我學會了如何獨立自主去學習,讓我知道在遇到困難時要保持冷靜,這對我以后面向社會有很大的幫我。學習了16位的單片機,讓我知道了所有的單片機其實是建立在C51系列基礎上的,加上編程軟件的出現(xiàn),讓人們更加容易去應用單片機。學會使用MC9S12XS128單片機,這在電子時代的社會對我在電子業(yè)發(fā)展有重大幫助。鳴謝本次課題設計在選題中得到徐今強老師的建議,在制作過程中遇到問題也能得到老師的指導。在設計期間,徐今強老師多次詢問我們的設計的進度,監(jiān)督我們的進程,并向我們指導正確的方向,為我們的設計和論文著想。老師教我們的東西使我終身
44、受益,在此表達我對徐今強老師的感激之情。老師的解惑之道,是我們一生的財富。老師的辛勤付出,只為莘莘學子的學成歸來。在此致敬我們所有偉大可愛的老師!同時在制作過程中免不了請教同學,我也感謝同學的幫助,才能使設計更加完美。最后,感謝大學四年來的所有老師們,和同窗四年的同學們,還有在身邊默默付出的家人,有了你們的指導和幫助,才有今天的我,正因為有你們的陪伴,我的生活才如此多姿多彩。謝謝參考文獻1 陳萬忠.MCS12單片機原理及嵌入式應用開發(fā)技術M.機械工業(yè)出版社,2012.92周美娟,肖來勝.單片機技術及系統(tǒng)設計M.3胡向東,劉京誠,余成波等.傳感器與檢測技術M,機械工業(yè)出版社 2009.1M,清華
45、大學出版社,5羅先覺.電路M,高等教育出版社M,MMM9MM11Microchip.Microchip ECHB VPDATEIM.1995/1996.12Multi-scale investigation of electronic transport and electromechanical behavior in carbon nanotube materials.Volume 42,issue8,december2011附錄1主要元件列表元件數量元件數量MC9S12XS128單片機1YAOXY12864顯示屏1鍵盤按鈕16HX711轉換器1應變片4蜂鳴器1鋼鐵塊1電池1電子稱托盤25
46、V穩(wěn)壓芯片48電容100uF8附錄2#include <hidef.h> #include "derivative.h"#include<MC9S12XS128.h>#include"math.h"#include"getad.h"#include"keyboard.h"#include"Diplay.h"#include”LCD”#include uchar unsigned char#include uint unsigned intunchar price=&quo
47、t;單價:"uchar sum="總價:"uchar weight ="重量:"uchar yuan ="元"uchar number="0 ","1 ","2 ","3 ""4 ","5 ""6 ","7 ","8 ","9 ","."/*主程序*/void SetBusCLK_48M(void);void
48、 IO_Int(void);void delay_100us(uint t);void sendbyte(uchar data);void write_com(uchar cmd);void write_data(uchar displaydata);void lcd_init(void);void LCD_displaytring(uchar x,uchar y,uchar *s);void display(void);unsigned long Read_AD(void);float Get_AD_data(void);float deal_data(void);float qupi(vo
49、id);float data_convert_string(uchar data);void keyscan(void);void Keyboard_data(int ab )void SetBusCLK_48M(void) CLKSEL=0x00; PLLCTL_PLLON=1; SYNR=0XC0 | 0X05; REFDV=0X80 | 0X01; POSTDIV=0X00; _asm(nop); _asm(nop); while(0=CRGFLG_LOCK);/鎖相環(huán)鎖定 CLKSEL_PLLSEL=1;/選定外部時鐘void DDRA(void)DDRA=0X1F;DDRK=0X12
50、;void main(void) SetBusCLK_48M();IO_Int();for(; ; )keyscan();display( );if(kg>10.00)PORTK_PK4=1;/超重報警else PORTK_PK4=0;/*LCD顯示*/#define DATA 0xfa#define CMD 0xf8#define CS PORTA_PA0#define SID PORTA_PA1#define SCLK PORTA_PA2#define RST PORTA_PA3#define PSBPORTA_PA4void delay_100us(uint t);uint i,j
51、;for(i=0; i<t; i+) for(j=0; j<10; j+);void sendbyte(uchar data)/按照串口傳輸時序,數據按八位來傳輸uint i;for(i=0; i<8; i+)if(data << i) & 0x80)SID=1;else SID = 0;SCLK = 0;SCLK = 1;void write_com(uchar cmd)/寫指令CS = 1;sendbyte(CMD);sendbyte(cmd)& 0xf0);sendbyte(cmd << 4) & 0xf0);delay_
52、100us(2);void write_data(uchar displaydata)/寫數據CS = 1;sendbyte(DATA);sendbyte(displaydata)& 0xf0);sendbyte(displaydata << 4) & 0xf0);delay_100us(2);void lcdinit(void) RST = 0;delay_100us(100);RST = 1;Delay_100us(20000);write_com(0x30);/選擇8bit數據流delay(50);write_com(0x0c);/開顯示(無游標、不反白)de
53、lay_100us(50);write_com(0x01);/清屏delay(50);void LCD_displaytring(uchar x,uchar y,uchar *s)uchar ListLength,X2; ListLength = 0; X2=x; if(y<1)y=1; if(y>4)y=4; x &= 0x0F; /限制x不能大于16,y在1-4之內 switch(y)case 1:X2|=0X80;break;/根據行數來選擇相應地址case 2:X2|=0X90;break;case 3:X2|=0X88;break;case 4:X2|=0X98;
54、break;Write_com(X2); /發(fā)送地址碼 while (sListLength>=0x20) /若到達字串尾則退出 if (x <= 0x0F) /X坐標應小于0xF write_data(sListLength); / ListLength+;x+; delay_100us(50); void display(void)if(open=1)lcdinit();LCD_displaytring(3,1,“電子稱設計”);LCD_displaytring(0,2,“重量:”);Get_AD_data( );data_convert_string(weigh);LCD_displaytring(4,2,s);LCD_displaytring(14,2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- NB/T 11536-2024煤礦帶壓開采底板井下注漿加固改造技術規(guī)范
- 《市場調查課程考核》課件
- 《電化學催化》課件
- 《小學生說明文》課件
- 單位管理制度集合大合集【職員管理】十篇
- 單位管理制度匯編大合集【職工管理篇】
- 單位管理制度合并匯編職員管理篇
- 《淋巴結斷層解剖》課件
- 單位管理制度分享合集人事管理
- 單位管理制度范文大合集人員管理十篇
- 教師朗誦稿《幸福》(7篇)
- 數據安全應急響應與處置
- 2023漢邦高科安防產品技術參數和檢測報告
- 急診課件:急性呼吸困難完整版
- 唐詩宋詞鑒賞(第二版)PPT完整全套教學課件
- 超聲診斷學-乳腺超聲診斷
- 管工初賽實操
- 門診病歷書寫模板全
- 2023年房屋租賃管理模板
- 液壓與氣壓傳動中職PPT完整全套教學課件
- 國開大學2023年01月11067《知識產權法》期末考試答案
評論
0/150
提交評論