数字式开关电源的PID控制Word下载.docx

上传人:b****6 文档编号:20917234 上传时间:2023-01-26 格式:DOCX 页数:25 大小:20.02KB
下载 相关 举报
数字式开关电源的PID控制Word下载.docx_第1页
第1页 / 共25页
数字式开关电源的PID控制Word下载.docx_第2页
第2页 / 共25页
数字式开关电源的PID控制Word下载.docx_第3页
第3页 / 共25页
数字式开关电源的PID控制Word下载.docx_第4页
第4页 / 共25页
数字式开关电源的PID控制Word下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数字式开关电源的PID控制Word下载.docx

《数字式开关电源的PID控制Word下载.docx》由会员分享,可在线阅读,更多相关《数字式开关电源的PID控制Word下载.docx(25页珍藏版)》请在冰豆网上搜索。

数字式开关电源的PID控制Word下载.docx

if(Mode==0)//恒压模式

DisplaySetU();

Delay(100);

ADC();

}

elseif(Mode==1)//恒流模式

DisplaySetI();

else//恒功率模式

DisplaySetP();

}

Part2Headfile

Part2.1LCD12864Headfile

#ifndef__LCD12864

#define__LCD12864

#defineLCD_CSBIT0

#defineLCD_SIDBIT2

#defineLCD_CLKBIT4

#defineLCD_ENP3DIR

#defineLCD_CTRLP3OUT

#defineLCD_CS_Set_highLCD_CTRL|=LCD_CS

#defineLCD_CS_Set_lowLCD_CTRL&

=~LCD_CS

#defineLCD_SID_Set_highLCD_CTRL|=LCD_SID

#defineLCD_SID_Set_lowLCD_CTRL&

=~LCD_SID

#defineLCD_CLK_Set_highLCD_CTRL|=LCD_CLK

#defineLCD_CLK_Set_lowLCD_CTRL&

=~LCD_CLK

#defineLCD_delay1

voidWrite_Data(unsignedcharbyte,unsignedcharreffer);

voidSend_Byte(unsignedcharbyte);

voidClearLCD(void);

voidPut_Array(unsignedchar*data,unsignedcharlength,unsignedcharaddress);

/*************延时**********************/

voidDelay(unsignedchartime)//主时钟1微秒延时

unsignedinti;

i=0x08*time;

for(;

i;

i--);

/************************************************

//函数名称:

Initial_LCD(void)

//函数功能:

启动初始化

************************************************/

voidInitial_LCD(void)

{

LCD_EN|=LCD_CS+LCD_SID+LCD_CLK;

Write_Data(0x30,0);

//基本指令集

Delay(LCD_delay);

Write_Data(0x30,0);

Write_Data(0x0C,0);

Write_Data(0x01,0);

//清屏

Write_Data(0x06,0);

/****************************************************************

*函数名称:

Write_Data(unsignedcharbyte,unsignedcharreffer)

*函数功能:

发送指令或数据

reffer数据1

指令0

*输入变量:

unsignedcharbyte

****************************************************************/

voidWrite_Data(unsignedcharbyte,unsignedcharreffer)

unsignedchartemp,stemp;

temp=byte;

LCD_CS_Set_high;

LCD_CLK_Set_low;

if(reffer==1)

Send_Byte(0xFA);

else

Send_Byte(0xF8);

//发送第一个字节

stemp=(temp&

0xF0);

Send_Byte(stemp);

stemp=temp<

<

4;

LCD_CS_Set_low;

/*********************************************************

Send_Byte(unsignedcharbyte)

发送一字节数据

unsignedcharbyte

*********************************************************/

voidSend_Byte(unsignedcharbyte)

unsignedchartemp,i;

for(i=0;

i<

8;

i++)//send8times

if(temp&

0x80)//sendthehighest

LCD_SID_Set_high;

else

LCD_SID_Set_low;

temp=(temp<

1);

LCD_CLK_Set_high;

/***********************************************************************************

*函数名称:

Put_Array(unsignedchardata,unsignedcharlength,unsignedcharaddress)

*函数功能:

在LCD上显示一个数组

*输入变量:

unsignedchardata

unsignedcharlength

unsignedcharaddress

***********************************************************************************/

voidPut_Array(unsignedchar*data,unsignedcharlength,unsignedcharaddress)

if(address!

=0)

Write_Data(address,0);

for(unsignedchari=0;

length;

i++)

Write_Data(data[i],1);

ClearLCD(void)

清屏

***************************************************/

voidClearLCD(void)

/***********************************************************************

*函数名称:

Set_cursor

*功能描述:

设置光标的位置为CurY行,CurX列

*输 入:

CurX=position(0:

7)CurY=line(0:

3)

***********************************************************************/

voidSet_cursor(unsignedcharCurY,unsignedcharCurX)

switch(CurY)

case0:

Write_Data(0x80+CurX,0);

break;

//写入第一行CurX列的地址

case1:

Write_Data(0x90+CurX,0);

//写入第二行CurX列的地址

case2:

Write_Data(0x88+CurX,0);

//写入第三行CurX列的地址

case3:

Write_Data(0x98+CurX,0);

//写入第四行CurX列的地址

default:

PutInt(unsignedintnum)

显示十进制数

voidPutInt(unsignedintnum)

unsignedintsnum;

unsignedchartemp[12]={0},temp1[12]={0};

unsignedchari=0,n=0;

snum=num;

if(snum==0)

temp[0]='

0'

;

i++;

}

