我看了一下你的程序,有一部分警告是你用关键字extern声明外部函数和外部变量的问题。如果你打算就用一个用.c文件把程序写完,就建议把extern删除。因为extern是声明函数已经在外面定义的。另外一些警告是因为你只声明了函数没有详细定义函数,还有一个警告是你声明了一个函数,但你在程序中没有用到它。我帮你改了一下,经编译没有警告了。你可以参考一下。希望可以帮到您。
//-------主函数模块-------
#include <reg52.h>
#include <intrins.h>
#define uc unsigned char
#define ui unsigned int
/*
//声明外部变量和外部函数
extern uc LCD_x
extern uc LCD_y
extern uc Neg_hang//反色显示的行
extern void init_lcd(void)
extern void clr_lcd(uc hang)
extern void clr_lie(uc rl,uc lie_shu)//清若干列
extern void disp_vol(unsigned char vol)
extern void disp_str( char *p)
*/
void init_lcd()
void clr_lcd(uc hang)
//void clr_lie(uc rl,uc lie_shu)//清若干列
void disp_vol(uc vol)
void disp_str(char *p)
uc LCD_x
uc LCD_y
uc Neg_hang//反色显示的行
//定义时钟相关变量
uc time250us
uc time50ms
uc time1s
uc min
uc hour
void time0(void) interrupt 1 using 1//To中断函数,使时钟自动计时
{
if(++time250us>199)
{
time250us=0
if(++time50ms>19)
{
time50ms=0
if(++time1s>59)
{
time1s=0
if(++min>59)
{
min=0
hour++
}
}
}
}
}
//------CPU初始函数------
void init()
{
TMOD=0x20
TH0=256-250
TL0=256-250
IE=0x82
TR0=1
time250us=0
time50ms=0
time1s=0
min=0
hour=0
}
//------主函数------
void main()
{
init()
Neg_hang=6//第四行反色显示的行
init_lcd()
LCD_x=0
LCD_y=0
clr_lcd(1)//清屏
clr_lcd(2)
clr_lcd(3)
clr_lcd(4)
P1=0xff
LCD_x=0
LCD_y=0//从第一行第一列开始显示下面的字符串
disp_str("happy birthday!")
LCD_x=0
LCD_y=2//从第2行第一列开始显示下面的字符串
disp_str("love you forver")
LCD_x=127-(16*5)
LCD_y=4//从第3行第37列开始显示下面的字符串
disp_str("jayant")
while(1)
{
if(!time50ms)
{
LCD_x=30
LCD_y=6
disp_vol(hour/10)
disp_vol(hour%10)
disp_str(":")
disp_vol(min/10)
disp_vol(min%10)
disp_str(":")
disp_vol(time1s/10)
disp_vol(time1s%10)
}
}
}
void init_lcd()
{}
void clr_lcd(uc hang)
{
hang=hang
}
/*
void clr_lie(uc rl,uc lie_shu)//清若干列
{
rl=rl
lie_shu=lie_shu
}
*/
void disp_vol(uc vol)
{
vol=vol
}
void disp_str(char *p)
{
p=p
}
12864是属于LCD 液晶显示的,LCD是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
12864就是利用这样的原理实现字符与图片的显示的。但是单纯的液晶屏仅仅指那两片玻璃屏,不容易 *** 作,所以一般都会加上驱动IC。
下面我以图片详细像你说明:
这个就是那两片玻璃,中间夹有液体。 *** 作它很麻烦,要用到很多的连接线:
那上下两侧的就是用来控制屏幕的,这些接口和玻璃瓶是通过两个小东西连接的:
连接之后就是这个样子了:
当然只是这样还是不行的,还要加上背光,不然显示出来的字符或图片看不到,背光是用很多串联的LED实现的:
大体就是这样了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)