文档介绍:总程序
#include<>
#define uchar unsigned char
#define uint unsigned int
#m 0 //指令
#define dat 1 //数据
/*---------------------MAX186相关函数声明-------------------------*/
sbit max186_CLK=P1^0; // 186的19引脚
sbit max186_CS=P1^1; // 186的18引脚
sbit max186_DIN=P1^2; // 186的17引脚
sbit max186_DOUT=P1^3; // 186的15引脚
int ad;
uchar qw,ad_high,ad_high1,ad_low,ad_low1,cai; //温度的十位个位小数点后两位定时变量cai
uint addata;
uchar i;
uint ad186(uchar); /*输入选择的模式*/
void max186_ad(); // AD转换子程序
void delay(uchar ms); //延时程序
void max186_ad1();
/*----------------------DS1302相关函数声明-------------------------*/
char TAB_1302[]={ 0x53,0x58,0x23, // 秒分时
0x31,0x12,0x02,0x13}; //日月星期年
sbit T_CLK=P2^5; //DS1302 时钟
sbit T_IO =P2^6; //DS1302 数据口
sbit T_RST=P2^7; //DS1302 复位
uchar bdata datbyte;
uchar ge,shi,ge1,shi1,ge2,shi2,ge3,shi3,ge4,shi4,ge5,shi5;
sbit datbyte0=datbyte^0;
sbit datbyte7=datbyte^7;
void w_1302byte(uchar date); //写数据
void get_1302(void); //读数据
void init_1302(void); //初始化1302
uchar r_1302byte(void); //读1字节
void write_1302(uchar addr,uchar date); //写一字节
uchar read_1302(uchar addr);
/*----------------DS1302结束-------------------------*/
/*----------------12864相关函数声明-------------------------------*/
sbit cs=P2^2;
sbit std=P2^1;
sbit sclk=P2^0;
void init_lcd(void); //LCD初始化
void wr_lcd (uchar m,uchar content); //LCD写数据
void Delayms (uchar a); // 1MS
void delayus (uint us); // 1us
void LCDSendWord(unsigned char *p); //12864 显示汉字
void disp(void); //显示函数
void year(void); //年
void month(void); //月
void day(void); //日
void hour(void); //时
void minute(void); //分
void second(void); //秒
void third(void);
/***继电器****/
sbit PWM=P0^7; // 0导通 1关
float temp=50; //温度设定值
void control(void); //温度控制程序
float tempce; //获取的当前温度
bit F; //显示186的标志位
uint timepwm; //PWM频率
/***---------------------*****/
void main(void)
{
init_lcd(); //初始化LCD
init_1302(); //初始化1302
Delayms(5); //延时5ms
ad=ad186(0); //先显示一次当前温度
max186_ad();