displayWord下载.docx

上传人:b****4 文档编号:16424481 上传时间:2022-11-23 格式:DOCX 页数:19 大小:17.69KB
下载 相关 举报
displayWord下载.docx_第1页
第1页 / 共19页
displayWord下载.docx_第2页
第2页 / 共19页
displayWord下载.docx_第3页
第3页 / 共19页
displayWord下载.docx_第4页
第4页 / 共19页
displayWord下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

displayWord下载.docx

《displayWord下载.docx》由会员分享,可在线阅读,更多相关《displayWord下载.docx(19页珍藏版)》请在冰豆网上搜索。

displayWord下载.docx

0xAD,//5

0xAF,//6

0xE0,//7

0xEF,//8

0xEC,//9

};

SendBit_1621

发送一个字节的数据

发送一个字节的数据,低位在前

voidSendBit_1621(unsignedchardata,unsignedcharcnt)

{

unsignedchari;

for(i=0;

i<

cnt;

i++)

{

if((data&

0x80)==0)

LCD_DATA=0;

else

LCD_DATA=1;

LCD_WR=0;

NOP();

LCD_WR=1;

data<

<

=1;

}

}

SendDataBit_1621

发送一个字节的数据,高位在前

voidSendDataBit_1621(unsignedchardata,unsignedcharcnt)

{

0x01)==0)

data>

>

SendCmd

发送命令

voidSendCmd(unsignedcharcommand)

LCD_CS=0;

SendBit_1621(0x80,3);

SendBit_1621(command,9);

LCD_CS=1;

}

Write_1621

写一个字节的数据

voidWrite_1621(unsignedcharaddr,unsignedchardata)

SendBit_1621(0xa0,3);

addr<

=2;

SendBit_1621(addr,6);

SendDataBit_1621(data,4);

CLRFLCD1621

清屏

voidCLRFLCD1621(void)

unsignedcharaddr;

for(addr=0;

addr<

=10;

addr=addr+2)

Write_1621(addr,0);

init_LCD

初始化LCD

voidinit_LCD(void)

MSDelay(100);

SendCmd(SYSEN);

SendCmd(LCD_WDT_DIS);

SendCmd(BIAS);

SendCmd(LCDON);

CLRFLCD1621();

Test_LCD

测试LCD显示

voidTest_LCD(void)

Write_1621(0,LCD_BUF[0]);

Write_1621(2,LCD_BUF[1]);

Write_1621(4,LCD_BUF[2]);

Write_1621(6,LCD_BUF[3]);

Write_1621(8,LCD_BUF[4]);

_Write_Display

送显示

void_Write_Display(void)

if(F_Temp==1)

LCD_BUF[4]|=0x08;

}

if(F_Step5==1)

LCD_BUF[2]|=0x08;

if(F_Step4==1)

LCD_BUF[0]|=0x01;

if(F_Step3==1)

LCD_BUF[0]|=0x02;

if(F_Step2==1)

LCD_BUF[0]|=0x04;

if(F_Step1==1)

LCD_BUF[0]|=0x08;

_DispProcB01

正常显示

void_DispProcB01(void)

LCD_BUF[1]=(DigitTable[(KeyUpDown_Press_times)&

0x0F]&

&

0x0F);

