找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于12864的温度报警系统单片机源程序

[复制链接]
跳转到指定楼层
楼主
ID:427492 发表于 2019-5-16 12:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "intrins.h"
#include "string.h"
#include "STC15Fxxxx.h"
#include "main.h"
#include "W25QXX.h"
#include "COG12864-5V.h"
#include "zima.h"
#include "DS18B20.h"
#include "setTem.h"
#include "key.h"
#include "AT24C0X.h"
void InitG(unsigned int dat,unsigned int dath,unsigned int datl)//12864液晶界面显示内容初始化化
{
        // 显示形式: 20.3 C        
        Print(0,38,songti,"温度");
        DisplayDigit(0,70,mao);
        DisplayDigit(0,78,dig[dat%10000/1000]);
        DisplayDigit(0,86,dig[dat%1000/100]);
        DisplayDigit(0,93,dian);
        DisplayDigit(0,104,dig[dat%100/10]);
         DisplayDigit(0,112,se);
        DisplayDigit(0,120,si);
        
        //显示形式为  上限温度:35        
        Print(4,0,songti,"上限温度");
        DisplayDigit(4,64,mao);
        DisplayDigit(4,74,dig[dath/10]);
        DisplayDigit(4,82,dig[dath%10]);
        
        //显示形式为   下限温度:8
        Print(6,0,songti,"下限温度");
        DisplayDigit(6,64,mao);
        DisplayDigit(6,74,dig[datl/10]);
        DisplayDigit(6,82,dig[datl%10]);
}
void main()
{
        unsigned char keyvalue = 0xff,i;
        PortInit();                                    //端口初始化        
        InitTimer();                            //定时器0初始化
        InitSPI();                              //W25QXX初始化
        COG_Initialize();                       //设置液晶显示格式
    LCD_Clr();                              //清屏
        
        while(1)
        {        
                keyvalue = key_scan();              //获取按键值
                tem = Conversion(ds18b20ReadTemp());//获取温度
                temh = read_24c04(0x80);
                teml = read_24c04(0x86);
                warn();                             //警报界限判断
                InitG(tem,temh,teml);               //12864液晶显示
                LCD_Clr();                          //清屏
                Delay(10);
                setwendu(keyvalue);                 //设置上下限温度值
                if(TR0 == 1)                        //进入定时器0中断后开始对frq累加
                {
                        for(i=0;i<30;i++)
                        {
                                frq++;
                        }
                }
               
        }
}

1.jpg (3.27 MB, 下载次数: 42)

图片.jpg

图片.jpg

基于12864显示温度及报警系统.rar

2.16 MB, 下载次数: 39, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:427492 发表于 2019-7-12 13:31 | 只看该作者
效果图

P90712-132636.jpg (3.44 MB, 下载次数: 42)

P90712-132636.jpg
回复

使用道具 举报

板凳
ID:427492 发表于 2019-8-6 10:36 | 只看该作者
由于当时没重视字库的烧写问题,现在我特意整理了一下使用步骤,需要的可以看看

字库烧录步骤.docx

12.34 MB, 下载次数: 4, 下载积分: 黑币 -5

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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