//时间:2015-3-12 晶振:12Mkz
//功能:该系统具有:当前时间计时(掉电保存)、电机测速、 温度检测(18B20) 语音播报当前速度 与 里程
#include<reg52.h> //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
#define LCD12864_IN_PORT P2
#define Cir_dat 0.5 //周长 M
sbit key_1=P3^3; //I/O口定义
sbit key_2=P3^4;
sbit key_3=P3^5;
sbit key_4=P3^6;
sbit key_5=P3^7;
sbit led_1=P0^4;
sbit led_2=P0^5;
sbit beep=P1^3;
sbit rst=P1^6;
sbit date=P1^5;
sbit busy=P1^4;
sbit dq=P1^7;
sbit LCD12864_RS=P0^0; //12864控制I/O口
sbit LCD12864_RW=P0^1;
sbit LCD12864_EN=P0^2;
sbit LCD12864_PSB=P0^3;
sbit SCLK=P1^0; //DS1302时钟
sbit SDA=P1^1; //DS1302数据
sbit RST=P1^2; //DS1302片选
unsigned long LC_dat; //长整型数据
uint ys,temp,fs,LC,CS;
uchar state,time_ms,shu,Time[7],SD=50;
bit flag,ss,beep_flag; //标志位
void Delay_ms(uint T) //延时程序 T us
{
while(T--);
}
void delay(uint x) //延时函数 x*100us
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void read(uchar z) //语音播报 z
{
rst=1;
delay(2);
rst=0;
delay(2);
while(z>0)
{
date=1;
delay(1);
date=0;
delay(1);
z--;
}