freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機(jī)的簡(jiǎn)易帶密碼計(jì)算器設(shè)計(jì)報(bào)告(文件)

 

【正文】 x01)。 /*顯示開(kāi)及光標(biāo)設(shè)置*/ } ifndef __MIMASUO_H__define __MIMASUO_H__void mimasuo(void)。 //用于存放動(dòng)態(tài)顯示的字符串 bit Flag=0。 //鍵盤掃描的返回值,計(jì)算輸入次數(shù),普通循環(huán)變量,剩余輸入次數(shù),字符指針, unsigned char passwordtemp[16]。,39。,39。 PLEN=sizeof(password)/sizeof(password[0])。=39。 //循環(huán)掃描鍵盤,直到按鍵有效 _mima LCD_Write_String(0,1, )。 //掃描鍵盤 _mima_ if(num!=0xff) //如果掃描是按鍵有效值則進(jìn)行處理 { if(i16) { passwordtemp[i]=num。//輸入的密碼用*代替 } i++。=39。//先把比較位置1 for(j=0。(passwordtemp[j]==password[j])。 //密碼錯(cuò)誤,提示重新輸入 } } }} void password_Right(){ unsigned char a=0。 //清屏/ LCD_Write_String(0,0,Password Right!)。 p ++。 LCD_Clear()。//動(dòng)態(tài)顯示剩余輸入次數(shù) LCD_Write_String(0,1,temp)。j++) { DelayMs(50)。 LCD_Write_String(0,0,Input Password:)。time0。j14。inputtimes=0。 //寫(xiě)入第二行信息,提示輸入密碼 }} /**/。 //關(guān)閉總中斷,其實(shí)為了關(guān)閉蜂鳴器 LCD_Clear()。 if(j1) EA=0。//動(dòng)態(tài)顯示剩余時(shí)間 LCD_Write_String(0,1,temp)。 //清屏/ LCD_Write_String(0,0,Wrong 3 times!)。 else EA=0。//連續(xù)輸入錯(cuò)誤,則次數(shù)累加 for(j=0。 //清屏/ static LCD_Write_String(0,0,Wrong! Retry!)。 } EA=0。 while (*p) //使字符串動(dòng)態(tài)顯示,保留原始的字符逐個(gè)向右顯示 { LCD_Write_Char(a,1,*p)。 EA=1。 //密碼正確,進(jìn)入打開(kāi)界面 break。j++)//循環(huán)比較8個(gè)數(shù)值,如果有一個(gè)不等 則最終Flag值為0 Flag=Flagamp。 //計(jì)算輸入密碼長(zhǎng)度,除去等號(hào)占有的一位 i=0。=39。*39。Flag!=1。 num=0xff。 LCD_Write_String(0,0,Input Password:)。}。,39。 //輸入密碼長(zhǎng)度,實(shí)際密碼長(zhǎng)度 unsigned char code password[]={39。//密碼輸入錯(cuò)誤次數(shù),剩余次數(shù),通用循環(huán)變量unsigned char time。void password_Wrong()。 /*顯示光標(biāo)移動(dòng)設(shè)置*/ DelayMs(5)。 LCD_Write_Com(0x38)。 LCD_Write_Com(0x38)。 } else { LCD_Write_Com(0xC0 + x)。 //表示第一行 } else { LCD_Write_Com(0xC0 + x)。 }/* 靜態(tài)顯示字符串函數(shù)*/ void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) { while (*s) { LCD_Write_Char(x,y,*s)。 _nop_()。 RS_SET。 _nop_()。 RS_CLR。 0x80)。 EN_CLR。//sbit EN = P2^6。 //液晶定義端口 sbit RW = P2^1。 void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) 。 void LCD_Write_Com(unsigned char ) 。endifinclude /* uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值 unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編,大致延時(shí) 長(zhǎng)度如下 T=tx2+5 uS */void DelayUs2x(unsigned char t){ while(t)。//f default:return 0xff。break。439。//b case 0xee:return 39。break。539。//7 case 0xde:return 39。break。639。//3 case 0xbe:return 39。break。39。 //返回該值}/* 按鍵值處理函數(shù),返回掃鍵值 可以根據(jù)需要改變返回值 | 1 | 2 | 3 | + | | 4 | 5 | 6 | | | 7 | 8 | 9 | * | | . | 0 | = | / | */unsigned char KeyPro(void){ switch(KeyScan()) { case 0x7e:return 39。 //810us電平取反,頻率越大聲音越尖 } while((KeyPortamp。i171。 //讀入列線值 KeyPort=cord_h|0xf0。 //讀入列線值 if(cord_h!=0x0f) //先檢測(cè)有無(wú)按鍵按下 { DelayMs(10)。//行列值中間變量 unsigned char i。void password_Right()。 //輸入數(shù)值累加 } } }void Timer0() interrupt 1{ TH0=(655367001)/256。 //如果是19數(shù)字,說(shuō)明0沒(méi)有用,則直接替換第一位0 LCD_Write_Char(0,0,num)。.39。039。s++) temp[s]=0。//顯示到液晶屏 sign=0。 break。 break。 break。 break。 //如果不是等號(hào)記下標(biāo)志位 else { firstflag=0。 LCD_Write_Char(0,1,num)。b)。 //計(jì)數(shù)器復(fù)位,記一次性輸入的數(shù)據(jù)個(gè)數(shù),液晶一行只能顯示16個(gè),所以i=16 if(firstflag==0) //如果是輸入的第一個(gè)數(shù)據(jù),賦值給a,并把標(biāo)志位置1,到下一個(gè)數(shù)據(jù)輸入時(shí)可以跳轉(zhuǎn)賦值給b { sscanf(temp,%f,amp。/39。39。 //最大輸入16個(gè) if(i==0) LCD_Clear()。 //清屏 mimasuo()。s30。 //初始化液晶屏 Timer0_Init()。 EA=0。 //通用循環(huán)變量bit firstflag。附錄:/* 名稱:液晶顯示計(jì)算器 編寫(xiě):人言者 日期: 內(nèi)容:由于單片機(jī)浮點(diǎn)數(shù)限制,可以計(jì)算6位數(shù)字運(yùn)算,大于這個(gè)長(zhǎng)度,用科學(xué)計(jì)數(shù)法表示 小數(shù)位精度后6位,大于6位按四舍五入*/include //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義includeincludeincludeincludeincludedefine uchar unsigned charvoid calculate(void)。在此制作過(guò)程中主要是在查資料、設(shè)計(jì)框架算法、編程、畫(huà)原理圖、PCB板制作、軟硬件調(diào)試中真的是經(jīng)歷了無(wú)數(shù)挫折。同時(shí)也掌握應(yīng)用程序控制51系列單片機(jī)進(jìn)行簡(jiǎn)單的數(shù)學(xué)運(yùn)算。//輸出數(shù)據(jù) } } else { temp[i]=num。 LCD_Write_Char(1,0,num)。) )//如果第一個(gè)字符是0,判讀第二個(gè)字符 { if(num==39。 } } else if(i16) { if((1==i)amp。a=b=0。 default:break。 case 39。 case 39。 case 39。 switch(sign) //檢測(cè)到輸入=號(hào),判斷上次讀入的符合 { case 39。 /////////////////////// if(num!=39。 for(s=0。a)。==num) || (39。==num) || (39。 //輸入是第一個(gè)字符的時(shí)候需要把液晶屏清空,方便觀看 if((39。單片機(jī)是靠程序運(yùn)行的,并且可以修改。 /*顯示光標(biāo)移動(dòng)設(shè)置*/ DelayMs(5)。 LCD_Write_Com(0x38)。 LCD_Write_Com(0x38)。 } else { LCD_Write_Com(0xC0 + x)。 //表示第一行 } else { LCD_Write_Com(0xC0 + x)。 }/* 靜態(tài)顯示字符串函
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦

基于單片機(jī)的簡(jiǎn)易計(jì)算器(終稿2)-資料下載頁(yè)

【摘要】電》