用C语言来编写51单片机液晶显示屏幕的修改密码功能
来源:互联网 发布:java中根号怎么表示 编辑:程序博客网 时间:2024/05/22 11:31
这里面主要就是用了一个main.c函数,至于其他的头文件就先算了
#include "bsp.h"
//unsigned char time[20] = {0};
unsigned char code number[10] = {0X30, 0X31, 0X32, 0X33, 0X34, 0X35, 0X36,
0X37, 0X38, 0X39
};
unsigned char* right = "You are right!";
unsigned char* wrong = " Wrong! ";
unsigned char* reset = " ";
unsigned char* code_change = "Change your code!";
unsigned char* sbit_change = "change success!";
unsigned char* shuru = "Input your code";
//unsigned char* hllo = " hello!world ";
unsigned char lcd_code[8] = {1, 9, 9, 7, 0, 6, 1, 3};
unsigned char lcd_i = 0;
unsigned char lcd_out[8] = {0};
unsigned char change_code = 0;
//void change_mima(void);
void delay_s(void);
void main()
{
init_bsp();
while(1)
{
mkey_scan();
mkey_port();
if ((Mkeyvalue < 16)&&(Mkeyvalue >= 0))
{
// lcd_write_strings(0, 0, code_change);
if (Mkeyvalue == 15)//修改密码的条件
{
lcd_write_strings(0, 0, shuru);
change_code = 1;//这里对应着下面,先输入一次正确的密码,然后才能修改密码
delay_s();
lcd_write_strings(0, 0, reset);
Mkeyvalue = -1;
// lcd_i = -1;
}
if (change_code == 2)
{
if ((Mkeyvalue < 17)&&(Mkeyvalue >= 0))
{
// change_mima();
write_com(0X80 + lcd_i);
write_data(number[Mkeyvalue]);
lcd_out[lcd_i] = Mkeyvalue;
Mkeyvalue = -1;
lcd_i++;
if (lcd_i > 7)
{
lcd_code[0] = lcd_out[0];
lcd_code[1] = lcd_out[1];
lcd_code[2] = lcd_out[2];
lcd_code[3] = lcd_out[3];
lcd_code[4] = lcd_out[4];
lcd_code[5] = lcd_out[5];
lcd_code[6] = lcd_out[6];
lcd_code[7] = lcd_out[7];
change_code = 0;//修改密码输对一次,只能改一次,改完密码,立刻归为
lcd_write_strings(0, 0, sbit_change);//密码修改成功的标志
delay_s();
lcd_write_strings(0, 0, reset);
}
}
}
if ((Mkeyvalue != 15)&&(Mkeyvalue < 16)&&(Mkeyvalue >= 0))
{
write_com(0X80 + lcd_i);
write_data(number[Mkeyvalue]);
lcd_out[lcd_i] = Mkeyvalue;
Mkeyvalue = -1;
lcd_i++;
if (lcd_i > 7)
{
lcd_i = 0;
if ((lcd_code[0] == lcd_out[0])&&(lcd_code[1] == lcd_out[1])&&
(lcd_code[2] == lcd_out[2])&&(lcd_code[3] == lcd_out[3])&&
(lcd_code[4] == lcd_out[4])&&(lcd_code[5] == lcd_out[5])&&
(lcd_code[6] == lcd_out[6])&&(lcd_code[7] == lcd_out[7]))
{
lcd_write_strings(0, 0, right);
if (change_code == 1)
{
change_code = 2;//change_code = 2就可以修改密码了
}
delay_s();
lcd_write_strings(0, 0, reset);
}
else
{
lcd_write_strings(0, 0, wrong);
delay_s();
lcd_write_strings(0, 0, reset);
}
}
}
}
}
}
void delay_s(void) //延时函数
{
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
delay_ms(250);
}
- 用C语言来编写51单片机液晶显示屏幕的修改密码功能
- 第二讲 单片机C语言之12864液晶显示
- 第三讲 单片机C语言之12864液晶显示
- 51单片机-1602液晶显示的时钟代码
- 单片机的1602液晶显示
- 51单片机液晶显示计时器
- 51单片机 1602液晶显示
- C语言实现的密码输入功能
- C语言实现的密码输入功能
- C51-------时钟程序(C语言编写的单片机时钟)
- C语言编写51单片机程序:键控流水灯
- 用 C 语言编写一个单片机流水灯程序
- 通过修改密码功能,来学习MVC中AJAX的秒用
- 通过修改密码功能,来学习MVC中AJAX的秒用
- 单片机的c语言
- jin1956121用c51编写的万年历 LCD1602液晶显示.定时闹钟
- 第一个单片机程序(C语言编写)
- 51单片机1602液晶显示移动显示
- 51Nod
- linux加大硬盘调整分区
- (大数运算) N!
- This、static、package
- linux使用:SSH概述、在linux下安装SSH命令
- 用C语言来编写51单片机液晶显示屏幕的修改密码功能
- 暑期集训之立方求和
- python之find_all
- 录制视频
- spring aop中的After throwing增强问题
- HDU
- gson解析xml
- Batch Gradient Descent(python)
- [LeetCode] 238. Product of Array Except Self