題目 串口密碼鎖
基本要求:串口發送正確密碼,單片機會返回ok,并打開鎖(用led亮滅代替),發送錯誤密碼返回error
我照貓畫虎的寫了一串可是不知道哪里有問題
- #include "reg52.h"
- #include <string.h>
- typedef unsigned int u16;
- typedef unsigned char u8;
- unsigned char mima[]="123456\r",a[10];
- unsigned char tab2[]=" the password is corret";
- unsigned char tab3[]=" the password is incorret ,please re-enter your password!";
- void UsartInit()
- {
- SCON=0X50;
- TMOD=0X20;
- PCON=0X80;
- TH1=0XF3;
- TL1=0XF3;
- ES=1;
- EA=1;
- TR1=1;
- }
- void delay(u16 i)
- {
- while(i--);
- }
- void main()
- {
- UsartInit();
- while(1);
- }
- void send_char(unsigned char c)
- { SBUF=c;
- while(TI==0);
- TI=0;
- }
- void Usart() interrupt 4
- {
- u16 i;
- for(i=0;a[i]!='\r';i++)
- {
- if(RI==1)
- {
- a[i]=SBUF;
- }
- }
-
- if(strcmp(a,mima)==0)
- {
- send_char(tab2);
- }
- else
- send_char(tab3);
- RI=0;
- }
復制代碼 |