设为首页
收藏本站
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
EDA设计仿真
›
51单片机火灾报警Proteus仿真程序 adc0808+1602显示 ...
返回列表
发新帖
51单片机火灾报警Proteus仿真程序 adc0808+1602显示
[复制链接]
3
|
0
|
2020-1-22 12:10:39
|
显示全部楼层
|
阅读模式
用滑动变阻代替烟雾、温度传感器。采有adc0808双通道,通过at89c52,lcd1602显示。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
#include "reg52.h"
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define yushe_wendu 54
#define yushe_yanwu 23
uchar code Init1[]="SET:000 NOW:000";
uchar code Init2[]="SEY:000 NOW:000";
uchar code num[]="0123456789";
uchar temp;
unsigned char CHANNEL; //AD channel variable
sbit ST_ALE=P3^0; //START and ALE both connect to P3.0
sbit EOC=P3^1; //EOC connect to P3.1
sbit OE=P3^2; //OE conect to P3.2
sbit CLK=P3^3;
sbit lcdrs=P2^4;
sbit lcdrw=P2^5;
sbit lcden=P2^6;
sbit beep=P3^4;
sbit led=P3^5;
void delay(uint x)
{
uint i;
for(;x>0;x--)
for(i=5;i>0;i--);
}
void write_com(uchar com )
{
lcden = 0;
lcdrs = 0;//表示命令选择
P1 = com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)
{
lcden = 0;
lcdrs = 1;//n.1 write into the data;
P1 = date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
//1602初始化
void Init1602()
{
uchar i=0;
write_com(0x38);//屏幕初始化
write_com(0x0c);//打开显示 无光标 无光标闪烁
write_com(0x06);//当读或写一个字符是指针后一一位
write_com(0x80);//设置位置
for(i=0;i<4;i++)
{
write_data(Init1[i]); //显示数组1的数据
}
write_com(0x80+9);
for(i=9;i<13;i++)
{
write_data(Init1[i]); //显示数组1的数据
}
write_com(0x80+0x40);//设置位置
for(i=0;i<4;i++)
{
write_data(Init2[i]); //显示数组2的数据
}
write_com(0x80+0x40+9);
for(i=9;i<13;i++)
{
write_data(Init2[i]); //显示数组2的数据
}
}
void display(uchar channel)
{
unsigned long temp;
unsigned int k=0,i=0;
temp=P0; //the temporary variable
if(channel==0)
{
write_com(0x80+4); //设置烟雾
write_data(0x30+yushe_wendu/100);
write_data(0x30+yushe_wendu%100/10);
write_data(0x30+yushe_wendu%10);
write_com(0x80+13); //时时烟雾
write_data(0x30+temp/100);
write_data(0x30+temp%100/10);
write_data(0x30+temp%10);
}
if(channel==1)
{
write_com(0x80+0x40+4); //设置烟雾
write_data(0x30+yushe_yanwu/100);
write_data(0x30+yushe_yanwu%100/10);
write_data(0x30+yushe_yanwu%10);
write_com(0x80+0x40+13); //时时烟雾
write_data(0x30+temp/100);
write_data(0x30+temp%100/10);
write_data(0x30+temp%10);
}
}
void main()
{
CHANNEL=0xF8; //AD channel 0
ST_ALE=0; //START and ALE default
OE=0; //OE default
TMOD=0x02; //T0 operate in mode 2
TH0=0xFF; //auto load value
TL0=0xFF; //default value
EA=1; //all interrupt enable
ET0=1; //T0 interrupt enable
TR0=1; //T0 run
beep=0;
led=0;
while(1)
{
P2=0x07&CHANNEL; //choose AD channel
ST_ALE=1; //lock the AD channel address
ST_ALE=0; //AD run
Init1602();
while(EOC==0); //wait until AD over
OE=1; //enable to transmit AD data
if(CHANNEL==0xF8)
{
display(0); //view the AD result and diaplay LED
}
if(CHANNEL==0xF9)
{
display(1); //view the AD result and diaplay LED
}
delay(50); //delay to prepare for next AD channel
OE=0; //forbit to transmit AD data
if(CHANNEL==0xF9)
CHANNEL=0xF7; //AD channel loop
CHANNEL++; //next AD channel
}
}
void T1_TIME() interrupt 1 using 0
{
CLK=~CLK; //CLK 500 kHz
}
复制代码
火灾报警两路.zip
(301.94 KB, 售价: 1 工控币)
2020-1-22 12:09 上传
点击文件名下载附件
protues
,
51单片机
,
火灾
,
报警
相关帖子
•
51单片机采集温度通过串口发送到labview上位机采集曲线显示
•
LabVIEW读取和显示温度曲线 51单片机做下位机
•
远程果蔬工厂监控系统设计 LabVIEW+51单片机程序
•
VB上位机设置时间 51单片机DS1302时钟的proteus仿真程序
•
C#上位机源程和51单片机实现控制电机加速减速正反转
•
8051单片机彻底研究 全套
•
51单片机原理及应用:基于KeilC与Proteus
•
LabVIEW简单温度报警器程序
•
51单片机pwm控制直流电机,内含程序源码及Proteus仿真电路图
•
用vb上位机控制51单片机测距的源码
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
coolice
426
主题
433
帖子
366
积分
初级会员
初级会员, 积分 366, 距离下一级还需 134 积分
初级会员, 积分 366, 距离下一级还需 134 积分
工控币
366
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
图文推荐
用Fanuc Karel语言实现三点建坐标系
2021-01-04
用CH341A做的USB转SPI_232_485_TTL转换器 PCB+SCH文件 烧写器源
2020-12-14
51单片机采集温度通过串口发送到labview上位机采集曲线显示
2020-12-13
基于组态王的占空比PID算法温度控制系统设计 含源码和文档
2020-12-13
基于LabVIEW的电动车速度监测和控制系统上位机程序设计
2020-12-08
热门排行
1
交通信号灯电子线路实验Multisim仿真电路图
2
Multisim14仿真PIC16f84单片机驱动led
3
基于labview的电子秤
4
哪位大佬能看看logix5571以太网通信故障这
5
WINCC 7.5+SP1+UPD3
6
基于LabVIEW的猜数字游戏
7
安装Com Profibus失败,有没有大神能帮忙看
8
山武温控器SDC35/36使用说明书 中文
9
TIA 博途 V16 专业版+ 模拟器 亲测可用
10
软件安装不成功