学生毕业论文上交材料3 联系客服

发布时间 : 星期一 文章学生毕业论文上交材料3更新完毕开始阅读7a4ab28bcc22bcd126ff0ca1

(专业名称) (课题名称)

#include

#include

#define uchar unsigned char

#define uint unsigned int //*Port Definitions sbit p3_6=P2^1; sbit LcdRs=P3^2; sbit LcdRw=P3^1; sbit LcdEn=P3^0;

sfr DBPort=0x80; /*P0=0x80,P1=0x90,P2=0xA0,P3=0xB0数据端口*/ sbit P2_0=P2^0; uint key_val=16;

uint m=0,count=0,count2=0;

uint pass=0,pass0=0,pass1=0,pass2=0,o=0,n=0; uint co[6]={0,0,0,0,0,0}; uint cp[1]={0};

uint cq[7]={0,0,0,0,0,0,0};

uchar sk[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0},pa=10; uchar password[16];

void DelayMs(unsigned int n) {unsigned int i,j; for(i=0;i

for(j=0;j<120;j++);} /*按键扫描*/ void Check_key(void)

{unsigned int row,col,tmp1,tmp2;

tmp1=0x10; /*tmp1用来设置P1口的输出,取反后使P1.1~P1.7中有一个为0 */

for(row=0;row<4;row++) /*行检测*/

{P1=0x0f; /*先将p1.0~p1.3置高*/

P1=~tmp1 ; /*使p1.4~p1.7中有一个为0*/ tmp1*=2 ; /*tmp1左移一位*/

if((P1&0x0f)<0x0f) /*检测p1.0~p1.3中是否有一位为0,只要有

说明此行有按键按下,进入列检测*/

{DelayMs(30);

if((P1&0x0f)<0x0f) /*检测p1.0~p1.3中是否有一位为0,只要有

说明此行有按键按下,进入列检测*/

{ tmp2=0x01; /*tmp2用来检测哪一列为0*/ for(col=0;col<4;col++) /*列检测*/

{if((P1&tmp2)==0x00) /*该列如果为低电平则可以判定为列*/ {key_val=row*4+col; /*获取键值,识别按键*/ while((P1&tmp2)==0x00);

return; } /*退出循环*/ tmp2*=2; } /*tmp2左移一位*/ while((P1&tmp2)==0x00); }}}}

(专业名称) (课题名称)

void rec_key(void) /*按键判断*/

{if(key_val!=16) /*当按键4 被按下时,标志位presskey4置位,

从而去执行判断按键1,2程序*/

{if(m>6) m=0;

if(count2==1) {if(key_val==0) {//delay(1000);

sk[0]=1; count++; pa=0;

password[m]=0; m++;

DelayMs(10); p3_6=0;

DelayMs(100); p3_6=1;

key_val=16;} if(key_val==1) {//delay(1000);

sk[1]=1; count++; pa=1;

password[m]=1; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(key_val==2) {//delay(1000);

sk[2]=1; count++; pa=2;

password[m]=2; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;}

if(key_val==3) {//delay(1000);

sk[3]=1; count++;pa=3;password[m]=3;

(专业名称) (课题名称)

m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16; }

if(key_val==4) {//delay(1000);

sk[4]=1; count++; pa=4;

password[m]=4; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(key_val==5) {//delay(1000);

sk[5]=1; count++; pa=5;

password[m]=5; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(key_val==6) {//delay(1000);

sk[1]=6; count++; pa=6;

password[m]=6; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(key_val==7) {//delay(1000);

sk[7]=1; count++; pa=7;

password[m]=7; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1;

(专业名称) (课题名称)

key_val=16;}

if(key_val==8) {//delay(1000);

sk[8]=1; count++; pa=8;

password[m]=8; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(key_val==9) {//delay(1000); sk[9]=1; count++; pa=9;

password[m]=9; m++;

DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(m>9) m=0; }}

if(key_val==10) {//delay(1000);

sk[10]=1; count++; pa=10;

password[m]=10;m++; DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(key_val==11) {//delay(1000); sk[11]=1; count++; pa=11;

password[m]=11;m++; DelayMs(10);p3_6=0; DelayMs(100);p3_6=1; key_val=16;} if(key_val==12) {//delay(1000); sk[12]=1; count++; pa=12;