标题:
单片机短路检测系统proteus仿真
[打印本页]
作者:
51黑ff
时间:
2016-9-25 13:09
标题:
单片机短路检测系统proteus仿真
100313ho8ojzvzmwqsottz.gif
(335.74 KB, 下载次数: 79)
下载附件
2016-9-25 13:07 上传
主要实现了单片机焊接短路检测功能
程序:
单片机短路检测.zip
(52.58 KB, 下载次数: 25)
2016-9-25 13:09 上传
点击文件名下载附件
下载积分: 黑币 -5
#include<main.h>
#include<LCD.h>
sbit k1=P1^0;//
sbit bell=P1^7;
sbit master=P3^5;
sbit slave1=P3^6;
sbit slave2=P3^7;
uchar m,n;
uchar change;
uchar number=1;
uchar sbuf;
void Delay(uint x)//延时函数
{
while(x--);
}
void serial_int()//串口初始化
{
TMOD=0X22;//t1工作在方式2
SM0=1;//串口工作在方式2
SM1=1;
SM2=1;//使能rb8和TB8才能
REN=1;//接收
TH1=0xF3;//2400BIT/S 485通信速度
TL1=0xF3;
TH0=0xF0;
TL0=0x0F;
TR1=1;//打开计数器
EA=1;//打开中断
ES=1;//打开串口中断
ET0=1;//打开T0中断
}
void time0_isr() interrupt 1
{
TH0=0xF0;
TL0=0x0F;
bell=~bell;//蜂鸣器响
}
void com_isr() interrupt 4 //进入串口中断
{
TH1=0xF3;//2400BIT/S
TL1=0xF3;
RI=0;//复位接受标志位
sbuf=SBUF;//接受数据
}
void key1()//切换成单片机间的切换
{
if(k1==0)
{
change++;
if(change>1)
change=0;
n=0;
if(change==0)
{
slave1=1;//单片机1发送模式
slave2=0;//单片机2关闭
number=1;
}
else
{
slave1=0;//单片机2发送模式
slave2=1;//单片机1关闭
number=2;
}
}
while(k1==0);
}
void main()//主函数
{
lcd_init();//LCD初始化
welcome();//开机欢迎
Delay(50000);
Delay(50000);//延时
serial_int();//初始化485(中断)
master=0;//设置master为接受
slave1=1;//1号机发送
slave2=0;//2号机等待
while(1)
{
key1();//按键
if(sbuf==0xff)//如果没有短路
{
if(n==0)
{
write_lcdcom(0x01);//清屏
all_ok(number);
n=1;
}
TR0=0;
m=0;
}
else//如果从机有短路
{ if(m==0)
{
write_lcdcom(0x01);//清屏
display_1602(number);
m=1;
n=0;
}
lcd_printf(sbuf,0xC3);//显示从机短路的号数
TR0=1;//打开警报器
}
}
}
复制代码
作者:
Y!NG
时间:
2016-12-23 16:49
protues 文件呢
作者:
大宝的小S
时间:
2017-4-18 19:06
楼主,没有protues 文件啊。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1