关于单片机时钟的C程序,大侠帮帮忙~~~

来源:百度知道 编辑:UC知道 时间:2024/05/27 10:42:01
如题~~~

#include<AT89X52.h>
#define uchar unsigned char
//#define uint unsigned int

uchar th_0,th_1;
uchar tm_0,tm_1;
uchar ts_0,ts_1;
uchar t0;
void init();
void lcd0801(char x,unsigned char buf[9],char y);
void display();
void clk();
void main()
{
init();
clk();
}
void init()
{
TMOD=0x01;
TH0=(65536-(int)(50000*11.0592/12))/256;
TL0=(65536-(int)(50000*11.0592/12))%256;
EA=1;
ET0=1;
TR0=1;
t0=0;
th_0=0;
th_1=0;
tm_0=0;
tm_1=0;
ts_0=0;
ts_1=0;

}
void temer0() interrupt 1
{
TH0=(65536-(int)(50000*11.0592/12))/256;
TL0=(65536-(int)(50000*11.0592/12))%256;
t0++;
}
#define CLKLCD P1_6

void lcd0801函数是将数据送往LCD显示,显示的值就是buf里面的东西。而void clk()函数是用于计算时间的,如时分秒的值,由于分秒是60进制的,所以得自己修改。

你需要好好学习一下C语言
^_^

就是液晶显示模块,下个0801的pdf对着时序写就可以了。

我刚空着帮你复到Keil里去看了看,你这个程序本身就错误多多(14个错误),不是有效的程序,真不太好解析……
其实C程序只要你掌握了那些符号以及关键字的用法的话,我敢肯定,虽然你有时整个C程序联系起来看不懂,但每一句你看得懂,最后训练熟练了就有一定的技术的,自己会写C程序,如果复杂点的至少每一句的意思是能懂的……
在帮楼主补充点,刚学C语言,那些太复杂的,不要过于追究,放弃它,先学点简单的……

c++学习中
等待有人解答
跟着学习学习