while(num!

temp[i]=num%10+0x30;

num=num/10;

n=i;

n;

i++)

temp1[i]=temp[n-1-i];

Put_Array(temp1,n,0);

voidPutDig(unsignedcharnum)

unsignedcharsnum;

snum=num+0x30;

Write_Data(snum,1);

/***********************************************

**函数名称:

PutcLCD()

**功能描述:

LCD写char

**输 入:

LCD_Char

***********************************************/

voidPutcLCD(unsignedcharLCD_Char)

Write_Data(LCD_Char,1);

PutsLCD()

LCD写入RAM字符串

**输 入:

字符指针 Str

voidPutsLCD(constchar*Str)

intStr_Temp;

Str_Temp=*Str;

//Str_Temp所赋的值是Str所指向的字符

while(Str_Temp!

=0x00)//字符串还没有结束

Write_Data(Str_Temp,1);

Str++;

/*************************************

函数名:

ClrRam(void)

函数功能:

清整个GDRAM空间

*************************************/

voidClrRam()

unsignedcharx,y;

for(y=0;

y<

64;

y++)

for(x=0;

x<

16;

x++)

Write_Data(0x34,0);

Write_Data(y+0x80,0);

//行地址

Write_Data(x+0x80,0);

//列地址

Write_Data(0x00,1);

/***************************************************

ShowAll

函数说明:

显示一幅128*64的图画

传入参数:

图形指针*img

****************************************************/

voidShowAll(unsignedchar*pPicture)

unsignedchari,j,k;

Write_Data(0x36,0);

2;

i++)//分上下两屏写

for(j=0;

j<

32;

j++)//行

Write_Data(0x80+j,0);

//写X坐标(第几行上写)

if(i==0)//写Y坐标,判断哪一屏

Write_Data(0x80,0);

Write_Data(0x88,0);

for(k=0;

k<

k++)//写一整行数据(16个字节,合八个字符)

Write_Data(*pPicture++,1);

//Write_Data(0x36,0);

#endif

Part2.2TableHeadfile

externunsignedcharimg[]={

0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x07,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x07,0xFE,0x7F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x0F,0xFF,0x7F,0xFE,0xDF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x1F,0xFF,0x7F,0xFF,0xBF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x3F,0xFB,0xFF,0xF9,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x7F,0xFB,0xFF,0xFF,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x01,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x03,0xFF,0xFE,0x00,0x00,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x03,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x07,0xFF,0xF0,0x00,0x00,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x0F,0x7F,0xC0,0x00,0x00,0x03,0xFE,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x0F,0xF7,0x80,0x00,0x00,0x01,0xF5,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x1F,0xFB,0x00,0x00,0x00,0x00,0xE3,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x1F,0xFF,0x03,0xF8,0x07,0xF8,0x7F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x3F,0xFE,0x0F,0xFE,0x1F,0xFC,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x3F,0xFC,0x1C,0x0F,0x7C,0x0C,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x3F,0xFC,0x1C,0x03,0xF0,0x06,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x7F,0xF8,0x08,0x01,0xE0,0x0E,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x7F,0xF8,0x08,0x07,0xF0,0x0E,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x7F,0xF0,0x08,0x0F,0x38,0x0C,0x0F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x7F,0xF0,0x0C,0x1E,0x1E,0x0C,0x0F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xF0,0x04,0x7C,0x0E,0x1C,0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xF0,0x05,0xF8,0x00,0x00,0x07,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xE3,0xBF,0x9C,0xFF,0xEF,0x07,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xE3,0xBB,0x6D,0xFF,0xFF,0x87,0xDF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xEF,0xE3,0xBE,0x6F,0xF3,0xBB,0x87,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xF0,0xE3,0xBE,0xFF,0xFB,0xB8,0x07,0xCF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFE,0xE3,0xFB,0xFC,0x7B,0x9F,0x87,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xE1,0xF3,0x1D,0xF3,0x9F,0x07,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xE0,0x07,0xF8,0x07,0x0C,0x07,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xF0,0x06,0xF8,0x0F,0x18,0x0F,0xFF,0x00,0x00,0x00,0x00,0x0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1