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

📄 Ȧ

📁 单片机应用技术(C语言版)[王静霞][程序源代码].zip
💻
字号:
//程序:ex3_10.c
//功能:简易密码锁程序
#include <reg51.h> 
sbit P3_0=P3^0;			//控制开锁,用发光二极管代替
void delay(unsigned char i);  	//延时函数声明
void main()			//主函数
{
   unsigned char button;        //保存按键信息
   unsigned char code tab[7]={0xc0,0xf9,0xa4,0xb0,0xbf,0x86,0x8c};	//定义显示段码表,分别对应显示字符:0、1、2、3,-、E、P
   P0=0xff;                 	//读P0口引脚状态,需先置全1
   while(1) { 
     P1=tab[4]; 		//密码锁的初始显示状态“-”
     P3_0=1;			//设置密码锁初始状态为“锁定”,发光二极管熄灭
     button=P0;			//读取P0口上的按键状态并赋值到变量button
     button&=0x0f;    		//采用与操作保留低4位的按键状态,其他位清0
     switch (button)		//判断按键的键值
     { 
         case 0x0e: P1=tab[0];delay(400);P1=tab[5];break;		//0#键按下,密码输入错误,显示“E”
         case 0x0d: P1=tab[1];delay(400);P1=tab[5];break;		//1#键按下,密码输入错误,显示“E”
         case 0x0b: P1=tab[2];delay(400);P1=tab[6];P3_0=0;break;	//2#键按下,密码正确,开锁并显示“P”
         case 0x07: P1=tab[3];delay(400);P1=tab[5];break;		//3#键按下,密码输入错误,显示“E”
     }
     delay(1200);		//显示状态停留约3秒
            }
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
//          i控制空循环的外循环次数,共循环i*255次
//返回值:无
void  delay(unsigned char i)	//延时函数,无符号字符型变量i为形式参数
{
    unsigned char j,k;		//定义无符号字符型变量j和k
    for(k=0;k<i;k++)		//双重for循环语句实现软件延时
      for(j=0;j<255;j++);
}

⌨️ 快捷键说明

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