标题: 我的单片机温度上下限报警器(上下限可调)设计含源码、原理图及相关资料 [打印本页]

作者: 惜缘2008    时间: 2017-5-5 18:17
标题: 我的单片机温度上下限报警器(上下限可调)设计含源码、原理图及相关资料
这是近期做的温度上下限报警器课程设计,
单片机初学者,自己独立完成,能够达到
预期的效果,内涵AD画的PCB图,protues仿真图,
源码、自己原创,新手希望和大家一块学习。[code]#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P2^3;//ds18b20与单片机连接口
sbit lcden=P2^2;
sbit lcdrw=P2^1;
sbit lcdrs=P2^0;
sbit beep= P3^7;
sbit blue_led=P2^4;
sbit red_led=P2^5;
//sbit dula=P2^6;
//sbit wela=P2^7;
sbit s1=P1^0;
sbit s2=P1^1;
sbit s3=P1^2;
uchar code table[]="Current-T:     ";
uchar code table1[]="Up:28   Dn:25   ";  
uchar p=0,num,aa,bb,s1num,flag,flag1;
uint temp;//温度值
uchar tflag;//温度正负标志
char upvalue,downvalue;
//*************************lcd1602程序**************************/
void delay1ms(uint ms)//延时1毫秒
{
        uint i,j;
        for(i=0;i<ms;i++)
        for(j=0;j<114;j++);
}
//*************************报警程序**************************/
/*void didi()
{
   beep=0;
   delay1ms(200);
   beep=1;
}*/
void wr_com(uchar com)//写指令//
{
    delay1ms(1);
    lcdrs=0;
    lcdrw=0;
    lcden=0;
    P0=com;
    delay1ms(1);
    lcden=1;
    delay1ms(1);
    lcden=0;
}
void wr_data(uchar date)//写数据//
{
    delay1ms(1);
    lcdrs=1;
    lcdrw=0;
    lcden=0;
    P0=date;
    delay1ms(1);
    lcden=1;
    delay1ms(1);
    lcden=0;
}
void init()//初始化设置//
{
    upvalue=28;
    downvalue=25;
    //dula=0;
    //wela=0;
    blue_led=1;
    red_led=1;
    beep=1;
    wr_com(0x38);
    wr_com(0x0c);
    wr_com(0x04);
    wr_com(0x01);
    wr_com(0x80);
   for(num=0;num<15;num++)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1