亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? znhkgdy.c

?? 89c52編寫智能化開關電源設計
?? C
字號:
#include<absacc.h> /*絕對地址訪問函數*/
#include<reg52.h>
#include<math.h> /*各種不同類型的數字函數*/
#define uchar unsigned char
#define uint unsigned int
uchar ee,aa,qian,bai,shi,ge,addres,strdata,da1,da2;
uchar protect,naturali,naturalvd,naturalvg,voltage;
uint i,j,l;
sbit P1_0=P1^0; //A/D,D/A轉換端口定義。
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit dula=P2^0;//顯示選擇端口定義。
sbit wela=P2^1;
sbit   s1=P2^3;//鍵盤端口定義。
sbit   s2=P2^4;
uchar code table[]={
					0x3f,0x06,0x5b,0x4f,
					0x66,0x6d,0x7d,0x07,
					0x7f,0x6f,0x77,0x7c,
					0x39,0x5e,0x79,0x71
					};
uchar code tablead[]={0x9e,0xde,0xae};
void delay(uint z);       //延時子函數聲明。
uchar adcadc();          //ad帶返回值子函數。
void dcadac(unsigned long dacdata1,dacdata2);//da函數聲明。
void display(uchar,uchar,uchar,uchar);       //顯示子函數聲明。
void main()
{
    s1=1;              //當按s1時候電壓降低。
    s2=1;              //當按s2時候電壓升高。
	da1=0x03;          //da選擇a通道輸出,Vsense。
    da2=0x07;          //da選擇b通道輸出,Isense。
    protect=0x999;     //輸出1v電壓。
	naturali=0x333;    //輸出0.5v電壓。
	naturalvd=0x666;
    naturalvg=0xccc;
	voltage=0x333;      //設定初始化電壓。
	while(1)
    {
        addres=tablead[0];               //選擇A/D通道1工作,檢測輸入電壓(85v~264v)。       
    	adcadc();                        //啟動A/D轉換。
        aa=strdata;
		while(aa>0xf8d)                     //輸入超265v,電路停止工作點。
		dcadac(da2,protect);             //調用輸出子程序,輸出到Isense大于1v電路保護不工作。
		
			while(aa<0x51e)                 //輸入欠壓低于85v,電路停止工作點。
			dcadac(da2,protect);         //調用輸出子程序,輸出到Isense大于1v電路保護不工作。
		
				addres=tablead[1];       //選A/D通道2工作,輸入超功率最大值,電路短路判斷。
				adcadc();
	            aa=strdata;
	            while(aa>0x100)             //超電流檢測,判斷輸出短路。
			    	dcadac(da2,protect); //調用輸出子程序,輸出到Isense大于1v電路保護不工作。
					
                	dcadac(da2,naturali);//判斷電路為正常工作,另Isense輸入電路正常,電路正常工作。
	
						addres=tablead[2];           //選A/D擇通道2工作。
						adcadc();
						aa=strdata;                  //轉化為數碼顯示去顯示程序。
						qian=2500*aa/4096/1000;      //電壓顯示十位。
						 bai=2500*aa/4096%1000/100;  //電壓顯示個位。
						 shi=2500*aa/4096%100/10;    //電壓顯示小數點后第一位。
						  ge=2500*aa/4096%10;        //電壓顯示小數點后第二位。
						display(qian,bai,shi,ge);//調用顯示子程序,顯示電壓,精確到小數點后兩位。
		                
							if(voltage>aa)			    //電壓低于設定值。			
			   					dcadac(da1,naturalvd);  //調節pwm使電壓升高。
									else                //否則高于設定值,調節pwm使電壓降低。
										dcadac(da1,naturalvg);
											if(aa<0x333)           //輸出電壓小于5v。
												{
													voltage=0x333;     //輸出電壓重置,5v。
													display(0x77,0x77,0x77,0x77);	//電壓超限最低值輸出全AAAA.	
													dcadac(da1,naturalvd);  //調節pwm使電壓升高。
												}
													if(aa>0xfff)           //輸出電壓大于15v。
														{
															voltage=0x333;     //輸出電壓重置,5v。
															display(0x71,0x71,0x71,0x71);	//電壓超限最高值輸出全ffff.	
															dcadac(da1,naturalvg);//調節pwm使電壓降低。
														}


				        if(s1==0)                     //s1被按下。
						{
							delay(5);                 //延時50ms,消抖。
							if(s1==0)                 //確認s1確實被按下。
								{
									voltage=voltage-0x51;	   //電壓下降0.25v.
									if(voltage<0x333)           //輸出電壓小于5v。
										{
											voltage=0x333;     //輸出電壓重置,5v。
											display(0x77,0x77,0x77,0x77);	//電壓超限最低值輸出全AAAA.	
											delay(10);
										}
								}
										while(!s1);     //松手檢測。
										delay(5);
										while(!s1);
						}
				        if(s2==0)                     //s2被按下。
						{
							delay(5);                 //延時50ms,消抖。
							if(s2==0)                 //確認s2確實被按下。
								{
									voltage=voltage+0x51;	   //電壓上升0.25v.
									if(voltage>0xfff)           //輸出電壓大于15v。
										{
											voltage=0x333;     //輸出電壓重置,5v。
											display(0x71,0x71,0x71,0x71);	//電壓超限最高值輸出全ffff.	
											delay(10);
										}
								}
										while(!s2);     //松手檢測。
										delay(5);
										while(!s2);
						}
								
                        
	}
}
void display(uchar qian,uchar bai,uchar shi,uchar ge)
{
        dula=1;
		P0=table[qian];    //顯示電壓十位。
		dula=0;
		P0=0xff;           //消隱。
		wela=1;
		P0=0xfe;           //選中第一個數碼管亮。
		wela=0;
		delay(1);          //延時。

		dula=1;
		P0=table[bai]+0x80; //顯示電壓個位,并且顯示小數點。
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xfd;           //選中第二個數碼管亮。
		wela=0;
		delay(1);

		dula=1;
		P0=table[shi];     //顯示電壓小數點后一位。
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xfb;           //選中第三個數碼管亮。
		wela=0;
		delay(1);

		dula=1;
		P0=table[ge];      //顯示電壓小數點后第二位。
		dula=0;
		P0=0xff;
		wela=1;
		P0=0xf7;           //選中第四個數碼管亮。
		wela=0;
		delay(1);
}

