資源簡介
基于51單片機的電子秤設計,包括lcd1602、矩陣鍵盤、MPX4115,含代碼 proteus仿真圖

代碼片段和文件信息
/********************************************************
???????????????????壓力測試儀
系統描述;輸入??15--115kPA壓力信號
?????????輸出??00h--ffh數字信號(adc0832)
?????????在LCD上顯示實際的壓力值,如果超限則報警
線性區間標度變換公式:????y=(115-15)/(243-13)*X+15kpa???
作者:
單位:
日期:2008.3.7
********************************************************/
#include
#include
#include?
#include?
#define?uchar?unsigned?char
#define?uint???unsigned?int
#define?BUSY??0x80???????????????????????????????//常量定義
#define?DATAPORT?P0
//ADC0832的引腳
sbit?ADCS?=P3^5;??//ADC0832?chip?seclect
sbit?ADDI?=P3^7;??//ADC0832?k?in
sbit?ADDO?=P3^7;??//ADC0832?k?out
sbit?ADCLK?=P3^6;??//ADC0832?clock?signal
sbit?LCM_RS=P2^0;
sbit?LCM_RW=P2^1;
sbit?LCM_EN=P2^2;
uchar?ad_data;????????????????????????????????????//采樣值存儲
sbit?Alarm_led_red?=P3^1;?????????????????????????//超過壓力表量程最大值紅色led報警定義
sbit?Alarm_led_green=P3^2;????????????????????????//低于壓力表量程最小值綠色led報警定義
??????????????????????????//adc采樣值存儲單元
char?press_data;??????????????????????????????????//標度變換存儲單元
unsigned?char?ad_alarm;???????????????????????????//報警值存儲單元
unsigned?char?press_ge=0;????????????????????????//顯示值百位
unsigned?char?press_shifen=0;????????????????????????//顯示值十位
unsigned?char?press_baifen=0;?????????????????????????//顯示值個位
unsigned?char?press_qianfen=0;????????????????????????//顯示值十分位
uchar?code?str0[]={“Weight:??.???Kg?“};
uchar?code?str1[]={“Make?by?GUO?TAO?“};
uchar?code?str2[]={“Price:??????????“};
uchar?code?str3[]={“Total:??????????“};
void?delay(uint);
void?lcd_wait(void);
void?delay_LCM(uint);????????????? //LCD延時子程序
void?initLCM(?void);??????????????? //LCD初始化子程序
void?lcd_wait(void);?????????????? //LCD檢測忙子程序
void?WriteCommandLCM(uchar?WCLCMuchar?BusyC);??????????????????????????????//寫指令到ICM子函數
void?WriteDataLCM(uchar?WDLCM);?????????????????????????????????????????????//寫數據到LCM子函數
void?DisplayOneChar(uchar?Xuchar?Yuchar?DData);???????????????????????????//顯示指定坐標的一個字符子函數
void?DisplayListChar(uchar?Xuchar?Yuchar?code?*DData); ?//顯示指定坐標的一串字符子函數
??void?keyscan();???????????????????
void?display(void);?????????????????????????????????????????????????????????//系統顯示子函數
uchar?Adc0832(unsigned?char?channel);
void?alarm(void);
void?data_pro(void);
/**********main?funcation************/
void?main(void)
{?
????delay(500);??????????????????????//系統延時500ms啟動
// ad_data=0;???????????????????????//采樣值存儲單元初始化為0
??? initLCM(?);
????????
??? WriteCommandLCM(0x011); ????//清顯示屏
????DisplayListChar(00str0);
??? DisplayListChar(01str2);
?
while(1)
????{
???ad_data?=Adc0832(0); ???//采樣值存儲單元初始化為0
???
????alarm();
data_pro();
display();
?
}
}
/*********延時K*1ms12.000mhz**********/
void?delay(uint?k)
{
????uint?ij;
????for(i=0;i ????{
????????for(j=0;j<60;j++)
???????? {;}
????}
}???
/**********寫指令到ICM子函數************/
void?WriteCommandLC
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????16452??2009-03-05?23:02??基于51單片機的電子秤設計\dianzicheng0
?????文件???????8511??2009-03-15?19:21??基于51單片機的電子秤設計\dianzicheng0.c
?????文件???????5252??2009-03-05?23:02??基于51單片機的電子秤設計\dianzicheng0.hex
?????文件?????????56??2009-03-05?23:02??基于51單片機的電子秤設計\dianzicheng0.lnp
?????文件??????16186??2009-03-05?23:02??基于51單片機的電子秤設計\dianzicheng0.LST
?????文件??????18011??2009-03-05?23:02??基于51單片機的電子秤設計\dianzicheng0.M51
?????文件??????17457??2009-03-05?23:02??基于51單片機的電子秤設計\dianzicheng0.OBJ
?????文件???????1130??2009-03-27?14:05??基于51單片機的電子秤設計\dianzicheng0.Opt
?????文件????????218??2009-03-27?14:05??基于51單片機的電子秤設計\dianzicheng0.plg
?????文件???????2125??2009-03-27?14:05??基于51單片機的電子秤設計\dianzicheng0.Uv2
?????文件???????1124??2009-03-16?20:19??基于51單片機的電子秤設計\dianzicheng0_Opt.Bak
?????文件???????2007??2009-03-16?20:19??基于51單片機的電子秤設計\dianzicheng0_Uv2.Bak
?????文件??????14373??2009-03-16?18:22??基于51單片機的電子秤設計\dianzicheng1.c
?????文件???????7536??2009-03-16?00:18??基于51單片機的電子秤設計\dianzicheng1.hex
?????文件?????????56??2009-03-16?18:22??基于51單片機的電子秤設計\dianzicheng1.lnp
?????文件??????27145??2009-03-16?18:22??基于51單片機的電子秤設計\dianzicheng1.LST
?????文件??????35890??2009-03-16?18:22??基于51單片機的電子秤設計\dianzicheng1.M51
?????文件??????36497??2009-03-16?18:22??基于51單片機的電子秤設計\dianzicheng1.OBJ
?????文件???????1157??2009-03-17?17:09??基于51單片機的電子秤設計\dianzicheng1.Opt
?????文件????????201??2009-03-17?17:09??基于51單片機的電子秤設計\dianzicheng1.plg
?????文件???????2111??2009-03-17?15:26??基于51單片機的電子秤設計\dianzicheng1.Uv2
?????文件???????1317??2009-03-17?15:32??基于51單片機的電子秤設計\dianzicheng1_Opt.Bak
?????文件???????2129??2009-03-17?15:23??基于51單片機的電子秤設計\dianzicheng1_Uv2.Bak
?????文件??????25842??2009-03-27?20:41??基于51單片機的電子秤設計\dianzicheng2
?????文件??????11187??2009-03-27?20:41??基于51單片機的電子秤設計\dianzicheng2.c
?????文件???????8205??2009-03-27?20:41??基于51單片機的電子秤設計\dianzicheng2.hex
?????文件?????????56??2009-03-27?20:41??基于51單片機的電子秤設計\dianzicheng2.lnp
?????文件??????22275??2009-03-27?20:41??基于51單片機的電子秤設計\dianzicheng2.LST
?????文件??????28561??2009-03-27?20:41??基于51單片機的電子秤設計\dianzicheng2.M51
?????文件??????29020??2009-03-27?20:41??基于51單片機的電子秤設計\dianzicheng2.OBJ
............此處省略30個文件信息
- 上一篇:STM32的PWM程序,親測可用
- 下一篇:PPAPI,谷歌上的
評論
共有 條評論