C51C52單片機實現減法秤要點_第1頁
C51C52單片機實現減法秤要點_第2頁
C51C52單片機實現減法秤要點_第3頁
C51C52單片機實現減法秤要點_第4頁
C51C52單片機實現減法秤要點_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、上海第童*學課程設計論文課程名稱學院專業(yè)班級學號單片機減法秤報告電子與電氣自動化11自動C1學生姓名單片機減法秤設計報告一、方案設計1、采用高精度電阻應變式壓力傳感器, 測量量程 0-5kg ,測量精度達 5g。2、采用電子秤專用模擬 /數字( A/D )轉換器芯片 hx711 對傳感器信號進 行調理轉換, HX711 采用了海芯科技集成電路專利技術,是一款專為高精度 電子秤而設計的 24 位 A/D 轉換器芯片。3、采用 STC89C52 單片機作為主控芯, 實現稱重、 計算價格等主控功能。4、采用 128*64 漢字液晶屏顯示稱重重量、單價、總價等信息。5、采用 4*4 矩陣鍵盤進行人機交

2、互,鍵盤容量大,操作便捷。6、具有超量程報警功能,可以通過蜂鳴器和LED 燈報警。7、系統(tǒng)通過 USB 電源供電,單片機程序也可通過 USB 線串行下載。8. 黑金剛配套的 28BYJ48 5V 驅動的 4 相 5 線的步進電機二、硬件設計1、硬件方案( 一):稱重傳感器感 稱重傳感器感應被測重力,輸出微弱的毫伏級電壓信號。該電壓信號經 過電子秤專用模擬/數字(A/D)轉換器芯片hx711對傳感器信號進行調理轉 換。 HX711 采用了海芯科技集成電路專利技術,是一款專為高精度電子秤而 設計的24位A/D轉換器芯片,內置增益控制,精度高,性能穩(wěn)定。HX711芯片通過 2 線串行方式與單片機通信

3、。單片機讀取被測數據,進行計算轉換, 再液晶屏上顯示出來。電阻應變式傳感器測量原理如圖 2所示5V*J圖3測量電橋原理(二)、電子秤專用24位AD轉換芯片HX711及其電路該芯片與后端 MCU芯片的接口和編程非常簡單,所有控制信號由管腳驅動,無需對芯片內部的寄存器編程。輸入選擇開關可任意選取通道A或通道B,與其內部的低噪聲可編程放大器相連。通道A的可編程增益為128或64,對應的滿額度差分輸入信號幅值分別為土20mV或土 40mV通道B則為固定的32增益,用于系統(tǒng)參數檢測。芯片內提供的穩(wěn)壓電源可以直接向外部傳感器 和芯片內的A/D轉換器提供電源,系統(tǒng)板上無需另外的模擬電源。芯片內的 時鐘振蕩器

4、不需要任何外接器件。上電自動復位功能簡化了開機的初始化過 程。HX711內部方框圖如圖4所示。其外部管腳如圖 5所示。圖4 HX711內部方框圖本課題設計的HX711電路如圖7所示:(三)步進電機選擇步進電機的主要特性:1、步進電機必須加驅動才可以運轉,驅動信號必須為脈沖信號,沒有脈沖的時候, 步進電機靜止,如果加入適當的脈沖信號,就會以一定的角度( 稱為步角)轉動。轉 動的速度和脈沖的頻率成正 比。2、步進電機具有瞬間啟動和急速停止的優(yōu)越特性3、改變脈沖的順序,可以方便的改變轉動的方向。因此,目前打印機,繪圖儀,機器人,等等設備都以步進電機為動力核心。1、如果不考慮數據鎖存功能,步進電機的擴

5、展板電路可以簡化為下圖:ULN2D03+VCCAPD.12PO.23PO.34-8 0.0曰日日白日日曰1 2 3 4 5 6 7 -Ec cccccc MCN2vAIBe D+VCCC2 47U/1W程序設計(四)、單片機STC89C52及其電路STC89C52單片機概述STC89C5系列單片機是宏晶科技生產的單時鐘/機器周期(1T)的單片機,是 高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng) 8051, 但速度快8-12倍,內部集成MAX81C專用復位電路。本課題設計的電子秤的單片機應用電路如圖 9所示:1O1FendU1STC89C52alert2IW43ROW34

