|
電子秤仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (23.56 KB, 下載次數(shù): 38)
下載附件
2018-12-10 03:15 上傳
單片機(jī)源程序如下:
- /**********************************************************************************
- 注:質(zhì)量計(jì)算函數(shù):位于adc0804.c文件
- 價(jià)格計(jì)算函數(shù):位于key.c文件
- 仿真:使用方法———鍵盤輸入一個(gè)數(shù),再輸入+ - * /,最后輸入等號(hào),得到結(jié)果
- eg:4*=
- **********************************************************************************/
- #include <reg52.h>
- #include "function.h"
- #include "setting.h"
- #include "lcd.h"
- #include "key.h"
- #include "adc0804.h"
- uchar quantity_analog=0; //存放物體質(zhì)量數(shù)據(jù)_ADC讀取的模擬量
- float quantity_digital=0; //存放物體質(zhì)量數(shù)據(jù)_ADC轉(zhuǎn)換后的數(shù)字量
- float price=0; //存放價(jià)格參數(shù)
- void main(void)
- {
- // char *string = "Total:"; //字符
- lcd_init(); //初始化lcd
- init_interrupt(); //中斷打開、選擇函數(shù)
- write_com(0x80); //數(shù)據(jù)指針定位到第一行第一個(gè)字處
- write_com(0x80+8); //將光標(biāo)移到 距離數(shù)字的位置
- delay_ms(100);
- // print_string_location(0,2,string); //顯示Price 字符串
- print_string_location(0,2,"Total:"); //顯示Price 字符串
- while(1)
- {
- key_scan(); //掃描按鍵函數(shù)
- quantity_digital=quantity_count(); //獲取物體質(zhì)量———————————————浮點(diǎn)型(float)
- price =price_count(); //獲取鍵盤輸入,計(jì)算后的價(jià)格——浮點(diǎn)型(float)
- print_weight(0,1); //顯示質(zhì)量
- if(price>0) //大于0時(shí)顯示價(jià)格
- {
- print_price(0,2); //顯示價(jià)格
- while(1) //計(jì)算結(jié)束,等待清零鍵按下
- {
- key_scan();
- if(key == ' ')
- {
- system_init(); //系統(tǒng)復(fù)位函數(shù)
- break;
- }
- }
- }
- if(key == ' ')
- system_init(); //系統(tǒng)復(fù)位函數(shù)
- }
- }
- /*******************************************************************************/
- /*
- //外部中斷 P3^3 ,用于識(shí)別鍵盤輸入
- void temer1() interrupt 3
- {
- EX1=0;
- Matrix_key_num=key_scan();
- EX1=1;
- }
- */
復(fù)制代碼
0.png (38.37 KB, 下載次數(shù): 46)
下載附件
2018-12-10 03:16 上傳
所有資料51hei提供下載:
電子秤.zip
(237.68 KB, 下載次數(shù): 92)
2018-12-9 17:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|