波形显示文档格式.docx

上传人:b****4 文档编号:17859691 上传时间:2022-12-11 格式:DOCX 页数:21 大小:20.06KB
下载 相关 举报
波形显示文档格式.docx_第1页
第1页 / 共21页
波形显示文档格式.docx_第2页
第2页 / 共21页
波形显示文档格式.docx_第3页
第3页 / 共21页
波形显示文档格式.docx_第4页
第4页 / 共21页
波形显示文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

波形显示文档格式.docx

《波形显示文档格式.docx》由会员分享,可在线阅读,更多相关《波形显示文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

波形显示文档格式.docx

DMA_InitTypeDefDMA_InitStructure;

vu16ADC_ConvertedValue;

ErrorStatusHSEStartUpStatus;

/*Privatefunctionprototypes-----------------------------------------------*/

voidRCC_Configuration(void);

voidGPIO_Configuration(void);

voidNVIC_Configuration(void);

voidSysTick_Configuration(void);

voidUSART_Configuration1(void);

voidSetupClock(void);

intfputc(intch,FILE*f);

/*Privatefunctions---------------------------------------------------------*/

*FunctionName:

main

Mainprogram

*Input:

None

*Output:

*Return:

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

#defineLED1ONGPIO_SetBits(GPIOF,GPIO_Pin_0)

#defineLED1OFFGPIO_ResetBits(GPIOF,GPIO_Pin_0)//片选cs

#defineLED2ONGPIO_SetBits(GPIOF,GPIO_Pin_1)

#defineLED2OFFGPIO_ResetBits(GPIOF,GPIO_Pin_1)//复位rest

#defineLED3ONGPIO_SetBits(GPIOF,GPIO_Pin_2)

#defineLED3OFFGPIO_ResetBits(GPIOF,GPIO_Pin_2)//数据sdata

#defineLED4ONGPIO_SetBits(GPIOF,GPIO_Pin_3)

#defineLED4OFFGPIO_ResetBits(GPIOF,GPIO_Pin_3)//时钟sclk

unsignedcharVer='

A'

;

//驱动版本,默认为A版本,一共4个版本

voiddelayms(unsignedintii)//1ms延时函数

{

unsignedinti,x;

for(x=0;

x<

ii;

x++)

{

for(i=0;

i<

100;

i++);

}

}

voidsend(unsignedcharvalue,unsignedcharcd)//写8位数据

{

unsignedchari,dt;

LED1OFF;

LED4OFF;

if(cd==0)

LED3OFF;

else

LED3ON;

LED4ON;

dt=value;

for(i=0;

8;

i++)

LED4OFF;

if(dt&

0x80)

LED3ON;

else

LED3OFF;

dt=dt<

<

1;

LED4ON;

}

LED1ON;

//cs=1;

voidreaddata()//读数据

unsignedchari,j;

unsignedcharch[6];

send(0x09,0);

//读数据

//cs=0;

//sclk=0;

6;

ch[i]=0;

for(j=0;

j<

j++)

{

LED4ON;

//sclk=1;

if(!

(GPIO_ReadOutputDataBit(GPIOF,GPIO_Pin_2)))//sdata==0)

{

ch[i]=ch[i]|(1<

(7-j));

}

LED4OFF;

}

switch(ch[0])

case255:

Ver='

break;

case127:

B'

case0:

if(ch[1]+ch[2]+ch[3]==0)

Ver='

D'

}else

C'

voidLCD_Initialize()//LCD初始化

unsignedchari;

LED2ON;

//rest=1;

//sdata=0;

LED2OFF;

//rest=0;

delayms(50);

LED2ON;

send(0x00,0);

//NOP

delayms(5);

send(0x01,0);

//LCDSoftwareReset

send(0xC6,0);

//InitialEscape

send(0xB9,0);

//Refreshset

send(0x00,1);

readdata();

//读出数据

send(0xB5,0);

//GammaCurveSet

send(0x01,1);

send(0xbd,0);

//commondriveroutputselect//很重要的

if(Ver=='

send(0x04,1);

}else

send(0x00,1);

send(0xBE,0);

//PowerControl

send(0x03,1);

send(0x11,0);

//Sleepout

send(0xBA,0);

send(0x7F,1);

send(0x36,0);

//扫描方式

if(Ver=='

send(0x00|0x08,1);

//RGB

send(0x00,1);

send(0xB7,0);

//Temperaturegradientset

i<

14;

i++)

send(0,1);

send(0x29,0);

//displayON

send(0x03,0);

//BoosterVoltageON

delayms(20);

//BoosterVoltagestabilisierenlassen

send(0x20,0);

//displayinversionOFF

send(0x25,0);

//Writecontrast

switch(Ver)//对比度设置

case'

:

send(70,1);

//对比度设置

send(67,1);

case'

//send(74,1);

send(66,1);

