资源简介

“51单片机+adc0809+PT100的24路温度巡检仪”,用51单片机设计的一个基于PROTEUS仿真的24路温度巡检仪,通过LCD1602显示数据,main文件中有操作说明,包含所有设计的源码,PROTEUS仿真图,完全自行设计,帮人做的毕业设计。在此上传给有需要的同志。

资源截图

代码片段和文件信息

#include“lcd.h“
#include

/*******************************************************************************
* 函 数 名         : Lcd1602_Delay1ms
* 函数功能    : 延时函数,延时1ms
* 输    入         : c
* 输    出         : 无
* 说    名         : 该函数是在12MHZ晶振下,12分频单片机的延时。
*******************************************************************************/

void Lcd1602_Delay1ms(uint c)   //误差 0us
{
    uchar ab;
for (; c>0; c--)
{
 for (b=199;b>0;b--)
 {
   for(a=1;a>0;a--);
 }      
}
    
}

void Send_Byte(uchar byte)
{
uchar idat;
dat=byte;
for(i=0;i<8;i++)
{
DS=(bit)(dat&0x80);//从最高位开始传送
shcp=0;//发送线上的数据
_nop_();
shcp=1;
dat<<=1;
}
stcp=0;//锁存到输出存储器
_nop_();
stcp=1;
}
/*******************************************************************************
* 函 数 名         : LcdWriteCom
* 函数功能    : 向LCD写入一个字节的命令
* 输    入         : com
* 输    出         : 无
*******************************************************************************/
#ifndef  LCD1602_4PINS  //当没有定义这个LCD1602_4PINS时
void LcdWriteCom(uchar com)   //写入命令
{
LCD1602_E = 0;     //使能
LCD1602_RS = 0;    //选择发送命令
LCD1602_RW = 0;    //选择写入

Send_Byte(com);     //放入命令
Lcd1602_Delay1ms(1); //等待数据稳定

LCD1602_E = 1;           //写入时序
Lcd1602_Delay1ms(5);   //保持时间
LCD1602_E = 0;
}
#else 
void LcdWriteCom(uchar com)   //写入命令
{
LCD1602_E = 0;  //使能清零
LCD1602_RS = 0;  //选择写入命令
LCD1602_RW = 0;  //选择写入

Send_Byte(com); //由于4位的接线是接到P0口的高四位,所以传送高四位不用改
Lcd1602_Delay1ms(1);

LCD1602_E = 1;  //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;

// Lcd1602_Delay1ms(1);
Send_Byte(com<<4); //发送低四位
Lcd1602_Delay1ms(1);

LCD1602_E = 1;  //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
}
#endif
/*******************************************************************************
* 函 数 名         : LcdWriteData
* 函数功能    : 向LCD写入一个字节的数据
* 输    入         : dat
* 输    出         : 无
*******************************************************************************/    
#ifndef  LCD1602_4PINS    
void LcdWriteData(uchar dat) //写入数据
{
LCD1602_E = 0; //使能清零
LCD1602_RS = 1; //选择输入数据
LCD1602_RW = 0; //选择写入

Send_Byte(dat); //写入数据
Lcd1602_Delay1ms(1);

LCD1602_E = 1;   //写入时序
Lcd1602_Delay1ms(5);   //保持时间
LCD1602_E = 0;
}
#else
void LcdWriteData(uchar dat) //写入数据
{
LCD1602_E = 0;   //使能清零
LCD1602_RS = 1;   //选择写入数据
LCD1602_RW = 0;   //选择写入

Send_Byte(dat); //由于4位的接线是接到P0口的高四位,所以传送高四位不用改
Lcd1602_Delay1ms(1);

LCD1602_E = 1;   //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;

Send_Byte(dat<<4); //写入低四位
Lcd1602_Delay1ms(1);

LCD1602_E = 1;   //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
}
#endif
/*******************************************************************************
* 函 数 名       : LcdInit()
* 函数功能  : 初始化LCD屏
* 输    入       : 无
* 输    出       : 无
*******************************************************************************/    
#ifndef LCD1602_4PINS

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-11 15:39  51单片机24路温度巡检仪\
     文件           0  2018-03-11 15:39  51单片机24路温度巡检仪\1.txt
     文件      275641  2016-05-20 17:46  51单片机24路温度巡检仪\Temper24.DSN
     目录           0  2018-03-11 15:39  51单片机24路温度巡检仪\Temper_24R\
     文件        4226  2016-04-27 22:39  51单片机24路温度巡检仪\Temper_24R\lcd.c
     文件        1115  2016-04-27 19:57  51单片机24路温度巡检仪\Temper_24R\lcd.h
     目录           0  2016-07-08 17:24  51单片机24路温度巡检仪\Temper_24R\Listings\
     文件        7544  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\Listings\lcd.lst
     文件       18415  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\Listings\main.lst
     文件       14146  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\Listings\STARTUP.lst
     文件       30048  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\Listings\Temper_24R.m51
     文件        9828  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\main.c
     目录           0  2016-07-08 17:24  51单片机24路温度巡检仪\Temper_24R\objects\
     文件        5507  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\objects\lcd.obj
     文件       21584  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\objects\main.obj
     文件         819  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\objects\STARTUP.obj
     文件       24454  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\objects\Temper_24R
     文件        1253  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\objects\Temper_24R.build_log.htm
     文件        8459  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\objects\Temper_24R.hex
     文件        3777  2016-04-26 10:34  51单片机24路温度巡检仪\Temper_24R\objects\Temper_24R.LIB
     文件         149  2016-05-20 17:47  51单片机24路温度巡检仪\Temper_24R\objects\Temper_24R.lnp
     文件          89  2016-04-26 10:34  51单片机24路温度巡检仪\Temper_24R\objects\Temper_24R.__b
     文件        6376  2012-01-24 13:42  51单片机24路温度巡检仪\Temper_24R\STARTUP.A51
     文件      139091  2016-05-22 23:02  51单片机24路温度巡检仪\Temper_24R\Temper_24R.uvgui.WuYuan
     文件        5769  2016-04-28 00:36  51单片机24路温度巡检仪\Temper_24R\Temper_24R.uvopt
     文件       14215  2016-04-28 00:36  51单片机24路温度巡检仪\Temper_24R\Temper_24R.uvproj

评论

共有 条评论