资源简介
应用于本科毕设《室内有害气体检测系统的设计》,主要包括proteus仿真和C程序

代码片段和文件信息
#include
#include
#define ulong unsigned long
#define uchar unsigned char
#define uint unsigned int
#define LCD1602_PORT P1
#define PCF8591 0x90
#define NOP() _nop_()
#define _Nop() _nop_()
sbit SCL=P2^1;
sbit SDA=P2^0;
sbit LCD1602_RS = P2^5;
sbit LCD1602_RW = P2^4;
sbit LCD1602_EN = P2^3;
bit ack;
sbit key1= P0^4;
sbit key2 = P0^5;
sbit buzz = P2^6;
int g=50;
void delay_ms(uint n)
{
unsigned int ij;
for(i=0;i for(j=0;j<123;j++);
}
void key()
{
key1 = 1;
delay_ms(50);
if(key1==0)g=g+1;
if(g>99)g==0;
key2 = 1;
delay_ms(50);
if(key2==0)g=g-1;
if(g<0)g==99;
}
/*应答标志位*/
// 变量定义
uchar AD_CHANNEL;
ulong xdata LedOut[8]; //单片机内部存取器
ulong fvacj;
uchar date;
// 函数申明
extern bit ack; //起动总线函数
extern void Start_I2c(); //结束总线函数
extern void Stop_I2c(); //应答子函数
extern void Ack_I2c(bit a); //字节数据发送函数
extern void SendByte(uchar c); //有子地址发送多字节数据函数
extern bit ISendStr(uchar slauchar subauchar *suchar no) ; //无子地址发送多字节数据函数
extern bit ISendStrExt(uchar slauchar *suchar no); //无子地址读字节数据函数
extern uchar RcvByte();
void LCD1602_delay_ms(uint n);
void LCD1602_write_com(uchar com);
void LCD1602_write_data(ulong dat);
void LCD1602_write_word(uchar *s);
void Init_LCD1602();
bit ISendByte(uchar slauchar c);
uchar IRcvByte(uchar sla);
//MS延时函数(12M晶振下测试)
//写指令
void LCD1602_write_com(uchar com)
{
LCD1602_RS = 0; //1602液晶显示屏的数据/命令选择端置0数据/命令(H/L),此时选择写命令操作
delay_ms(1);
LCD1602_EN = 1; //使能,也就是打开液晶接收数据命令的通道
LCD1602_PORT = com; //把命令送给P2口
delay_ms(1);
LCD1602_EN = 0;
}
//写数据
void LCD1602_write_data(ulong dat)
{
LCD1602_RS = 1; //1602液晶显示屏的数据/命令选择端置0数据/命令(H/L),此时选择写数据操作
delay_ms(1);
LCD1602_PORT = dat; //把数据送给P2口
LCD1602_EN = 1;
delay_ms(1);
LCD1602_EN = 0;
}
//连续写字符
void LCD1602_write_word(uchar *s)
{
while(*s>0)
{
LCD1602_write_data(*s);
s++;
}
}
//1602初始化函数
void Init_LCD1602()
{
LCD1602_EN = 0;
LCD1602_RW = 0; //设置为写状态
LCD1602_write_com(0x38); //显示模式设定
LCD1602_write_com(0x0c); //开关显示、光标有无设置、光标闪烁设置
LCD1602_write_com(0x06); //写一个字符后指针加一
LCD1602_write_com(0x01); //清屏指令
}
/*******************************************************************
起动总线函数
函数原型: void Start_I2c();
功能: 启动I2C总线即发送I2C起始条件.
********************************************************************/
void Start_I2c()
{
SDA=1; /*发送起始条件的数据信号*/
_Nop();
SCL=1;
_Nop(); /*起始条件建立时间大于4.7us延时*/
_Nop();
_Nop();
_Nop();
_Nop();
SDA=0; /*发送起始信号*/
_Nop(); /* 起始条件锁定时间大于4μs*/
_Nop();
_Nop();
_Nop();
_Nop();
SCL=0; /*钳住I2C总线,准备发送或接收数据 */
_Nop();
_Nop();
}
/*******************************************************************
结束总线函数
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-23 19:56 仿真\
文件 6376 2009-05-07 14:37 仿真\STARTUP.A51
文件 14052 2018-01-09 21:54 仿真\STARTUP.LST
文件 749 2018-01-09 21:54 仿真\STARTUP.OBJ
文件 16945 2018-01-09 21:54 仿真\szdyb
文件 14613 2018-01-09 21:54 仿真\szdyb.LST
文件 20445 2018-01-09 21:54 仿真\szdyb.M51
文件 17980 2018-01-09 21:54 仿真\szdyb.OBJ
文件 1141 2018-01-09 21:54 仿真\szdyb.build_log.htm
文件 8354 2018-01-09 21:54 仿真\szdyb.c
文件 3916 2018-01-09 21:54 仿真\szdyb.hex
文件 58 2018-01-09 21:54 仿真\szdyb.lnp
文件 185 2017-03-02 11:17 仿真\szdyb.plg
文件 70952 2018-01-09 21:54 仿真\szdyb.uvgui.admin
文件 5985 2018-01-09 14:05 仿真\szdyb.uvopt
文件 14016 2018-01-09 14:05 仿真\szdyb.uvproj
文件 57272 2017-03-02 11:16 仿真\szdyb_uvopt.bak
文件 0 2016-12-01 09:08 仿真\szdyb_uvproj.bak
目录 0 2018-04-23 19:56 仿真\仿真\
文件 24949 2018-04-17 20:22 仿真\仿真\Backup Of 实训板仿真.pdsbak
文件 141438 2018-01-09 19:54 仿真\仿真\Last Loaded 实训板仿真.DBK
文件 24949 2018-04-17 20:55 仿真\仿真\Last Loaded 实训板仿真.pdsbak
文件 768 2018-01-09 21:54 仿真\仿真\实训板仿真.PWI
文件 25349 2018-04-23 15:06 仿真\仿真\实训板仿真.pdsprj
文件 2196 2018-04-23 15:28 仿真\仿真\实训板仿真.pdsprj.PC201610261759.Administrator.workspace
- 上一篇:opencv 3.1.0 自带例程介绍
- 下一篇:基于单片机的洗衣机控制系统设计
相关资源
- Apolipoprotein E4 Impairs in vivo Hippocampal
- Zprotect专业版(无限制) 一机一码E
- 51单片机PWM程序,占空比、周期可调整
- PIC单片机完成的电子密码锁
- proteus仿真 AT89C51输出各种波形
- 00
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- proteus_24C08—有注释(proteus里面使用的
- DS18B20分布式多点测温的Proteus仿真
- 基于proteus的单片机仿真--交通灯控制
- 带时间温度显示的室内灯光控制系统
- 51多机通信(内附Proteus及.hex文件)
- IIC proteus仿真实验
- 8086交通灯 Proteus原理图及程序
- 单片机仿真软件proteus6.7免安装绿色版
- 基于SPCE061A的矿山锅炉水温监测系统设
- 关于proteus仿真arm7出现错误的问题
- 基于PROTEUS的ARM7显示系统设计与仿真实
- Novel fluorescent proteins generated by de nov
- 基于Arduino和Machtalk的温棚环境监测系
- PCB设计软件Protel使用中常见问题汇总
- 基于MC68HC908RF2的汽车胎压监测系统的
- 新庄孜矿微震监测系统的传感器安装
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- 单片机驱动4相步进电机proteus仿真
- 基于无线传感网络的矸石山自燃监测
- 基于ZigBee的温室花房环境监测系统设
- 基于ZigBee温室环境监测系统电路设计
评论
共有 条评论