毕业论文- 再度修改版(6)

2019-04-15 21:56

//1602的控制脚 sbit lcd1602_rs=P2^7; sbit lcd1602_rw=P2^6; sbit lcd1602_en=P2^5;

sbit ALAM = P2^1; sbit KEY = P3^6;

sbit open_led=P2^2;

bit operation=0; bit pass=0;

//操作标志位 //开锁指示灯(选配)

//报警

//开锁

//密码正确标志

//重置输入允许标志 //3秒按键标志位

bit ReInputEn=0;

bit s3_keydown=0;

unsigned char countt0,second; //t0中断计数器,秒计数器

void Delay5Ms(void);

unsigned char code a[]={0xFE,0xFD,0xFB,0xF7}; 描控制表

//液晶显示数据数组

unsigned char code start_line[]

= {\

//控盘扫

//声明延时函数

unsigned char code name[] = {\//显示名称 unsigned char code Correct[] = {\ 确

unsigned char code Error[] = {\

//输入错//输入正

21

unsigned char code codepass[] = {%unsigned char code LockOpen[] = {\ unsigned char code SetNew[]

= {\

//INPUT //OPEN

unsigned char code Input[] = {\ unsigned char code ResetOK[] = {%unsigned char code initword[] = {%unsigned char code Er_try[] unsigned char code again[]

= {\= {\

= {\

unsigned char code yourPassword[] unsigned char InputData[6]; 存区

//输入密码暂

unsigned char CurrentPassword[6]={1,3,1,4,2,0}; (只可在程序中修改)

unsigned char TempPassword[6]; unsigned char N=0;

//密码输入位数记数

//错误次数计数

//管理员密码

unsigned char ErrorCont; unsigned char t;

//正确输入计数

//重新输入计数

//输入管

unsigned char InPut_En;

unsigned char code initpassword[6]={0,0,0,0,0,0}; 理员密码后将密码初始为000000

//=====================5ms延时============================== void Delay5Ms(void) { }

unsigned int TempCyc = 5552; while(TempCyc--);

22

//===================400ms延时============================== void Delay400Ms(void) {

unsigned char TempCycA = 5; unsigned int TempCycB; while(TempCycA--) {

TempCycB=7269; while(TempCycB--); } }

//==================================================================================================

//=======================================LCD1602====================================================

//==================================================================================================

#define yi 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)

#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)

//----------------延时函数,后面经常调用---------------------- void delay(uint xms)//延时函数,有参函数

23

{ }

//--------------------------写指令--------------------------- void write_1602com(uchar com)//****液晶写入指令函数**** { }

//-------------------------写数据----------------------------- void write_1602dat(uchar dat)//***液晶写入数据函数**** { }

lcd1602_rs=1;//数据/指令选择置为数据 lcd1602_rw=0; //读写选择置为写 P0=dat;//送入数据 delay(1);

lcd1602_en=1; //en置高电平,为制造下降沿做准备 delay(1);

lcd1602_en=0; //en由高变低,产生下降沿,液晶执行命令 lcd1602_rs=0;//数据/指令选择置为指令 lcd1602_rw=0; //读写选择置为写 P0=com;//送入数据 delay(1);

lcd1602_en=1;//拉高使能端,为制造有效的下降沿做准备 delay(1);

lcd1602_en=0;//en由高变低,产生下降沿,液晶执行命令 uint x,y;

for(x=xms;x>0;x--) for(y=110;y>0;y--);

24

//-------------------------写数据----------------------------- void write_string(uchar dat,unsigned char *str)//***液晶写入数据函数****

{ if(dat)

write_1602com(dat); while(*str){

write_1602dat(*str); str++;} }

//-------------------------初始化------------------------- void lcd_init(void) {

write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,

8位数据

}

//========================================================================================

//=========================================================================================

write_1602com(0x0c);//开显示不显示光标 write_1602com(0x06);//整屏不移动,光标自动右移 write_1602com(0x01);//清显示

25


毕业论文- 再度修改版(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:同位素取样方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: