单片机课程设计(共15页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《单片机课程设计(共15页).doc》由会员分享,可在线阅读,更多相关《单片机课程设计(共15页).doc(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上信息与电气工程学院单片机课程设计 题 目 液晶显示密码锁 学 院 信息与电气工程学院 专 业 电气工程及其自动化 年 级 电气 姓 名 学 号 指导教师 时 间 2013年 7月 4日 原理图:程序:/-名称:液晶显示密码锁#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include#includebit LCD_Check_Busy(void);/判忙函数声明 1602void LCD_Write_Com(unsigned char com); / 写入命令函数void LCD_Write_Data(unsigned char
2、Data); / 写入数据函数void LCD_Clear(void); / 清屏函数void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s);/写入字符串函数void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data); / 写入字符函数void LCD_Init(void); /初始化函数 1602void DelayUs2x(unsigned char t); / uS延时函数,含有输入参数 unsigned char t
3、?void DelayMs(unsigned char t); /mS延时函数,含有输入参数 unsigned char t,unsigned char KeyScan(void); /键盘扫描函数,使用行列反转扫描法 按键扫描函数,返回扫描键值unsigned char KeyPro(void); /按键值处理函数,返回扫键值unsigned char code password=0,0,0,0,0;/设定的密码#define KeyPort P3 /键盘定义#define CHECK_BUSY /1602sbit RS = P22; /定义端口 sbit RW = P21;sbit EN
4、= P20;#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0 /1602void main() unsigned char num,i,j; unsigned char passwordtemp5; /最大输入5个 unsigned char inputtimes; /密码输入错误次数 unsigned char passwordlength,PLEN; /输入密码长度,实
5、际密码长度 bit Flag; PLEN=sizeof(password)/sizeof(password0);/用于计算出实际密码长度 LCD_Init(); /初始化液晶屏 DelayMs(10); /延时用于稳定,可以去掉 LCD_Clear(); /清屏 LCD_Write_String(0,0, welcome! ); /写入第一行信息,主循环中不再更改此信息,所以在while之前写入 LCD_Write_String(0,1,Input password!); /写入第二行信息,提示输入密码while (1) /主循环 P0=0xf0; num=KeyPro(); /扫描键盘 if
6、(num!=0xff) /如果扫描是按键有效值则进行处理 if(i=0) /输入是第一个字符的时候需要把改行清空,方便观看密码 LCD_Write_String(0,1, );/清除该行if(i5) passwordtempi=num; LCD_Write_Char(i,1,*);/输入的密码用*代替 i+; /输入数值累加if(i=5) /密码输入到最大值6,表示输入结束,需要进行比对 passwordlength=i-1; /计算输入密码长度 i=0; /计数器复位 if(passwordlength=PLEN)/长度相等则比较,否则直接输出错误 Flag=1;/先把比较位置1 for(j
7、=0;j);/密码正确显示的信息 P0=0xff; inputtimes=0;/输入正确则次数清零,重新计数 Flag=0; /清除正确标志 else LCD_Write_String(0,1, );/清除该行LCD_Write_String(0,1,Wrong! Retry!);/密码错误,提示重新输入inputtimes+;/连续输入错误,则次数累加 P0=0xf0;if(inputtimes=15) LCD_Write_String(0,1, );/清除该行 LCD_Write_String(0,1,Wrong 15 times!);/密码错误,提示重新输入 while(1);/停止该位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 15
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内