6、DOUT5PDSCK6SOZFL7SI ZK8RXD10TXD11RQW212ROW!13COL114COL215COL316COL417VJ1Pl QPl.lP1J3Fl .4Pl_5Pl 6Pl.7RXDJTP3.0 TXD/P3.1 fIrr6jP3-a LNTUP3.3 T0/P3.4 TUP3.5 WRnP3,6 RD/P3.7OAPOO/ADOP0.1/AD1FO.2/AD2P0.3AD3P0.4/AD4P0.3/AD5 PO 6XAD6 PO.7/AD7 ALE/PRQC PSEN P2.7;A15 P2.6/A14 P2_S/A13 P2.47A12 P2.3/A11 P2.2

7、/A10 P2.UA9 P2.O/A8393837363534333227LCD.RES26LCD RS25LCDJSDA24LCD SCK23LEDA22cs藝瓷21sck ZKCiN2uFC4 I ;O-IuF圖9 STC89C52單片機電路(五)、液晶屏電路LCD顯示電路LCD JLX12864G圖10 LCD顯示電路液晶屏電路如圖 10 所示。LCD_CS、LCD_RES、LCD_RS、LCD_SDA、LCD_SCK為液晶模塊與單片機接口的控制線。CS_ZK、SCK_ZK、SO_ZK和SI ZK為字庫和單片機接口的控制線。(六)、矩陣鍵盤電路矩陣鍵盤電路如圖11所示:號為R0W1 R0

8、W4,列掃描信號為 C0L1 C0L4。(七).電源電路本設計采用USB接口供電,電源電壓5V。同時,USB接口通過內含PL2303 芯片的轉換電路對單片機進行程序編寫。其電路原理如圖所示。J22 P0WER2USB電源及下載接口1234GNDrtmTXD-JU H)限XD 攢 USB 綠 iTXTh4fil aXD接U/B 白銭RXn(八)軟件設計主程序軟件流程如圖21所示圖21主程序流程圖3、主程序下面介紹main.c主程序編寫,其他程序略。#i nclude mai n.h#i nclude HX711.h#i nclude LCD1602.h/un sig nedunsigned ch

9、ar code CCW8=0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09; char code CW8=0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08;un sig ned long HX711_Buffer = 0;un sig ned long Weight_Maopi = 0;long Weight_Shiwu = 0;un sig ned char KEY_NUM = 0;char Target_Co unt = 0;un sig ned char Target_Buffer2 = 0x00,0x00;char targe

10、t = 0;un sig ned char wucha =1;bit Flag_ERROR = 0;bit Flag_OK = 0;#define Gap Value 378378void mai n()I nit_LCD1602();LCD1602_write_com(0x80);LCD1602_write_word(Welcome to use!);while(K1);Delay_ms(1000);while(K1=0) motor_cw(); LCD1602_write_com(0x80);LCD1602_write_word( Weight:);LCD1602_write_com(0x

