![](https://csdnimg.cn/release/download_crawler_static/87985836/bg5.jpg)
二.程序设计:
/**************************************************************************
名称:学校作息时间控制系统的设计程序,基于 AT89C51 单片机,用 lcd12864 显示
内容:三个按键:mode(模式)、inc(增加)、dec(减少) 一 个 LCD12864 显 示 一 个
DS18B20 数字温度计和一个声音播放器 SOUNDER
日期:2011-6-7
编写:黄健
**************************************************************************/
#include<reg51.h>
#include<intrins.h>
#define LCD P0
sbit DQ=P3^7; //定义 DS18B20 数据端口
sbit P07=P0^7; //小数点控制 I0
sbit mode=P1^0; //key1 分
sbit inc=P1^1; //kye2 时
sbit dec=P1^2; //key3 闹铃
sbit fmq=P1^7; //蜂鸣器接口
sbit E=P2^0; //用于 DS18B20 接线端口
sbit RW=P2^1;
sbit RS=P2^2;
sbit CS1=P2^4;
sbit CS2=P2^3;
sbit BUSY=P0^0;
unsigned char a,i,j,k;
unsigned char bai,shi,ge,xiaoshu; //用于表示温度
unsigned int realtemp; // 读取的实际温度值
unsigned char flag; //正负标志位
unsigned char fu; //符号寄存器
unsigned char count,hour,minute,second=0; //用于表示时间
unsigned char mode_value=0 ,xf; //调节模式
unsigned char month=6 ,day=7 ; //用于表示日期
unsigned char h1,h2,f1,f2,s1,s2=0; //用于显示时间
unsigned char m1,m2;d1,d2; //用于显示日期
unsigned char ds[20][2] =
{
{8,0},{8,45},{8,55},{9,40},{10,0},{10,45},{10,55},{11,40},{14,0},{14,45},
{14,55},{15,40},{16,0},{16,45},{16,55},{17,40},{19,0},{19,45},{19,55},{20,40}
}; //用于定时闹铃
unsigned char code zi[28][16]=
{
{0x20,0x20,0x24,0xA4,0xA4,0xBF,0xA4,0xE4,0xA4,0xBF,0xA4,0xE6,0xA4,0x30,0x20,0x
00} ,/*"黄”,0*/
{0x00,0x80,0x80,0x5F,0x4A,0x2A,0x0A,0x0F,0x0A,0x2A,0x2A,0x4F,0x40,0x80,0x00,0x0