基于51单片机的蓝牙密码锁

蓝牙密码锁,程序里面设置好密码直接用,程序已经上传到工程附件里面了,用途自己琢磨。

原理图:

PCB图:

程序运行图:

部分程序:

#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个数 { 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("智能家居系统"); delay(2); lcd_pos(1,0); write_string("请输入密码:"); delay(2); lcd_pos(2,1); write_string("<YYY U YYY>");

} /******************************************************************** * 名称 : 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; PCON = 0x00; SCON = 0x50; TH1 = 0xfd; //设置波特率 9600 TL1 = 0xfd; TR1 = 1; //启动定时器1 ES = 1; //开串口中断 EA = 1; //开总中断 } //开关操作函数,接收到一次数据改变一次状态

void alloff() { P1=0xff; }

void main() { int t=1; Delay_1ms(100); Com_Init();//串口初始化 lcd_init(); start(); Delay_1ms(50); while(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值