开发工具:
文件大小: 23kb
下载次数: 0
上传时间: 2015-06-21
详细说明:
#define F_CPU 4000000UL #include #include #include #define uchar unsigned char #define uint unsigned int #define uint32 unsigned long const uchar SEG_CODE[] ={"0123456789"}; extern void Write_LCD_Command (uchar cmd); extern void Write_LCD_Data(uchar dat); extern void Initialize_LCD(); extern void LCD_ShowString(uchar x, uchar y,char *str); void DePley(uint x,uint c) { uint a=0,b=0 ; uint32 p; a=(int)x*5000.0/1023.0; // b=(int)c*50000.0 /1023.0; b=b-293; p=(long)(a*(b/10.0)); Write_LCD_Command(0x80); if ((a/1000)==0) { Write_LCD_Data(' '); } else { Write_LCD_Data(SEG_CODE[a/1000]); } Write_LCD_Data(SEG_CODE[a00/100]); Write_LCD_Data('.'); Write_LCD_Data(SEG_CODE[a0/10]); Write_LCD_Data(SEG_CODE[a]); Write_LCD_Data('V'); Write_LCD_Command(0x8a); Write_LCD_Data(SEG_CODE[b/1000]); Write_LCD_Data('.'); Write_LCD_Data(SEG_CODE[b00/100]); Write_LCD_Data(SEG_CODE[b0/10]); Write_LCD_Data(SEG_CODE[b]); Write_LCD_Data('A'); Write_LCD_Command(0xC0); if ((p000000/1000000) == 0)Write_LCD_Data(' '); else Write_LCD_Data(SEG_CODE[p000000/1000000]); if(((p00000/100000) == 0)&&((p000000/1000000) == 0)) Write_LCD_Data(' '); else Write_LCD_Data(SEG_CODE[p00000/100000]); Write_LCD_Data(SEG_CODE[p0000/10000]); Write_LCD_Data('.'); Write_LCD_Data(SEG_CODE[p000/1000]); Write_LCD_Data(SEG_CODE[p00/100]); Write_LCD_Data('W'); p=(long)((a*10)/b); Write_LCD_Command(0xCB); if ((p000/1000)>0) { Write_LCD_Data(' '); Write_LCD_Data('O'); Write_LCD_Data('L'); Write_LCD_Data(' '); } else { Write_LCD_Data(SEG_CODE[p000/1000]); Write_LCD_Data(SEG_CODE[p00/100]); Write_LCD_Data(SEG_CODE[p0/10]); Write_LCD_Data(SEG_CODE[p]); } Write_LCD_Data('R'); } uint ADC_Convert(uchar CH) { uint addata; //SFIOR =0; //连续转换模式 ADMUX=(CH); //AVCC,AREF引脚外加滤波电容 _delay_us(100); //右对齐,ADC0单端输入 //ADCSRA =0X80; //启动ADC转换 ADCSRA |=_BV(ADSC); //开始转换 _delay_us(1000); while(!(ADCSRA&(_BV(ADIF)))); //等待转换结束,ADIF置1 addata=ADCL+(ADCH<<8);//addata=(int)(ADCL+(ADCH<<8))*5000.0/1023.0; ADCSRA |=_BV(ADIF); //对ADIF写”1”,ADIF清0 //ADCSRA =0X00; //关闭ADC转换 ADCSRA &=~_BV(ADSC); return addata; }//*/ int main() { uint a=1234,b; DDRD = 0xFF;PORTD=0xFF; DDRB = 0xFF;PORTB=0xFF; DDRC = 0xFF;PORTC=0xFF; DDRA = 0x00;PORTA=0x00; Initialize_LCD(); LCD_ShowString(0,0," Hi VA p1-1 "); ADCSRA = 0xC6; _delay_ms(30000); Write_LCD_Command(0x01); while(1) { a=ADC_Convert(0); b=ADC_Convert(1); DePley(a,b); } } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.