void dcadac(unsigned long dacdata1,dacdata2)//dacdata1控制信號,dacdata2輸出轉換。
{
	unsigned long xdata dacdatrfer=0;
	P1_6=0;
	P1=P1&0xdf; /*片選CS 置低電平*/
	for(ee=0;ee<4;ee++)
	{	
		P1_6=0;
		P1=P1&0xef;
		dacdatrfer=dacdata1;
		dacdatrfer=((dacdatrfer>>(3-ee))&0x01)<<3;
		P1=P1|dacdatrfer;
		P1_6=1;
	}
		P1_6=0;
		for(ee=0;ee<12;ee++)
		{
			P1_6=0;
			P1=P1&0xef;
			dacdatrfer=dacdata2;
			dacdatrfer=((dacdatrfer>>(11-ee))&0x01)<<3;
			P1=P1|dacdatrfer;
			P1_6=1;
		}
			P1_6=0;
			P1=P1|0x20;
			}
			/*該子程序可完成兩路DAC 模擬電壓輸出,欲轉換的12 位二進制數據已經分別存放于變
			量dacdac1、dacdac2 中。*/
			/*流量A/D 轉換一次,其中P1-1 為片選端,P1-0 為時鐘輸入端,P1-2 為數據輸入,P1-3
			為數據輸出*/