LCD_BUF[2]=((DigitTable[(KeyUpDown_Press_times)&

0x0F]>

4)&

LCD_BUF[3]=(DigitTable[(KeyUpDown_Press_times>

4)&

LCD_BUF[4]=((DigitTable[(KeyUpDown_Press_times>

_Write_Display();

_DispProcB02

报警显示

显示E1+红屏

void_DispProcB03(void)

_DispProcB04

显示E2+红屏

void_DispProcB04(void)

_DispProcB05

显示E3+红屏

void_DispProcB05(void)

_DispProcB06

显示出水温度、淋浴时间、冷水温度

void_DispProcB06(void)

_DispProcB07

关机显示00

光机时液晶屏只显示00,提示关机

void_DispProcB07(void)

_DispProcB08

显示LE+红屏

void_DispProcB08(void)

_DispProcB09

显示==,提示加热器正在使用中。

void_DispProcB09(void)

_Disp_Deal

处理显示的数据

void_Disp_Deal(void)

;

constPROC_FUNCDisplayProc[]=

_DispProcB01,//满屏

_DispProcB07,//显示00

_DispProcB06,//正常显示

_DispProcB03,//E1+红屏

_DispProcB04,//E2+红屏

_DispProcB05,//E3+红屏

_DispProcB08,//LE+红屏

_DispProcB09,//==

//_DispProcB00,//清屏

_display_next

显示下一屏数据

void_display_next(void)

DisplayPointer=0;

DisplayProcess

显示内容

voidDisplayProcess(void)

DisplayProc[DisplayPointer]();

LED_Refresh

显示年和月份

voidLCD_Refresh(void)

if(LCD_interval==0)

LCD_interval=1;

_display_next();

LCD_interval--;

#ifndef_display_H_

#define_display_H_

PIC.H"

#defineBIAS0x29

#defineSYSEN0x01

#defineLCDOFF0x02

#defineLCDON0x03

#defineLCD_WDT_DIS0x05

//符号显示标志位定义

typedefunion_Dispflag

unsignedcharbyte;

struct

unsignedTemp_flag:

1;

unsignedStep5_flag:

unsignedStep4_flag:

unsignedStep3_flag:

unsignedStep2_flag:

unsignedStep1_flag:

unsignedNouse6:

unsignedNouse7:

}bits;

}_Disp;

_DispDisp_flag;

#defineF_TempDisp_flag.bits.Temp_flag//温度符号标志位

#defineF_Step5Disp_flag.bits.Step5_flag//流量5标志位

#defineF_Step4Disp_flag.bits.Step4_flag//流量4标志位

#defineF_Step3Disp_flag.bits.Step3_flag//流量3标志位

#defineF_Step2Disp_flag.bits.Step2_flag//流量2标志位

#defineF_Step1Disp_flag.bits.Step1_flag//流量1标志位

externunsignedcharLCD_interval,DisplayPointer;

externunsignedcharLCD_BUF[5];

typedefvoid(*PROC_FUNC)(void);

//函数指针类型定义

externvoid_DispProcB01(void);

externvoid_DispProcB02(void);

externvoid_DispProcB03(void);

externvoid_DispProcB04(void);

externvoid_Disp_Deal(void);

externvoidDisplayProcess(void);

externvoidLCD_Refresh(void);

externvoid_Write_Display(void);

externvoid_Display_TEST(void);

externvoidinit_LCD(void);

externvoidTest_LCD(void);

externvoidWrite_1621(unsignedcharaddr,unsignedchardata);

#endif

Even_serve.h"

/*系统配置

/*

/*

voidSYS_CONFIG(void)

//CONFIG1=0b0000111111110100;

//CONFIG2=0b0000111000011111;

/*初始化时钟

/*使用内部定时器8MHZ

voidClock_init(void)

OSCCON=0b01110011;

//内部时钟8MHZ

OSCTUNE=0X00;

//选择中心频率

/*初始化定时器0

/*定时5ms

voidTime0_init(void)

OPTION=0b00000101;

//1:

64预分频比

TMR0=0x07;

//2ms定时

T0IF=0;

//清中断标志

T0IE=1;

//开定时器0中断使能

/*初始化定时器2

voidTime2_init(void)

T2CON=0b00000001;

//1:

1预分频比;

后分频比为1:

1

PR2=0XF9;

//定时500us

TMR2IE=1;

/*初始化看门狗

//voidWDT_init(void)

//{

//WDTCON=0b00010111;

//间隔2s

//}

/*初始化串口

voidUART_init(void)

TXSTA=0b01000101;

RCSTA=0b11010000;

SPBRG=0x33;

//9600波特率,偶校验

TXIE=1;

//使能发送中断

RCIE=1;

//使能接收中断

UART_flag.byte=0x00;

//清串口标志位

TXD=1;

/*初始化复位

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

当前位置:首页 > 表格模板 > 书信模板

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

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