8051单片机定时程序

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:27:30
大哥大姐们,希望你们能帮我一下,我对单片机了解不多,但是现在要设计一个程序,设计80c51每天定时控制电机(当然电机是用来抽水的)开和关,每天早上9点开20分钟后停,然后晚上6点开在20分钟后停.希望你们能帮我写个程序了,谢谢了!
大哥大姐,我就是不会编程啊!希望你们能给我一个程序,这肯定是个闹钟程序了,CPU,管脚,驱动等你们自己随便写,我在加十分了.谢谢

#include<reg51.h> //头文件//
#define uchar unsigned char
#define uint unsigned int
#define ulint unsigned long int
uchar tcount,tflag=0;
uchar flag=2;
uchar signtime[8]={0x01,0x07,0x0f,0x00,0x01,0x0f,0x00,0x00};
uchar signdate[8]={0x00,0x09,0x0f,0x00,0x04,0x0f,0x00,0x01};

#define tn0h 0x70
#define tn0l 0x00
#define tn1h 0x70
#define tn1l 0x01

sbit diverout=P2^0;///输出控制电机?
//********10ms延时*********//
void delay10ms(void)
{
uchar i=255;
uchar j=255;
while(i>0)
{
j=255;
while(j>0)
j--;
i--;
}
}
//****键盘扫描 时间修改*****//
void keyscan()
{
uchar key=0;
if(P1!=0xff)
{
delay10ms();
delay10ms();
if(P1!=0xff)
{
TR0=0;
if(P1==0x7f)flag++;
if(flag>2)flag=0;
if(P1==0xbf){lcd_init();display();}
if(flag==0)
{
if(P1==0xfe)signtime[0