找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2863|回复: 0
打印 上一主题 下一主题
收起左侧

我的单片机温度上下限报警器(上下限可调)设计含源码、原理图及相关资料

[复制链接]
跳转到指定楼层
楼主
ID:191929 发表于 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++)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表