⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 power1.c

📁 51单片机控制简易数控直流电源源码加仿真。
💻 C
字号:
#include <at89x51.h>
#include "lcd_h.h"
const char LCDnum[10]="0123456789";
unsigned int value=248,result1=0,result2=0;
unsigned char y=0,z=0;
float x1=0,x2=0;
void display(void)
{
	 write_LCD_data(LCDnum[y]);
	 display_LCD_string(".");
	 write_LCD_data(LCDnum[z]);
	 display_LCD_string("V");
}
void main(void)
{
	 delayms(50);				  
	 init_LCD();				  // 初始化LCD
	 clear_LCD();				  //
	 movexy(1,5);				  //
	 //value=P1;					  // 指拨开关设初值
	 //P2=value;					  //往DS0832写数据
	// P3_0=0;					  //启动D/A
	// P3_0=1;					  //关闭D/A
	 display_LCD_string("shn");
	 while(1)
	 {
	 	if(P3_1==0)	  //+0.1V
		{
			do{
				value++;
				if(value>253) value=253;
				x1=(value+0.0)/256*100;
				x2=(value+1.0)/256*100;	
				result1=(unsigned int)(x1);
				result2=(unsigned int)(x2);
			}while((result2-result1)!=1);
			clear_LCD();
			movexy(2,5);
			y=result2/10;
	 		z=(result2-y*10);
			display();
			P2=(value+1);
	 		P3_0=0;
	 		P3_0=1;
			while(!P3_1);
		}
		if(P3_2==0)	  //-0.1V
		{
			do{
				value--;
				//if(value>253) value=253;
				x1=(value-0.0)/256*100;
				x2=(value-1.0)/256*100;	
				result1=(unsigned int)(x1);
				result2=(unsigned int)(x2);
			}while((result1-result2)!=1);
			clear_LCD();
			movexy(2,5);
			y=result1/10;
	 		z=(result1-y*10);
			display();
			P2=value;
	 		P3_0=0;
	 		P3_0=1;
			while(!P3_2);
		}
		
	}			

}	 		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -