51单片机安桌手机蓝牙遥控开关制作程序电路APP资料(C语言程序、APP、原理图)
原标题:51单片机安桌手机蓝牙遥控开关制作程序电路APP资料(C语言程序、APP、原理图)
单片机选用51系列单片机,程序可直接用于以下单片机中AT89C51,AT89C52,AT89S51,AT89S52,STC89C52RC,STC89C52,不需要修改,蓝牙模块选择:HC-05蓝牙模块、BT06蓝牙串口模块。资料含C语言程序完整工程文件、APP、AD格式原理图。
下面是单片机程序:
#define uchar unsigned char
#define uint unsigned int
uchar receive=0;
uchar send=0xff;
sbit out1=P2^0; //继电器1
sbit out2=P2^3; //继电器2
/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
**********************************************************************/
void Delay_1ms(uint i) //1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
/********************************************************************
* 名称 : Com_Init()
* 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中断
* 输入 : 无
* 输出 : 无
**********************************************************************/
void Com_Init(void)
{
TMOD = 0x20; //设置定时器工作方式2
SCON = 0x50; //设置为工作方式1
TH1 = 0xfd; //设置波特率 9600
TL1 = 0xfd;
TR1 = 1; //启动定时器1
ES = 1; //开串口中断
EA = 1; //开总中断
}
void main()
{
Delay_1ms(100);
Com_Init();//串口初始化
while (1);
}
/********************************************************************
* 名称 : Com_Int()
* 功能 : 串口中断子函数
* 输入 : 无
* 输出 : 无
**********************************************************************/
void Com_Int(void) interrupt 4
{
EA = 0;
if(RI == 1) //当硬件接收到一个数据时,RI会置位
{
receive = SBUF ; //接收=SBUF
RI = 0; //令接收中断标志位为0(软件清零)
switch (receive)
{
case 0x20: out2=1;break;
case 0x21: out2=0;break;
case 0x10: out1=1;break;
case 0x11: out1=0;bre
}
}
EA = 1;
}
责任编辑:
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。