11、80+0x40);LCD1602_write_word( Target: 0000 g);Get_Maopi(); while(1) Get_Weight();LCD1602_write_com(0x80+0x0a); LCD1602_write_word(ERROR ); elseLCD1602_write_com(0x80+0x0a); LCD1602_write_data(Weight_Shiwu/1000 + 0X30); LCD1602_write_data(Weight_Shiwu%1000/100 + 0X30); LCD1602_write_data(Weight_Shiwu%

12、100/10 + 0X30); LCD1602_write_data(Weight_Shiwu%10 + 0X30); LCD1602_write_word( g);if(Flag_OK = 1&(targetWeight_Shiwu+wucha) motor_ccw(); /電機逆轉 if(target=Weight_Shiwu+wucha)Flag_OK=0; if(Flag_OK=0)KEY_NUM = Scan_Key(); if( KEY_NUM != 0x55) if(KEY_NUM = 16) Get_Maopi(); if(KEY_NUM = 15) while(K1); De

13、lay_ms(1000);while(K1=0) motor_cw(); if(KEY_NUM = 12)Target_Count-; if( Target_Count = 0 & KEY_NUM = 2)Target_Count = 2; unsigned char Scan_Key() unsigned char temp = 0; unsigned char com = 0x55 , com1 = 0 , com2 = 0; P1=0xf0;if(P1!=0xf0) com1=P1;P1=0x0f;com2=P1; P1=0xf0;while(P1!=0xf0); temp=com1|c

14、om2;if(temp=0xee)com=1;/ 數字 1 if(temp=0xed)com=4;/ 數字 4 if(temp=0xeb)com=7;/ 數字 7 if(temp=0xe7)com=11;if(temp=0xd7)com=0;/ 數字 0 if(temp=0xb7)com=14;/ 備用鍵 * 號鍵 if(temp=0xde)com=2; / 數字 2 if(temp=0xdd)com=5; / 數字 5 if(temp=0xdb)com=8;/ 數字 8 if(temp=0xbe)com=3;/ 數字 3 if(temp=0xbd)com=6; / 數字 6 if(temp=

15、0xbb)com=9;/ 數字 9 if(temp=0x7e)com=16;/ 數字 A 鍵,去皮功能 if(temp=0x7d)com=15;/ 數字 B 鍵清除鍵,二次測量 if(temp=0x7b)com=12;/ 數字 C 輸入單價錯誤時返回上一步if(temp=0x77)com=13;/ 數字 D 鍵,計算總價 return(com);Weight_Shiwu = HX711_Read();Weight_Shiwu = Weight_Shiwu - Weight_Maopi; if(Weight_Shiwu 0)Weight_Shiwu = (unsigned int)(float)

16、Weight_Shiwu/GapValue); if(Weight_Shiwu 5000)Flag_ERROR = 1; else Flag_ERROR = 0;else Weight_Shiwu = 0;Flag_ERROR = 1; void Get_Maopi() Weight_Maopi = HX711_Read(); void Delay_ms(unsigned int n) unsigned int i,j;for(i=0;in;i+) for(j=0;j123;j+); void delay500us(void) int j;for(j=0;j57;j+) ; void di(v

17、oid) / unsigned int y;for(y=0;y250;y+)beep=0; Delay_ms(1);beep=1;Delay_ms(1);void motor_ccw(void) / unsigned char i,j;for(j=0;j2;j+) / for(i=0;i8;i+) / F1=CCWi&0x01;F2=CCWi&0x02;F3=CCWi&0x04;F4=CCWi&0x08; Delay_ms(10); void motor_cw(void) unsigned char i,j;for(j=0;j5;j+) for(i=0;i8;i+) F1=CWi&0x01;F

18、2=CWi&0x02; F3=CWi&0x04;F4=CWi&0x08;Delay_ms(1);(九)操作與使用1、上電運行下載完成后程序自動運行,或重上電后程序正常運行,如圖所示圖23上電運行圖4*4矩陣鍵盤定義如下78451214(未定義)02、鍵盤操作說明9D(清 0)6C(電機反轉)3B(電機正轉)15(.)A(確定價格)其中:鍵09為數字鍵,用于單價設定 鍵15為小數點,也用于單價設定。B鍵為電機正轉,每次設定數值后,請先按清 B鍵,以驅動電機轉動。C鍵為電機反轉,當達到設定值時,按下該鍵電機開始向 反方向轉動3、常用使用步驟: 打開電源,屏幕顯示電子秤初始化成功,此時重量和單價為0,金額為空;通過數字鍵和小數點鍵鍵入搖確定的稱重數值,完成后按下 電機轉動鍵。在支架上稱出搖秤的數值,液晶屏顯示重量(單位為g),當 到達設定值時電機停止當到達設定值后按下C鍵,電機向相反方向轉動。(十)誤差分析一:由于電路的不穩(wěn)定以及傳感器的工作原理造成的誤差。二:硬件設計時,下面擋板不高造成物料容易掉下來, 當數值在一霎啦間以達到 設定值

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論