编写详细简洁的C语言程序在 µ’nSP™十六位单片机实验箱 SPLC501 液晶显示器上完成一个简单电子时钟,开发平台为u'nSP IDE,一定需要注意要求是只能用头文件SPLC501User.h,不能用其他的头文件,同时要将使用到的函数定义在前面 SPLC501 液晶显示模组英文字符显示相关的 API 函数如下: void LCD501_Init(unsigned int InitialData) //初始化液晶显示 void LCD501_ClrScreen(unsigned int Mode) //点亮屏幕或清屏 void LCD501_SetPaintMode(unsigned ModeCode) //设置图形显示模式 unsigned int LCD501_GetPaintMode(void) //获取图形显示模式 void LCD501_FontSet(unsinged int Font) //选择显示字符的字体大小 unsigned int LCD501_FontGet(void) //获得显示字符的字体大小 void LCD501_Char(int x,int y,unsigned int a) //显示字符 void LCD501_PutString(int x,int y,unsigned int a) //显示字符串
时间: 2024-03-14 12:45:02 浏览: 129
以下是一个简单的电子时钟程序,使用SPLC501User.h头文件,仅使用此头文件中的API函数进行操作:
```
#include "SPLC501User.h"
void delay(unsigned int n) //延时函数
{
unsigned int i;
while(n--)
{
for(i=0;i<1000;i++);
}
}
void main(void)
{
unsigned int hour=0,minute=0,second=0; //时分秒变量
LCD501_Init(0x00); //初始化液晶显示
while(1)
{
//显示时分秒
LCD501_ClrScreen(0); //清屏
LCD501_FontSet(0x02); //设置字体大小
LCD501_PutString(0,0,"Time:"); //显示Time:
//显示时
if(hour<10)
{
LCD501_Char(40,0,'0'); //补零
LCD501_Char(48,0,hour+'0');
}
else
{
LCD501_Char(40,0,hour/10+'0');
LCD501_Char(48,0,hour%10+'0');
}
//显示分
LCD501_Char(56,0,':');
if(minute<10)
{
LCD501_Char(64,0,'0'); //补零
LCD501_Char(72,0,minute+'0');
}
else
{
LCD501_Char(64,0,minute/10+'0');
LCD501_Char(72,0,minute%10+'0');
}
//显示秒
LCD501_Char(88,0,':');
if(second<10)
{
LCD501_Char(96,0,'0'); //补零
LCD501_Char(104,0,second+'0');
}
else
{
LCD501_Char(96,0,second/10+'0');
LCD501_Char(104,0,second%10+'0');
}
//时间加1秒
second++;
if(second>=60)
{
second=0;
minute++;
if(minute>=60)
{
minute=0;
hour++;
if(hour>=24)
{
hour=0;
}
}
}
delay(1000); //延时1秒
}
}
```
该程序使用了一个无限循环来不断更新LCD显示。在循环中,首先清空屏幕,然后显示“Time:”字样和当前的时分秒。之后将时分秒变量加1秒,并延时1秒。注意,在显示时分秒时,需要对单个数字进行判断,如果小于10,需要在前面补0。
阅读全文