📄 display.c
字号:
//========================================================
// 语法格式: void Display(unsigned int)
// 实现功能: 显示,将电压显示在1602液晶屏上
// 参数: 要显示的电压
// 返回值: 无
//========================================================
#include "LCD1602_User.h"
#define P_Watchdog_Clear (volatile int*)0x7012
#define P_IOA_Data (volatile unsigned int *)0x7000
#define P_IOA_Buffer (volatile unsigned int *)0x7001
#define P_IOA_Dir (volatile unsigned int *)0x7002
#define P_IOA_Attrib (volatile unsigned int *)0x7003
unsigned int Data[10]={0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,0x0038,0x0039};
void Delay(unsigned int uiTime);
void Displayvolt(float uiData)
{
unsigned int k[3];
unsigned int uiGe;
unsigned int uiShi_d;
k[0]=*P_IOA_Dir;
k[1]=*P_IOA_Attrib;
k[2]=*P_IOA_Data;
// unsigned int Data[10] = {0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,0x0038,0x0039};
//显示温度的十分位
//***************电压数据处理***************************************
uiData=uiData*10;
uiGe=uiData/10;
uiShi_d=uiData-uiGe*10;
Write_Command(0x0080); //设置显示地址,第一行显示
//if(uiBai)
//Write_Data(Data[uiBai]);
Write_Data(Data[uiGe]);
Write_Data('.');
Write_Data(Data[uiShi_d]);
Write_Data('v');
*P_IOA_Dir=k[0];
*P_IOA_Attrib=k[1];
*P_IOA_Data=k[2];
}
//=========================================================
// 语法格式: void Display(unsigned int)
// 实现功能: 显示,将频率显示在1602液晶屏上
// 参数: 要显示的频率
// 返回值: 无
//========================================================
void Displayfre(unsigned int uiData)
{
unsigned int uiShi; //显示温度的十位
unsigned int uiGe;
unsigned int k[3];
k[0]=*P_IOA_Dir;
k[1]=*P_IOA_Attrib;
k[2]=*P_IOA_Data; //显示温度的个位
//***************频率数据处理***************************************
//万位
// uiwan=uiData/10000;
// uiData=uiData-uiwan*10000;
// uiqian=uiData/1000;
// uiData=uiData-uiqian*1000;
// uiBai=uiData/100;
// uiData=uiData-uiBai*100;
uiShi=uiData/10;
uiGe=uiData-uiShi*10;
//uiGe=uiData;
//显示
Write_Command(0x00c0); //设置显示地址,第二行显示
//if(uiwan) Write_Data(Data[uiwan]);
// Write_Data(Data[uiqian]);//if(uiwan||((uiwan==0)&&(uiqian!=0)))
/// Write_Data(Data[uiBai]); //if(uiwan||uiqian||((uiwan==0)&&(uiqian==0)&&(uiBai!=0)))
Write_Data(Data[uiShi]);//if(uiwan||uiqian||uiBai||((uiwan==0)&&(uiqian==0)&&(uiBai==0)&&(uiShi!=0)))
Write_Data(Data[uiGe]);
Write_Data('/');
Write_Data('d');
*P_IOA_Dir=k[0];
*P_IOA_Attrib=k[1];
*P_IOA_Data=k[2];
}
void PowerOn(void)
{
int i;
LCD1602_Initial(); //调用初始化程序,包括进行端口初始化和LCD初始化
Write_Command(0x0080); //设置当前DDRAM地址为0x00
Write_Data('z'); //www.unsp.com.cn
Write_Data('h');
Write_Data('a');
Write_Data('n');
Write_Data('g');
Write_Data('_');
Write_Data('y');
Write_Data('o');
Write_Data('u');
Write_Data('_');
Write_Data('m');
Write_Data('i');
Write_Data('n');
Write_Data('_');
Write_Data(' ');
Write_Command(0x00c0); //在第二行显示
Write_Data('T'); //显示电话:TEL 62981668-2965
Write_Data('E');
Write_Data('L');
Write_Data('1');
Write_Data('3');
Write_Data('6');
Write_Data('6');
Write_Data('6');
Write_Data('6');
Write_Data('3');
Write_Data('3');
Write_Data('5');
Write_Data('3');
Write_Data('2');
Write_Data('h');
Write_Data('z');
for(i=0;i<20;i++)
{
Delay(6553); //延时
*P_Watchdog_Clear=0x0001; //清看门狗
}
Write_Command(0x0001);
}
void Delay(unsigned int uiTime)
{
while(uiTime > 0)
{
uiTime -= 1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -