藍(lán)牙密碼鎖,程序里面設(shè)置好密碼直接用,程序已經(jīng)上傳到工程附件里面了,用途自己琢磨。
原理圖:
部分程序:
#include <reg52.h>
#include <intrins.h>
#include <math.h>
#include <12864.h>
#define uchar unsigned char
#define uint unsigned int
uchar receive=0;
uchar mima[6]={0x01,0x02,0x03,0x04,0x05,0x06};
uchar receive_LY[6]={0x00,0x02,0x03,0x04,0x05,0x05};
uchar send=0xff;
sbit out1=P1^0;
sbit out2=P1^1;
sbit out3=P1^2;
sbit beep =P2^3;
int n=0; int kaisuo=0;
void Draw_PM(const uchar *ptr);
void Delay_1ms(uint i);
unsigned char code zhu1[]=?? ??? ?//圖片代碼
void mimashow()
{
//?? ?receive_LY[n]=SBUF;
if(n>5) ?//只能輸入6個數(shù)
{
lcd_pos(3,0);
write_string(" ? ? ? ? ? ? ? ? ");
Delay_1ms(10);
lcd_pos(3,1);
write_string("--重新輸入--");
Delay_1ms(150);
n=0;
}
if(n==0)
{
lcd_pos(3,0);
write_string(" ? ? ? ? ? ? ? ? ");
Delay_1ms(2);
}
}
void start() ? ? //開機
{
lcd_wcmd(0x01);
lcd_pos(0,1);
write_string("智能家居系統(tǒng)");
delay(2);
lcd_pos(1,0);
write_string("請輸入密碼:");
delay(2);
lcd_pos(2,1);
write_string("<YYY U YYY>");
}
/********************************************************************
* 名稱 : Delay_1ms()
* 功能 : 延時子程序,延時時間為 1ms * x
* 輸入 : x (延時一毫秒的個數(shù))
* 輸出 : 無
***********************************************************************/
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;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xfd; ? ?//設(shè)置波特率 9600
TL1 = 0xfd;
TR1 = 1;?? ??? ?//啟動定時器1
ES = 1;?? ??? ?//開串口中斷
EA = 1;?? ??? ?//開總中斷
}
//開關(guān)操作函數(shù),接收到一次數(shù)據(jù)改變一次狀態(tài)
void alloff()
{
P1=0xff;
}
void main()
{
int t=1;
Delay_1ms(100);
Com_Init();//串口初始化
lcd_init();
start();
Delay_1ms(50);
while(1)