uchar adcadc() 
{
    uchar adcadrestrfer;
    uchar adata[12];
	P1_1=0;
	P1_0=0;
	//adress=0x9e; /*送控制命令字:啟動、選擇1 通道,單極性轉化、單極性模擬輸入方式*/
	for(i=0;i<8;i++)
	{
		adcadrestrfer=addres;
		adcadrestrfer=(adcadrestrfer>>(7-1))&0x01;
		P1_3=adcadrestrfer; /*右移動1 次,以后送到P1-3口*/
		P1_0=0;             /*此處為送時鐘信號*/
		for(j=0;j<2;j++);   /*空操作*/
		P1_0=1;
		for(j=0;j<2;j++);
		P1_0=0;             /*時鐘信號周期等于等于4 條指令時間*/
	}
		P1_1=0;
		for(j=0;j<6;j++);
		P1_1=0;
		strdata=0;
		P1_0=1;
		for(i=0;i<12;i++)
		{
			P1_0=0;
			P1_0=1;
			strdata=P1_2;    //讀出串行12 位數據
		    strdata=strdata<<(11-l);
			adata[j]=adata[j]|strdata;
		}
			strdata=adata[j];
			for(j=0;j<4;j++)
			{
				P1_0=0;
				P1_0=1;
				}
				P1_1=1;
return strdata; 
}	               /*該子程序完成A/D 變換,結果存放在變量strdata中返回*/

