合肥学院第八届电子设计竞赛
} }
8.4主程序
#include
#define uchar unsigned char #define uint unsigned int #define nop _nop_()
#define ulong unsigned long #define KeyPort P3 sbit adclk=P1^3; //时钟线 sbit adcs=P1^5; //CS sbit dout=P1^4; //数据线
//====================================================================================================== //名称:ad_read()
//功能:读十位AD TLC1549 返回值是一个整形的数 uint adc(void) {
uint result=0; uchar cc; adcs=1;
adclk=1;
_nop_(); adcs=0;
for(cc=0;cc<10;cc++) // 读A/D 数据
{
26
合肥学院第八届电子设计竞赛
adclk=0;
result=(result<<1)|dout; adclk=1; _nop_();
}
DelayMs(2); // 延时20us adcs=1;
return(result); //return ad data
}
void zongyao() {
LCD_Write_String(0,0,\重量 kg\ LCD_Write_String(0,2,\总价 元\ LCD_Write_String(0,1,\参考\} main() {
unsigned char s,i=0; uint num=0; unsigned int A,B; float a=0,b=0;
float Voltage=0; //定义浮点变量
LCD_Init(); //初始化液晶 DelayMs(20); //延时有助于稳定 LCD_Clear(); zongyao();
while (1) //主循环 {
for(s=0;s<10;s++)//连续读5次,取最后一次,以便读取稳 27
定值
合肥学院第八届电子设计竞赛
{
num=adc();
Voltage=(float)(num-18)*60000/1024; //根据参考电源VREF算出时间电压,float是强制转换符号,用于将结果转换成浮点型 A=(unsigned int)(Voltage); _nop_(); }
LCD_Write_Com(0x82);
LCD_Write_Data(A/10000+0x30);
//分离出百位;
LCD_Write_Data(A000/1000+0x30); //十位
LCD_Write_Data('.');
LCD_Write_Data(A00/100+0x30); LCD_Write_Data(A0/10+0x30);
LCD_Write_Data(A+0x30); DelayMs(200); LCD_Write_Com(0x93);
LCD_Write_Data(num/1000+0x30); //分离出百位;
LCD_Write_Data(num00/100+0x30); //十位
LCD_Write_Data(num0/10+0x30); LCD_Write_Data(num+0x30); DelayMs(200);
P3=0xfe;
if(P3!=0xfe) {
DelayMs(40); if(P3!=0xfe) {
switch(P3&0xf0) {
28
合肥学院第八届电子设计竞赛
元
case 0x70:LCD_Write_String(0,3,\橙子\
LCD_Write_Com(0x8a);B=(unsigned
01.000
int )(A*1);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break;
元
case 0xb0:LCD_Write_String(0,3,\橘子
LCD_Write_Com(0x8a);B=(unsigned
0.9000\
int )(A*0.9);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break;
元
case 0xd0:LCD_Write_String(0,3,\菊子
LCD_Write_Com(0x8a);B=(unsigned
0.8000\
int )(A*0.8);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break;
元
case 0xe0:LCD_Write_String(0,3,\桃子
LCD_Write_Com(0x8a);B=(unsigned
0.7555\
int )(A*0.7555);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break
}
}
}
if(P3!=0xfe); DelayMs(30); while(P3!=0xfe);
P3=0xfd;
if(P3!=0xfd)
29
合肥学院第八届电子设计竞赛
{ 元
DelayMs(40); if(P3!=0xfd) {
switch(P3&0xf0) {
case 0x70:LCD_Write_String(0,3,\苹果
LCD_Write_Com(0x8a);B=(unsigned
0.6555\
int )(A*0.6555);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break;
元
case 0xb0:LCD_Write_String(0,3,\芒果
LCD_Write_Com(0x8a);B=(unsigned
0.5555\
int )(A*0.5555);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break;
元
case 0xd0:LCD_Write_String(0,3,\苹果
LCD_Write_Com(0x8a);B=(unsigned
0.4555\
int )(A*0.4555);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break;
元
case 0xe0:LCD_Write_String(0,3,\梨子
LCD_Write_Com(0x8a);B=(unsigned
0.3555\
int )(A*0.3555);LCD_Write_Data(B/10000+0x30);LCD_Write_Data(B000/1000+0x30);LCD_Write_Data('.');LCD_Write_Data(B00/100+0x30);LCD_Write_Data(B0/10+0x30);LCD_Write_Data(B+0x30);break
30
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库电子设计竞赛设计报告 - 图文(6)在线全文阅读。
相关推荐: