freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于單片機的電子秤畢業(yè)設計-資料下載頁

2024-11-29 01:13本頁面

【導讀】STC89C52為控制核心,設計制作一個稱重電子稱。傳感器MPX4250和矩陣鍵盤。該電子秤實現了基本的稱重功能,可以。該設計在Keil里編寫C語言程序,在Proteus里設計硬。件電路,通過硬件電路和軟件程序的聯(lián)調,達到了預期的仿真效果。誤差在允許的范圍內。論文達到任務書所規(guī)定的畢業(yè)設計內容、要求和目的。學習能力和獨立設計能力較強,學習態(tài)度特別端正。畢業(yè)設計論文可以提交答辯,建議成績評定為良好。采用24位高精度的模擬-數字轉換AD芯片。信號進行數據處理,LCD1602液晶則是負責顯示的功能。本設計運用C語言來編。液晶顯示功能,還具有超重報警功能能夠得到體現。

  

【正文】 //顯示當前重量 LCD1602_write_(0x8b)。 LCD1602_write_data(Weight_Shiwu/1000 + 0x30)。 LCD1602_write_data(39。.39。)。 LCD1602_write_data(Weight_Shiwu%1000/100 + 0x30)。 LCD1602_write_data(Weight_Shiwu%100/10 + 0x30)。 LCD1602_write_data(Weight_Shiwu%10 + 0x30)。 } 本科畢業(yè)設計說明書(論文) 第 34 頁 共 42 頁 KEY_NUM = KEY_Scan()。 if( KEY_NUM != 0x55) //當返回的不是初值時候 { if(KEY_NUM == 16) //數字 A 鍵,去皮功能 { Get_Maopi()。 //去皮 } if(KEY_NUM == 15) //數字 B 鍵清除鍵,二次測量 { goto loop。 } if(KEY_NUM == 12) //數字 C 輸入單價錯誤時返回 { Price_Count。 if( Price_Count 0) { Price_Count = 0。 } Price_Buffer[Price_Count] = 0。 //清除上一個輸入的數據 switch(Price_Count) { case 0: LCD1602_write_(0x83)。 LCD1602_write_data(39。 39。)。 break。 case 1: LCD1602_write_(0x84)。 LCD1602_write_data(39。 39。)。 break。 case 2: 本科畢業(yè)設計說明書(論文) 第 35 頁 共 42 頁 LCD1602_write_(0x86)。 LCD1602_write_data(39。 39。)。 break。 default : break。 } } if(KEY_NUM == 13) //數字 D鍵,計算總價 { Money = Price_Buffer[0] * 100 + Price_Buffer[1] * 10 + Price_Buffer[2]。 Money = Money * Weight_Shiwu / 1000。 LCD1602_write_(0xC7)。 LCD1602_write_data(Money/1000 + 0x30)。 LCD1602_write_data(Money%1000/100 + 0x30)。 LCD1602_write_data(Money%100/10 + 0x30)。 LCD1602_write_data(39。.39。)。 LCD1602_write_data(Money%10 + 0x30)。 Flag_OK = 1。 } if(KEY_NUM = 0 amp。amp。 KEY_NUM = 9) //顯示輸入的價格值 { Price_Buffer[Price_Count] = KEY_NUM。 switch(Price_Count) { case 0: LCD1602_write_(0x83)。 LCD1602_write_data(Price_Buffer[0] + 0x30)。 break。 case 1: LCD1602_write_(0x84)。 本科畢業(yè)設計說明書(論文) 第 36 頁 共 42 頁 LCD1602_write_data(Price_Buffer[1] + 0x30)。 break。 case 2: LCD1602_write_(0x86)。 LCD1602_write_data(Price_Buffer[2] + 0x30)。 break。 default : break。 } Price_Count++。 if( Price_Count = 3) { Price_Count = 3。 } } } } } unsigned char KEY_Scan() //矩陣鍵盤掃描 { unsigned char temp = 0。 unsigned char = 0x55 , 1 = 0 , 2 = 0。 P3=0xf0。 if(P3!=0xf0) { 1=P3。 P3=0x0f。 2=P3。 } P3=0xf0。 while(P3!=0xf0)。 本科畢業(yè)設計說明書(論文) 第 37 頁 共 42 頁 temp=1|2。 if(temp==0xee)=1。 //數字 1 if(temp==0xed)=4。 //數字 4 if(temp==0xeb)=7。 //數字 7 if(temp==0xe7)=11。 //備用鍵 *號鍵 if(temp==0xd7)=0。 //數字 0 if(temp==0xb7)=14。 //備用鍵 *號鍵 if(temp==0xde)=2。 //數字 2 if(temp==0xdd)=5。 //數字 5 if(temp==0xdb)=8。 //數字 8 if(temp==0xbe)=3。 //數字 3 if(temp==0xbd)=6。 //數字 6 if(temp==0xbb)=9。 //數字 9 if(temp==0x7e)=16。 //數字 A去皮 if(temp==0x7d)=15。 //數字 B,二次測量 if(temp==0x7b)=12。 //數字 C單價返回 if(temp==0x77)=13。 //數字 D 鍵,計算總價 return()。 } void Get_Weight() //稱重 { Weight_Shiwu = HX711_Read()。 Weight_Shiwu = Weight_Shiwu Weight_Maopi。 //獲取凈重 if(Weight_Shiwu 0) { Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/GapValue)。 //計算實物的實際重量 if(Weight_Shiwu 5000) //超重報警 本科畢業(yè)設計說明書(論文) 第 38 頁 共 42 頁 { Buzzer = 0。 } else { Buzzer = 1。 } } else { Weight_Shiwu = 0。 Buzzer = 0。 //負重報警 } } void Get_Maopi() //獲取毛皮重量 { Weight_Maopi = HX711_Read()。 } void Delay_ms(unsigned int n) //MS 延時函數 (12M) { unsigned int i,j。 for(i=0。in。i++) for(j=0。j123。j++)。 } include void Delay__hx711_us(void) //延時函數 { _nop_()。 _nop_()。 } //讀取 HX711 本科畢業(yè)設計說明書(論文) 第 39 頁 共 42 頁 unsigned long HX711_Read(void) //增益 128 { unsigned long count。 unsigned char i。 HX711_DOUT=1。 Delay__hx711_us()。 HX711_SCK=0。 count=0。 while(HX711_DOUT)。 for(i=0。i24。i++) { HX711_SCK=1。 count=count1。 HX711_SCK=0。 if(HX711_DOUT) count++。 } HX711_SCK=1。 count=count^0x800000。 //第 25個下降沿數據轉換 Delay__hx711_us()。 HX711_SCK=0。 return(count)。 include void LCD1602_delay_ms(unsigned int n) { unsigned int i,j。 for(i=0。in。i++) for(j=0。j123。j++)。 //MS延時函數 (12M晶振下測試 ) } 本科畢業(yè)設計說明書(論文) 第 40 頁 共 42 頁 void LCD1602_write_(unsigned char ) //寫指令 { LCD1602_RS = 0。 LCD1602_delay_ms(1)。 LCD1602_EN = 1。 LCD1602_PORT = 。 LCD1602_delay_ms(1)。 LCD1602_EN = 0。 } void LCD1602_write_data(unsigned char dat) //寫數據 { LCD1602_RS = 1。 LCD1602_delay_ms(1)。 LCD1602_PORT = dat。 LCD1602_EN = 1。 LCD1602_delay_ms(1)。 LCD1602_EN = 0。 } void LCD1602_write_word(unsigned char *s) //連續(xù)寫字符 { while(*s0) { LCD1602_write_data(*s)。 s++。 } } void Init_LCD1602() { LCD1602_EN = 0。 本科畢業(yè)設計說明書(論文) 第 41 頁 共 42 頁 LCD1
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1