⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 +_-

📁 avr单片机icc写的密码锁
💻
字号:
#include <iom16v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
#define  ulong unsigned long
#pragma  interrupt_handler  miao2:2
#include "yejing.c"
#include "451.c"
uint j=0,g=0,js=0;
uchar mimas[]={0,0,0,0,0,0},mimac[]={2,2,3,4,5,6},mima_cs[]={0,0,0,0,0,0};
void miao2()
{uchar q;
 q=ch451_read();
  switch(q)
  {
    case keycode_s1:  g=1;break;
	case keycode_s2:  g=2;break;
	case keycode_s3:  g=3;break;
	case keycode_s9:  g=4;break;
	case keycode_s10: g=5;break;
	case keycode_s11: g=6;break;
	case keycode_s17: g=7;break;
	case keycode_s18: g=8;break;
	case keycode_s19: g=9;break;
	case keycode_s4:  g=0;break;
    case keycode_s12: g=12;break;
	case keycode_s20: g=20;break;
	
}
if(g>=0&&g<10)
{j++;mimas[j-1]=g;
if(j==7)
{j=0;}
}
if(g==20)
{j=20;}
//return g;
}


void main()
{   uint i;
 //液晶配置
   port_init12864();
   lcd_init12864();
   
   write_com12864(0x01);
   delay_ms(10);
   
   //451配置
   port_init451();
   int0_init();
   ch451_init();
   ch451_write(CH451_RESET);
   ch451_write(CH451_SYSON2);
   ch451_write(CH451_TWINKLE);
   ch451_write(CH451_BCD);
   for(;;)
   {
   switch(j)
     {
	 case 0:{
	 write_com12864(0x06);  
     delay(5);
     lcd_pos12864(0,0);
     writeString12864("请输入密码");
	 break;}
	 case 1:{
	 lcd_pos12864(0,5);
     write_dat12864(0X0f);
	// mimas[0]=g;
	 break;}
	 case 2:
	 {lcd_pos12864(0,5);
     write_dat12864(0X0f);
	 write_dat12864(0X0f);
	 //mimas[1]=g;
	 break;}
	 case 3:
	 {lcd_pos12864(0,6);
     write_dat12864(0X0f);
	 //mimas[2]=g;
	 break;}
	 case 4:{
	 lcd_pos12864(0,6);
     write_dat12864(0X0f);
	 write_dat12864(0X0f);
	 //mimas[3]=g;
	 break;}
	 case 5:
	 {lcd_pos12864(0,7);
     write_dat12864(0X0f);
	 //mimas[4]=g;
	 break;}
	 case 6:
	 {lcd_pos12864(0,7);
     write_dat12864(0X0f);
	 write_dat12864(0X0f);
	 //mimas[5]=g;
	 for(i=0;i<=5;i++)
	 {if(mimac[i]==mimas[i])
	 js++;
	 }
	 if(js==6)
	 {
	 write_com12864(0x06);  
     delay(5);
     lcd_pos12864(1,0);
     writeString12864("密码输入正确");
	 for(;;);
	 }
	 else{
	 write_com12864(0x06);  
     delay(5);
     lcd_pos12864(1,0);
     writeString12864("密码错误");
	 delay_ms(1000);
	 j=0;
	  write_com12864(0x01);  
     delay(5);}
	 break;}
     }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -