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

正文內(nèi)容

基于51單片機(jī)的簡易帶密碼計(jì)算器設(shè)計(jì)報(bào)告(存儲(chǔ)版)

2025-07-18 21:42上一頁面

下一頁面
  

【正文】 1系列單片機(jī)進(jìn)行簡單的數(shù)學(xué)運(yùn)算。附錄:/* 名稱:液晶顯示計(jì)算器 編寫:人言者 日期: 內(nèi)容:由于單片機(jī)浮點(diǎn)數(shù)限制,可以計(jì)算6位數(shù)字運(yùn)算,大于這個(gè)長度,用科學(xué)計(jì)數(shù)法表示 小數(shù)位精度后6位,大于6位按四舍五入*/include //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義includeincludeincludeincludeincludedefine uchar unsigned charvoid calculate(void)。 EA=0。s30。 //最大輸入16個(gè) if(i==0) LCD_Clear()。/39。b)。 //如果不是等號(hào)記下標(biāo)志位 else { firstflag=0。 break。 break。s++) temp[s]=0。.39。 //輸入數(shù)值累加 } } }void Timer0() interrupt 1{ TH0=(655367001)/256。//行列值中間變量 unsigned char i。 //讀入列線值 KeyPort=cord_h|0xf0。 //810us電平取反,頻率越大聲音越尖 } while((KeyPortamp。39。//3 case 0xbe:return 39。break。539。//b case 0xee:return 39。break。endifinclude /* uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號(hào)字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時(shí)請使用匯編,大致延時(shí) 長度如下 T=tx2+5 uS */void DelayUs2x(unsigned char t){ while(t)。 void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) 。//sbit EN = P2^6。 0x80)。 _nop_()。 _nop_()。 //表示第一行 } else { LCD_Write_Com(0xC0 + x)。 LCD_Write_Com(0x38)。 /*顯示光標(biāo)移動(dòng)設(shè)置*/ DelayMs(5)。//密碼輸入錯(cuò)誤次數(shù),剩余次數(shù),通用循環(huán)變量unsigned char time。,39。 LCD_Write_String(0,0,Input Password:)。Flag!=1。=39。j++)//循環(huán)比較8個(gè)數(shù)值,如果有一個(gè)不等 則最終Flag值為0 Flag=Flagamp。 EA=1。 } EA=0。//連續(xù)輸入錯(cuò)誤,則次數(shù)累加 for(j=0。 //清屏/ LCD_Write_String(0,0,Wrong 3 times!)。 if(j1) EA=0。 //寫入第二行信息,提示輸入密碼 }} /**/。j14。 LCD_Write_String(0,0,Input Password:)。//動(dòng)態(tài)顯示剩余輸入次數(shù) LCD_Write_String(0,1,temp)。 p ++。 //密碼錯(cuò)誤,提示重新輸入 } } }} void password_Right(){ unsigned char a=0。//先把比較位置1 for(j=0。//輸入的密碼用*代替 } i++。 //循環(huán)掃描鍵盤,直到按鍵有效 _mima LCD_Write_String(0,1, )。 PLEN=sizeof(password)/sizeof(password[0])。,39。 //用于存放動(dòng)態(tài)顯示的字符串 bit Flag=0。 /*顯示關(guān)閉*/ LCD_Write_Com(0x01)。 }/* 初始化函數(shù)*/ void LCD_Init(void) { LCD_Write_Com(0x38)。 x++。 EN_SET。 EN_SET。 EN_SET。 ////sbit RS = P2^4。 void LCD_Clear(void) 。 }}ifndef __DELAY_H__define __DELAY_H__/* uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號(hào)字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時(shí)請使用匯編,大致延時(shí) 長度如下 T=tx2+5 uS */void DelayUs2x(unsigned char t)。//d case 0xeb:return 39。039。break。//5 case 0xbb:return 39。/39。break。 // DelayUs2x(200)。0x0f)!=0x0f) { cord_h=KeyPortamp。endif//包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義include includeincludedefine KeyPort P3sbit SPK=P2^3。 LCD_Write_Char(i,0,num)。.39。 //用完后所有數(shù)據(jù)清零 for(s=0。/39。39。=39。 firstflag=1。x39。 //掃描鍵盤 if(num!=0xff) //如果掃描是按鍵有效值則進(jìn)行處理 calculate()。 //延時(shí)用于穩(wěn)定,可以去掉 LCD_Write_String_Move(0,0,Wele use Chu Zhe Rong Calculator )。 //輸入的數(shù)據(jù)緩沖器及運(yùn)算的中間變量void Timer0_Init(){ TH0=(655367000)/256。經(jīng)過長達(dá)十多天的努力,也算是皇天不負(fù)有心人,終于把簡易計(jì)算器給做出來了,成功后真的有一種說不清的自豪感和成就感。//輸出數(shù)據(jù) i++。) //如果是小數(shù)點(diǎn)則正常輸入,光標(biāo)位置加1 { temp[1]=39。s16。:a=a/b。:a=ab。) //判斷當(dāng)前符號(hào)位并做相應(yīng)處理 sign=num。 } else sscanf(temp,%f,amp。==num)|| (39。運(yùn)算模塊具體代碼void calculate(void){ unsigned char temp[16]。 /*顯示關(guān)閉*/ LCD_Write_Com(0x01)。 }/* 初始化函數(shù)*/ void LCD_Init(void) { LCD_Write_Com(0x38)。 x++。 EN_SET。 EN_SET。通過D0D7引腳向LCD寫指令字或?qū)憯?shù)據(jù)以使LCD實(shí)現(xiàn)不同的功能或顯示相應(yīng)數(shù)據(jù)。 //讀入列線值 KeyPort=cord_h|0xf0。矩陣鍵盤內(nèi)部電路圖如圖所示:鍵盤掃描函數(shù)代碼:unsigned char KeyScan(void) //鍵盤掃描函數(shù),使用行列反轉(zhuǎn)掃描法{ unsigned char cord_h,cord_l。//比較輸入值和已有密碼,如果比較全部相同,標(biāo)志位置1 } if(Flag) { password_Right()?;蛘呙艽a輸入到最大值16,表示輸入結(jié)束,需要進(jìn)行比對 { passwordlength=i1。 LCD_Write_Char(i,1,39。s++) temp[s]=0。 break。 break。 XTAL2:來自反向振蕩器的輸出。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。工作期間,按下S,C放電。設(shè)計(jì)要求:分別對鍵盤輸入檢測模塊;LCD顯示模塊;算術(shù)運(yùn)算模塊;錯(cuò)誤處理及提示模塊進(jìn)行設(shè)計(jì), keil與protues仿真分析其設(shè)計(jì)結(jié)果。浙江萬里學(xué)院電子信息學(xué)院創(chuàng)新開放實(shí)驗(yàn)課程設(shè)計(jì) 專業(yè)電子信息工程班級學(xué)號(hào)姓名導(dǎo)師時(shí)間~設(shè)計(jì)題目:基于51單片機(jī)的簡易帶密碼計(jì)算器 一、設(shè)計(jì)實(shí)驗(yàn)條件:地 點(diǎn):學(xué)生自主創(chuàng)新實(shí)驗(yàn)室4506實(shí)驗(yàn)設(shè)備:PC機(jī)( 裝有Keil;Protues;Word ;DXP )、電路板印制腐蝕相關(guān)設(shè)備二、設(shè)計(jì)任務(wù):本系統(tǒng)選用STC89C52單片機(jī)為主控機(jī)。當(dāng)除數(shù)為0時(shí),程序運(yùn)算出錯(cuò),計(jì)算器會(huì)在LCD上提示+INF。 PCB印刷電路圖總體設(shè)計(jì)如下圖(protues仿真圖):PCB原理圖(二)、單片機(jī)接口電路說明:手動(dòng)上電復(fù)位電路:當(dāng)VCC上電時(shí),C充電,在10K電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位;幾個(gè)毫秒后,C充滿,10K電阻上電流降為0,電壓也為0,使得單片機(jī)進(jìn)入工作狀態(tài)。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。另外,該引腳被略微拉高。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。:a=ab。:a=a/b。s16。 //掃描鍵盤 _mima_ if(num!=0xff) //如果掃描是按鍵有效值則進(jìn)行處理 { if(i16) {
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1