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

正文內(nèi)容

基于51單片機的簡易帶密碼計算器設(shè)計報告(編輯修改稿)

2024-07-15 21:42 本頁面
 

【文章內(nèi)容簡介】 har temp[16]。 //最大輸入16個 if(i==0) LCD_Clear()。 //輸入是第一個字符的時候需要把液晶屏清空,方便觀看 if((39。+39。==num)|| (i==16) || (39。39。==num) || (39。x39。==num)|| (39。/39。==num) || (39。=39。==num))//輸入數(shù)字最大值16,輸入符號表示輸入結(jié)束 { i=0。 //計數(shù)器復位,記一次性輸入的數(shù)據(jù)個數(shù),液晶一行只能顯示16個,所以i=16 if(firstflag==0) //如果是輸入的第一個數(shù)據(jù),賦值給a,并把標志位置1,到下一個數(shù)據(jù)輸入時可以跳轉(zhuǎn)賦值給b { sscanf(temp,%f,amp。a)。 firstflag=1。 } else sscanf(temp,%f,amp。b)。 for(s=0。s16。s++) //賦值完成后把緩沖區(qū)清零,防止下次輸入影響結(jié)果 temp[s]=0。 LCD_Write_Char(0,1,num)。 /////////////////////// if(num!=39。=39。) //判斷當前符號位并做相應(yīng)處理 sign=num。 //如果不是等號記下標志位 else { firstflag=0。 switch(sign) //檢測到輸入=號,判斷上次讀入的符合 { case 39。+39。:a=a+b。 break。 case 39。39。:a=ab。 break。 case 39。x39。:a=a*b。 break。 case 39。/39。:a=a/b。 break。 default:break。 } sprintf(temp,%g,a)。 //輸出浮點型,無用的0不輸出 LCD_Write_String(1,1,temp)。//顯示到液晶屏 sign=0。a=b=0。 //用完后所有數(shù)據(jù)清零 for(s=0。s16。s++) temp[s]=0。 } } else if(i16) { if((1==i)amp。amp。 (temp[0]==39。039。) )//如果第一個字符是0,判讀第二個字符 { if(num==39。.39。) //如果是小數(shù)點則正常輸入,光標位置加1 { temp[1]=39。.39。 LCD_Write_Char(1,0,num)。//輸出數(shù)據(jù) i++。 } //這里沒有判斷連續(xù)按小數(shù)點, else { temp[0]=num。 //如果是19數(shù)字,說明0沒有用,則直接替換第一位0 LCD_Write_Char(0,0,num)。//輸出數(shù)據(jù) } } else { temp[i]=num。 LCD_Write_Char(i,0,num)。//輸出數(shù)據(jù) i++。 //輸入數(shù)值累加 } } }六、軟硬件調(diào)試:開機動畫 提示輸入密碼 輸入密碼界面 提示密碼錯誤,只剩2次機會 錯誤3次,開始倒計時15秒 密碼正確,進入打開界面 計算界面3X6=18 (2)實物圖七、結(jié)束語:通過該計算器的設(shè)計我深入學習數(shù)碼管掃描和鍵盤控制,提高對了51系列單片機的實際應(yīng)用能力。同時也掌握應(yīng)用程序控制51系列單片機進行簡單的數(shù)學運算。提高了對51系列單片機的編程能力。這門課是最能理論聯(lián)系實際的課,我們的目的是做出東西,為了這我們需要學關(guān)于這方面的各種知識,從被動性的接受知識變成了主動性的尋找知識。這種模式才是學習的最好方式。在此制作過程中主要是在查資料、設(shè)計框架算法、編程、畫原理圖、PCB板制作、軟硬件調(diào)試中真的是經(jīng)歷了無數(shù)挫折。但有目標在前,我不能也不想放棄,只有在克服困難后才會有成功的希望。經(jīng)過長達十多天的努力,也算是皇天不負有心人,終于把簡易計算器給做出來了,成功后真的有一種說不清的自豪感和成就感。同時我也深刻地認識到,暫時的成功不是最終的成功,只有不懈的努力,才能達到更高的境界,我會繼續(xù)努力的。附錄:/* 名稱:液晶顯示計算器 編寫:人言者 日期: 內(nèi)容:由于單片機浮點數(shù)限制,可以計算6位數(shù)字運算,大于這個長度,用科學計數(shù)法表示 小數(shù)位精度后6位,大于6位按四舍五入*/include //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義includeincludeincludeincludeincludedefine uchar unsigned charvoid calculate(void)。sbit SPK=P2^3。unsigned char num,i,sign。 unsigned char s。 //通用循環(huán)變量bit firstflag。 //輸入為第一個數(shù)據(jù)還是第二個數(shù)據(jù)的標志float a=0,b=0。 //輸入的數(shù)據(jù)緩沖器及運算的中間變量void Timer0_Init(){ TH0=(655367000)/256。 TL0=(655367000)%256。 EA=0。 TR0=1。 ET0=1。 } /* 主程序*/main(){ LCD_Init()。 //初始化液晶屏 Timer0_Init()。 DelayMs(10)。 //延時用于穩(wěn)定,可以去掉 LCD_Write_String_Move(0,0,Wele use Chu Zhe Rong Calculator )。 //寫入第一行信息,主循環(huán)中不再更改此信息,所以在while之前寫入 for(s=0。s30。s++) { DelayMs(250)。 //,結(jié)合for語句共延時5s LCD_Write_Com(0x18)。//左平移畫面 0x1C 是右平移 } /* */ LCD_Clear()。 //清屏 mimasuo()。 //密碼鎖程序 while (1) //主循環(huán) { num=KeyPro()。 //掃描鍵盤 if(num!=0xff) //如果掃描是按鍵有效值則進行處理 calculate()。 }}void calculate(void){ unsigned char temp[16]。 //最大輸入16個 if(i==0) LCD_Clear()。 //輸入是第一個字符的時候需要把液晶屏清空,方便觀看 if((39。+39。==num)|| (i==16) || (39。39。==num) || (39。x39。==num)|| (39。/39。==num) || (39。=39。==num))//輸入數(shù)字最大值16,輸入符號表示輸入結(jié)束 { i=0。 //計數(shù)器復位,記一次性輸入的數(shù)據(jù)個數(shù),液晶一行只能顯示16個,所以i=16 if(firstflag==0) //如果是輸入的第一個數(shù)據(jù),賦值給a,并把標志位置1,到下一個數(shù)據(jù)輸入時可以跳轉(zhuǎn)賦值給b { sscanf(temp,%f,amp。a)。 firstflag=1。 } else sscanf(temp,%f,amp。b)。 for(s=0。s16。s++) //賦值完成后把緩沖區(qū)清零,防止下次輸入影響結(jié)果 temp[s]=0。 LCD_Write_Char(0,1,num)。 /////////////////////// if(num!=39。=39。) //判斷當前符號位并做相應(yīng)處理 sign=num。 //如果不是等號記下標志位 else { firstflag=0。 switch(sign) //檢測到輸入=號,判斷上次讀入的符合 { case 39。+39。:a=a+b。 break。 case 39。39。:a=ab。 break。 case 39。x39。:a=a*b。 break。 case 39。/39。:a=a/b。 break。 default:break。 } sprintf(temp,%g,a)。 //輸出浮點型,無用的0不輸出 LCD_Write_String(1,1,temp)。//顯示到液晶屏 sign=0。a=b=0。 //用完后所有數(shù)據(jù)清零 for(s=0。s16。s++) temp[s]=0。 } } else if(i16) { if((1==i)amp。amp。 (temp[0]==39。039。) )//如果第一個字符是0,判讀第二個字符 { if(num==39。.39。) //如果是小數(shù)點則正常輸入,光標位置加1 { temp[1]=39。.39。 LCD_Write_Char(1,0,num)。//輸出數(shù)據(jù) i++。 } //這里沒有判斷連續(xù)按小數(shù)點, else { temp[0]=num。 //如果是19數(shù)字,說明0沒有用,則直接替換第一位0 LCD_Write_Char(0,0,num)。//輸出數(shù)據(jù) } } else { temp[i]=num。 LCD_Write_Char(i,0,num)。//輸出數(shù)據(jù) i++。 //輸入數(shù)值累加 } } }void Timer0() interrupt 1{ TH0=(655367001)/256。 TL0=(655367001)%256。 SPK=!SPK。}ifndef __MIMASUO_H__define __MIM
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦

畢業(yè)設(shè)計(論文)-基于mc51單片機的簡易計算器設(shè)計-資料下載頁

【總結(jié)】電》