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

正文內(nèi)容

單片機課程設(shè)計報告—簡易計算器-閱讀頁

2024-08-22 01:19本頁面
  

【正文】 checkkeycode()。(需包函頭文件) calculate()。(需包函頭文件) display()。(需包函“display“頭文件) }}//函數(shù)具體內(nèi)容見各模塊。 (其中scankeyboard()。..calculate()。)附錄二 鍵盤程序//*******************************************************************8//scankeyboard()函數(shù)(用于掃描鍵值)//checkkeycode()函數(shù)(用于定義按鍵的邏輯功能)//*********************************************************************includeincludeincludeincludeincludeuchar keycode。uchar scanok,checkok。 uchar a,b。 keycode=PC8255。//按鍵閉合消抖。//按鍵聲音。 PC8255=0xf0。 keycode=a|b。 delay_50us(200)。 P1=keycode。//鍵值測完后。 } }void checkkeycode()//checkkeycode()函數(shù)(用于定義按鍵的邏輯功能){ if(scanok)//如果鍵值測完后,則執(zhí)行以下。//scanok清零。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。 } checkok=1。//定義變量。uchar addflag,subflag,mulflag,divflag,clrflag。標志。//定義溢出標志。//定義非法標志(除零時非法)void add()。void sub()。void mul()。void div()。void equ()。void datpros()。void calculate()//計算大函數(shù)。則執(zhí)行以下。//檢測完標志清零.. switch (keynum)//如果是+,,*,/,=則進入相應(yīng)的函數(shù)。 break。 case 11 : sub()。//同上 case 12 : mul()。 case 13 : div()。 case 14 : equ()。 default : datpros()。 } }}void datpros()//數(shù)據(jù)處理函數(shù)。 {//說明:比如。 //顯示的只是加數(shù)或是被加數(shù)或是結(jié)果。要清掉。 clrflag=0。 } dat=dat*10+keynum。比如按下1,2,3后就會把它合成“123” if(dat65535) overflow=1。amp。//如果做除法時除了零,則非法標志置1,供顯示程序查詢并顯示EEEEEEE}void add()//加法。//加法標志置1。//將其它運算標志清零。//清零標標置1,(當按下加號后,再按第二個加數(shù)時,這時應(yīng)該顯示第二加數(shù)。) if(addflag1)//此處用于邊加。加號應(yīng)有等于的功能。//算出和 datA=dat。 }//說明:比如進行“1+2+3”時,當按第二個加時,應(yīng)該要顯示1+2的和。//如果不是連加,將輸入的第一個加數(shù)暫存。) }void sub()//減法同上。 addflag=mulflag=divflag=0。 if(subflag1)//連減。 datA=dat。}void mul()//乘法同上。要求沒說連乘。要改成連乘像連加連減那像稍加修改就行了。 addflag=subflag=divflag=0。 datA=dat。同乘法。 addflag=subflag=mulflag=0。 datA=dat。{ if(addflag)//如果些時做加法運算。//計算各存入dat(顯示程序會將dat顯示的。 } if(mulflag)//同上 { dat=datA*dat。 { dat=datA/dat。//運算一次完成后將所有運標志清零。}附錄四 顯示程序//*****************************************************************************//函數(shù)display() 。//定義dat為無符號int型(最大值65535)void datapros()。//數(shù)碼管“0”~“9”段碼。//數(shù)碼管位選碼。//此數(shù)組用于保存拆開的數(shù)值void display(){ if(!overflowamp。!illegal)//如果沒有溢出且合法則顯示數(shù)值。//顯示前要將數(shù)據(jù)處理,拆開。 PA8255=0xfe。//顯示最高位。 PB8255=0xff。 PB8255=duan_seg[display_data[1]]。 PB8255=0xff。 PB8255=duan_seg[display_data[2]]。 PB8255=0xff。 PB8255=duan_seg[display_data[3]]。 PB8255=0xff。 PB8255=duan_seg[display_data[4]]。 PB8255=0xff。 PB8255=duan_seg[display_data[5]]。/ delay_50us(20)。 } else//如果溢出或是除零非法。 for(i=0。i++)//顯示六個E { PA8255=we_seg[i]。//送E的段碼。 PB8255=0xff。{ uintdat=(uint)dat。//拆出最高位送display_data[0]中。//拆次高位 display_data[2]=uintdat%10000/1000。//。//。//拆最低
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦

基于單片機的簡易計算器設(shè)計-閱讀頁

【摘要】電》