//send(64,1);

//对比度设置

send(39,1);

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

//颜色模式设置:

color=1为4096色模式

//:

color=0为256色模式

voidLCD_ColorSet(unsignedcharColor)

if(Color==1){

send(0x3a,0);

//interfacepixelformat

//0x03为4096色,0x02为256色

else

send(0x02,1);

send(0x2d,0);

//调色板设置

||Ver=='

//red

send(~0x00,1);

send(~0x02,1);

send(~0x03,1);

send(~0x04,1);

send(~0x05,1);

send(~0x06,1);

send(~0x08,1);

send(~0x0f,1);

//green

//blue

send(0x00,1);

send(0x02,1);

send(0x03,1);

send(0x04,1);

send(0x05,1);

send(0x06,1);

send(0x08,1);

send(0x0f,1);

voidaddset(unsignedcharx1,unsignedchary1,unsignedcharx2,unsignedchary2)//坐标设置4个参数依次为开始X,开始Y,结束x,结束Y

send(0x2a,0);

//columnaddressset

send(x1,1);

send(x2,1);

send(0x2B,0);

//pageaddressset

send(y1,1);

send(y2,1);

send(0x2C,0);

//memorywrite

//清屏:

color=1为4096色模式清屏

color=0为256色模式清屏

voidLCD_Clear(unsignedintvalue,unsignedcharColor)

unsignedcharx,y;

addset(0,0,97,66);

if(Color==1)

for(y=0;

y<

67;

y++)

for(x=0;

x<

49;

x++)

{send(value>

>

4,1);

send(((value&

0x0f)<

4)|(value>

8),1);

send(value,1);

}

98;

x++)

{

}

}

//在指定位置显示一个字符(8*12大小)

//dcolor为内容颜色,gbcolor为背静颜色

voidshowdian(unsignedcharx,unsignedchary,unsignedchardcolor,unsignedcharbgcolor)

{

addset(x,y,x+1,y+1);

//设置区域

send(dcolor,1);

send(bgcolor,1);

intmain(void)

{inti,j;

#ifdefDEBUG

debug();

#endif

/*Systemclocksconfiguration---------------------------------------------*/

RCC_Configuration();

SysTick_Configuration();

/*NVICconfiguration------------------------------------------------------*/

NVIC_Configuration();

/*GPIOconfiguration------------------------------------------------------*/

GPIO_Configuration();

/*ConfiguretheUSART1*/

USART_Configuration1();

//printf("

\r\nUSART1printAD_value--------------------------\r\n"

);

/*DMAchannel1configuration----------------------------------------------*/

DMA_DeInit(DMA1_Channel1);

DMA_InitStructure.DMA_PeripheralBaseAddr=ADC1_DR_Address;

DMA_InitStructure.DMA_MemoryBaseAddr=(u32)&

ADC_ConvertedValue;

DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC;

DMA_InitStructure.DMA_BufferSize=1;

DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;

DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Disable;

DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;

DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_HalfWord;

DMA_InitStructure.DMA_Mode=DMA_Mode_Circular;

DMA_InitStructure.DMA_Priority=DMA_Priority_High;

DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;

DMA_Init(DMA1_Channel1,&

DMA_InitStructure);

/*EnableDMAchannel1*/

DMA_Cmd(DMA1_Channel1,ENABLE);

/*ADC1configuration------------------------------------------------------*/

ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;

ADC_InitStructure.ADC_ScanConvMode=ENABLE;

ADC_InitStructure.ADC_ContinuousConvMode=ENABLE;

ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;

ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;

ADC_InitStructure.ADC_NbrOfChannel=1;

ADC_Init(ADC1,&

ADC_InitStructure);

/*ADC1regularchannel13configuration*/

ADC_RegularChannelConfig(ADC1,ADC_Channel_13,1,ADC_SampleTime_55Cycles5);

/*EnableADC1DMA*/

ADC_DMACmd(ADC1,ENABLE);

/*EnableADC1*/

ADC_Cmd(ADC1,ENABLE);

/*EnableADC1resetcalibarationregister*/

ADC_ResetCalibration(ADC1);

/*ChecktheendofADC1resetcalibrationregister*/

while(ADC_GetResetCalibrationStatus(ADC1));

/*StartADC1calibaration*/

ADC_StartCalibration(ADC1);

/*ChecktheendofADC1calibration*/

while(ADC_GetCalibrationStatus(ADC1));

/*StartADC1SoftwareConversion*/

ADC_SoftwareStartConvCmd(ADC1,ENABLE);

LCD_Initialize();

LCD_ColorSet(0);

//0为256色模式,1为4096色模式

LCD_Clear(255,0);

//清屏

addset(0,0,103,81);

//设置起止坐标,4个参数依次为开始X,开始Y,结束x,结束Y

while

(1)

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

当前位置:首页 > 高等教育 > 军事

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

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