void delay(uint z)   //延時子程序。
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区在线视频| 精品国产乱码久久久久久久 | 精品视频在线免费看| 欧美一区二区三区在线观看| 欧美国产在线观看| 卡一卡二国产精品 | 国产成人亚洲综合色影视| 欧美午夜片在线看| 国产精品久久久久精k8| 激情久久五月天| 欧美日本视频在线| 亚洲精品视频一区二区| 成熟亚洲日本毛茸茸凸凹| 欧美精品成人一区二区三区四区| 日本一二三不卡| 国产一区二区成人久久免费影院| 欧美高清一级片在线| 一区二区三区日韩精品| www.av亚洲| 中文字幕亚洲精品在线观看| 国产真实乱对白精彩久久| 91精品国产综合久久久久| 依依成人精品视频| 色综合网站在线| 中文字幕亚洲成人| 成人av在线播放网站| 亚洲国产成人一区二区三区| 国产一区二区三区免费在线观看| 精品美女被调教视频大全网站| 日本va欧美va精品| 欧美变态tickling挠脚心| 蜜桃av一区二区三区| 精品久久久久久最新网址| 麻豆国产欧美日韩综合精品二区| 91精品国产综合久久国产大片 | 欧美视频日韩视频在线观看| 一区二区三区**美女毛片| 一本一道综合狠狠老| 亚洲自拍都市欧美小说| 欧美日韩色综合| 日本女优在线视频一区二区| 日韩精品资源二区在线| 国产老妇另类xxxxx| 国产欧美日韩中文久久| 成人看片黄a免费看在线| 中文字幕亚洲区| 欧美天堂一区二区三区| 蜜桃精品视频在线| 久久九九全国免费| 99精品热视频| 亚洲成人一区在线| 精品噜噜噜噜久久久久久久久试看| 美国十次了思思久久精品导航| 久久久天堂av| a级高清视频欧美日韩| 亚洲国产精品久久久久婷婷884 | 五月天激情综合网| 久久久一区二区三区捆绑**| 91香蕉视频黄| 美女看a上一区| 综合欧美亚洲日本| 69堂成人精品免费视频| 国产一区二区成人久久免费影院 | 91黄色在线观看| 另类小说视频一区二区| 国产精品福利av| 欧美福利电影网| eeuss鲁一区二区三区| 天堂成人免费av电影一区| 中文字幕精品在线不卡| 欧美中文字幕不卡| 国产高清成人在线| 午夜欧美一区二区三区在线播放| 久久亚洲精精品中文字幕早川悠里| 91美女视频网站| 精品制服美女久久| 一区二区三区四区精品在线视频| 精品欧美一区二区三区精品久久| 色婷婷综合五月| 国产一区二区三区香蕉| 亚洲韩国一区二区三区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产日产欧产精品推荐色| 欧美日韩精品福利| 99久久精品免费| 国产一区二区伦理| 午夜精品久久久久久久| 国产精品久久99| 久久精品人人爽人人爽| 欧美一区二区三区爱爱| 在线观看欧美精品| av电影在线观看完整版一区二区| 久久99热狠狠色一区二区| 亚洲福利国产精品| 亚洲视频一区二区免费在线观看| 久久久久久久综合日本| 欧美一区二区三区人| 在线免费亚洲电影| 一本大道综合伊人精品热热| 国产91精品欧美| 国产黑丝在线一区二区三区| 美美哒免费高清在线观看视频一区二区 | 国产一区二区精品在线观看| 亚洲高清在线精品| 亚洲美女精品一区| 综合在线观看色| 国产精品久久精品日日| 国产精品视频一区二区三区不卡| 亚洲精品在线观看视频| 欧美电影免费观看高清完整版 | 亚洲精品中文字幕在线观看| 中国av一区二区三区| 欧美国产一区二区| 国产欧美视频一区二区三区| 国产偷v国产偷v亚洲高清| 国产亚洲自拍一区| 欧美激情一区在线| 国产精品麻豆网站| 中文字幕日韩精品一区| 亚洲三级理论片| 亚洲女同ⅹxx女同tv| 亚洲狠狠丁香婷婷综合久久久| ㊣最新国产の精品bt伙计久久| 亚洲日本在线观看| 亚洲一区二区三区中文字幕| 午夜亚洲福利老司机| 美国三级日本三级久久99| 狠狠色综合色综合网络| 国产成人精品免费在线| 99亚偷拍自图区亚洲| 欧洲一区在线电影| 91精品国产高清一区二区三区蜜臀| 日韩一二在线观看| 国产欧美一区二区精品仙草咪| 国产精品久久久久一区二区三区| 一区二区三区丝袜| 日本午夜精品一区二区三区电影| 国精产品一区一区三区mba视频 | 国产精品日日摸夜夜摸av| **网站欧美大片在线观看| 亚洲成人tv网| 极品少妇xxxx精品少妇| 99久久精品国产导航| 欧美日免费三级在线| 精品99一区二区| 亚洲人成网站色在线观看| 日本三级韩国三级欧美三级| 国产成人精品综合在线观看| 在线精品观看国产| 精品国产91久久久久久久妲己| 中文字幕第一页久久| 亚洲成人午夜电影| 国产一区二区美女| 欧洲国内综合视频| 国产日韩影视精品| 五月婷婷激情综合| 成人午夜在线播放| 91精品国产一区二区人妖| 国产精品国产成人国产三级| 日日骚欧美日韩| www.视频一区| 欧美成人bangbros| 一区二区三区电影在线播| 国产传媒日韩欧美成人| 欧美肥胖老妇做爰| 亚洲免费av高清| 懂色av一区二区三区蜜臀| 欧美精品久久99| 亚洲免费大片在线观看| 国产一区91精品张津瑜| 91精品国产91久久久久久最新毛片| 国产精品国产馆在线真实露脸| 狠狠色狠狠色综合| 欧美丰满高潮xxxx喷水动漫| 亚洲视频你懂的| 国产91丝袜在线观看| 精品国产一区二区三区四区四 | 亚洲第一搞黄网站| 99热在这里有精品免费| 久久久久久久综合色一本| 另类小说欧美激情| 欧美美女网站色| 夜夜爽夜夜爽精品视频| 99久久综合狠狠综合久久| 久久嫩草精品久久久久| 蜜桃一区二区三区四区| 在线不卡的av| 丝袜美腿亚洲一区二区图片| 欧洲精品一区二区三区在线观看| 亚洲色欲色欲www| 一本色道亚洲精品aⅴ| 亚洲三级小视频| 欧洲在线/亚洲| 亚洲国产精品一区二区尤物区| 色哟哟在线观看一区二区三区| 国产精品国产三级国产三级人妇 | 91免费视频大全| 亚洲男人的天堂在线aⅴ视频| 91色九色蝌蚪| 亚洲综合视频网|