资源简介
多路温度压力检测系统Proteus仿真
代码片段和文件信息
#include
#include “intrins.h“
#include
#define u8 unsigned char
#define u16 unsigned int
#define uchar unsigned char
#define uint unsigned int
uchar yushe_wendu=80; //温度预设值
uchar yushe_yali=250; //压力预设值
uint wendu; //温度值全局变量
uchar yali1; //用于读取ADC数据
uchar yali2; //用于读取ADC数据
uchar yali3; //用于读取ADC数据
uchar yali4; //用于读取ADC数据
//运行模式
uchar Mode=0; //=1是设置温度阀值 =2是设置压力阀值 =0是正常监控模式
//管脚声明
sbit Buzzer =P2^3; //蜂鸣器
sbit Fan =P1^7;
//定义三个设置按键
sbit Key_SET = P2^4;
sbit Key_ADD = P2^5;
sbit Key_SUB = P2^6;
sbit Key_OK = P2^7;
sbit ds1 = P1^2;
sbit ds2 = P1^3;
sbit ds3 = P1^4;
sbit ds4 = P1^5;
/********************************************************************
* 名称 : delay_1ms()
* 功能 : 延时1ms函数
* 输入 : q
* 输出 : 无
***********************************************************************/
void delay_ms(uint q)
{
uint ij;
for(i=0;i for(j=0;j<110;j++);
}
void delayUs()
{
_nop_();
}
void delayMs(uint a)
{
uint i j;
for(i = a; i > 0; i--)
for(j = 100; j > 0; j--);
}
/***********************************************************************************************************
LCD1604相关函数
***********************************************************************************************************/
//LCD管脚声明 (RW引脚实物直接接地,因为本设计只用到液晶的写操作,RW引脚一直是低电平)
sbit LCDRS = P2^0;
sbit LCDEN = P2^2;
sbit D0 = P0^0;
sbit D1 = P0^1;
sbit D2 = P0^2;
sbit D3 = P0^3;
sbit D4 = P0^4;
sbit D5 = P0^5;
sbit D6 = P0^6;
sbit D7 = P0^7;
//LCD延时
void LCDdelay(uint z) //该延时大约100us(不精确,液晶操作的延时不要求很精确)
{
uint xy;
for(x=z;x>0;x--)
for(y=10;y>0;y--);
}
void LCD_WriteData(u8 dat)
{
if(dat&0x01)D0=1;else D0=0;
if(dat&0x02)D1=1;else D1=0;
if(dat&0x04)D2=1;else D2=0;
if(dat&0x08)D3=1;else D3=0;
if(dat&0x10)D4=1;else D4=0;
if(dat&0x20)D5=1;else D5=0;
if(dat&0x40)D6=1;else D6=0;
if(dat&0x80)D7=1;else D7=0;
}
//写命令
void write_com(uchar com)
{
LCDRS=0;
LCD_WriteData(com);
// DAT=com;
LCDdelay(5);
LCDEN=1;
LCDdelay(5);
LCDEN=0;
}
//写数据
void write_data(uchar date)
{
LCDRS=1;
LCD_WriteData(date);
// DAT=date;
LCDdelay(5);
LCDEN=1;
LCDdelay(5);
LCDEN=0;
}
/*------------------------------------------------
选择写入位置
------------------------------------------------*/
void SelectPosition(unsigned char xunsigned char y)
{
if (x == 0)
{
write_com(0x80 + y); //表示第一行
}
else if (x == 1)
{
write_com(0xC0 + y); //表示第二行
}
else if (x == 2)
{
write_com(0x90 + y);
}
else if (x == 3)
{
write_com(0xD0 + y);
}
}
/*------------------------------------------------
写入字符串函数
------------------------------------------------*/
void LCD_Write_String(unsigned cha
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25966 2018-06-03 22:39 多路温度压力检测系统\多路温度压力检测系统仿真图\Backup Of 压力温度报警系统.pdsbak
文件 26017 2018-05-30 20:01 多路温度压力检测系统\多路温度压力检测系统仿真图\Last Loaded 压力温度报警系统.pdsbak
文件 25966 2018-06-03 22:39 多路温度压力检测系统\多路温度压力检测系统仿真图\压力温度报警系统.pdsprj
文件 5248 2018-05-28 17:44 多路温度压力检测系统\多路温度压力检测系统仿真图\压力温度报警系统.pdsprj.Lenovo-PC.fwp.workspace
文件 5246 2018-06-03 22:39 多路温度压力检测系统\多路温度压力检测系统仿真图\压力温度报警系统.pdsprj.MS-20170710PUVZ.Administrator.workspace
文件 27305 2018-05-31 02:02 多路温度压力检测系统\多路温度压力检测系统程序\main.c
文件 52267 2018-05-31 02:05 多路温度压力检测系统\多路温度压力检测系统程序\main.LST
文件 54327 2018-05-31 02:05 多路温度压力检测系统\多路温度压力检测系统程序\main.OBJ
文件 48195 2018-05-31 02:05 多路温度压力检测系统\多路温度压力检测系统程序\TP
文件 13800 2018-05-31 02:05 多路温度压力检测系统\多路温度压力检测系统程序\TP.hex
文件 23 2018-05-31 02:05 多路温度压力检测系统\多路温度压力检测系统程序\TP.lnp
文件 65597 2018-05-31 02:05 多路温度压力检测系统\多路温度压力检测系统程序\TP.M51
文件 13362 2018-05-31 02:03 多路温度压力检测系统\多路温度压力检测系统程序\多路温度压力检测系统.uvproj
目录 0 2018-06-03 22:40 多路温度压力检测系统\多路温度压力检测系统仿真图
目录 0 2018-06-03 22:41 多路温度压力检测系统\多路温度压力检测系统程序
目录 0 2018-06-03 22:40 多路温度压力检测系统
----------- --------- ---------- ----- ----
363319 16
评论
共有 条评论