加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機的藍(lán)牙密碼鎖(原理圖+部分代碼)

09/29 09:56
471
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

藍(lán)牙密碼鎖,程序里面設(shè)置好密碼直接用,程序已經(jīng)上傳到工程附件里面了,用途自己琢磨。

原理圖

e2acf3cfd7c63e2cda0509f1bc06b4b5.png

部分程序:

#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)

  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