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

正文內(nèi)容

電子設(shè)計-基于stc89c52rc單片機的簡易計算器設(shè)計-wenkub.com

2024-10-15 17:21 本頁面
   

【正文】 Init()。 break。 case 3:result=opt[0]*opt[1]。 if(opr[1]!=0) { switch(opr[1]%10) { case 1:result=opt[0]+opt[1]。 break。)||string[pp1]==39。=string[pp1]amp。 case 39。)39。amp。)39。) operate=34。string[pp1]=39。:if((39。 else DisplayError()。939。039。 break。)||string[pp1]==39。=string[pp1]amp。 case 39。)39。amp。+39。 //operate 第一位表示優(yōu)先級,第二位標(biāo)識算符 else //1+、 3*、 4/、 5) DisplayError()。amp。amp。(39。939。039。string[pp]!=39。) op=op*10+string[pp]39。=string[pp]amp。 while(string[pp]!=39。 WriteAddress(position)。 } 34 if(ch==39。 WriteAddress(position)。) {pp。 if(position==15) WriteCommand(0x07)。) //m 模式選擇、 q 清除鍵 ,w 修改鍵 {string[pp++]=ch。amp。amp。 LcdInit()。t39。break。break。break。 LcdInit()。:39。)。 WriteNum(Curtime[2],0x44)。 WriteData(39。 WriteData(39。 WriteData(39。39。)。 } void Display() 32 {WriteNum(Curtime[6],0x00)。} void WriteNum(uchar num,uchar add) //顯示數(shù)字 {WriteAddress(add)。break。 else ch=39。/39。break。 case 13:if(shift==0)ch=39。 //w 表示修改 case 12:shift=(shift+1)%3。q39。 opr[iopr]=operate。 } if(operate==15) {iopr。 opt[iopt++]=m。 break。opt[iopt++]=m。opt[iopt++]=m。} } void Calculate(void) //計算 {int m。\039。 } }} void DisplayError(void) //顯示錯誤 {uchar i。a39。 i++。 numble=0numble。 if(numble0) { WriteAddress(0x41)。//關(guān)光標(biāo)顯示 WriteAddress(0x40)。}。,39。,39。,39。 } 29 void DisplayNumble(long numble) //顯示結(jié)果,把結(jié)果轉(zhuǎn)換為字符串形式在輸出 { uchar numx[8]={39。 iopt=0。 equal=0。i++) string[i]=39。 void Init(void) { int i。 uchar WriteCommand(uchar mand)。 sbit m3=P3^5。//用來標(biāo)記操作數(shù)和操作符的堆棧 28 bit equalFlag=0。 //記錄表達式的字符位置 bit equal=0。 //操作數(shù) uchar iopt,iopr。}。,39。,39。,39。,39。,39。,39。,39。 uchar code num[]={39。 delay(5)。 delay(5)。 delay(5)。 delay(5)。 _nop_()。 e=0。 } void WriteAddress(uchar addr) { WriteCommand(addr|0x80)。 _nop_()。 e=0。 return result1。 _nop_()。 rw=1。in。j33。 void delay1ms(void) { uchar i,j。 } include include define uchar unsigned char define uint unsigned int sbit rs=P2^5。 if(temp==KEYDATA) keyFlag=1。 uchar temp。 else key=16。 if(temp==1)key+=12。 temp=KEYDATA。 else if(temp==8)key=3。 temp=~((temp4)|0xf0)。 Delay1(1)。j++) 。 for(i=0。硬件中我對單片機實驗板上的很多硬件不是很清楚,使得在下載程序后,又進行了很長時間的調(diào)整。 單片機是靠程序運行的,并且可以修改。 圖 1 矩陣鍵盤布局圖 矩陣鍵盤內(nèi)部電路圖如圖 2所示: 20 (四)、 LCD 顯示模塊: 本設(shè)計采用 LCD 液晶顯示器來顯示輸出數(shù)據(jù)。矩陣鍵盤采用四條 I/O 線作為行線,四條 I/O 線作為列線組成鍵盤,在行線和列線的每個交叉點上設(shè)置一個按鍵。 顯示模式設(shè)置: (初始化 ) 0011 0000 [0x38] 設(shè)置 162顯示, 57點陣, 8位數(shù)據(jù)接口; 顯示開關(guān)及光標(biāo)設(shè)置: (初始化 ) 0000 1DCB D 顯示 (1有效 )、 C 光標(biāo)顯示 (1有效 )、 B 光標(biāo)閃爍 (1有效 ) 0000 01NS N=1(讀或?qū)懸粋€字符后地址指針加 1 amp。 第 6腳: E(或 EN)端為使能 (enable)端。 可直接使用串口下載; AT89S52單片機 : 8K字節(jié)程序存儲空間; 256字節(jié)數(shù)據(jù)存儲空間; 沒有內(nèi)帶 EEPROM存儲空間 ??臻e模式下,CPU 停止工作,允許 RAM、定時器 /計數(shù)器、串口、中斷繼續(xù)工作。 內(nèi)部時鐘模式電路: 當(dāng)單片機工作于內(nèi)部時鐘模式的時候,只需在 XTAL1和 XTAL2引腳連接一個晶體振蕩器或者陶瓷振蕩器,并接兩個電容后接地即可,在使用時對于電容的選擇有一定的 要求: 當(dāng)外接晶體振蕩器的時候,電容值一般選擇 C1=C2=30+10pF或 3010pF; 當(dāng)外接陶瓷振蕩器的時候,電容值一般選擇 C1=C2=40+10pF或 4010pF; STC89C52介紹: STC89C52是一種低功耗、高性能 CMOS8位微控制器, 具有 8K 在系統(tǒng)可編程 Flash 存儲器。 總體設(shè)計效果如下圖 : (二)、單片機接口電路說明: 手動上電復(fù)位電路: 當(dāng) VCC 上電時, C 充電,在 10K 電阻上出現(xiàn)電壓,使得單片機復(fù)位;幾個毫秒后, C 充滿, 10K 電阻上電流降為 0,電壓也為 0,使得單片機進入工作狀態(tài)。 方案四: 4*4 矩陣式鍵盤。 1— 數(shù)據(jù)線 ( DATA); — 未用; 3— 電源地( GND); 4— 電源( +5 V); 5— 時鐘 11 ( CLK); 6— 未用。這種鍵盤的硬件都很容易實現(xiàn),但每一個按鍵就要用一個 I/O 口,適合本次設(shè)計。 2 將使用者自己設(shè)計的圖形存入 CGRAM。 (注意這里我們送地址的時候應(yīng)該是 0x80+Address,這也是前面說到寫地址命令的時候要加上 0x80 的原因 ) AC 地址指令 功能: 1 讀取忙碌信號 BF 的內(nèi)容, BF=1 表示液晶顯示器忙,暫時無法接收單片機送來的數(shù)據(jù)或指令 。參數(shù)設(shè)定的情況如下: 位名 設(shè)置 D 0=顯示功能關(guān) 1=顯示功能開 C 0=無光標(biāo) 1=有光標(biāo) B 0=光標(biāo)閃爍 1=光標(biāo)不閃爍 功能:使光標(biāo)移位或使整個顯示屏幕移位。 功能: 1 把光標(biāo)撤回到顯示器的左上方 。 DDRAM 就是顯示數(shù)據(jù) RAM,用來寄存待顯示的字符代碼。 6 A11B7C4D2E1F10G5H311
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1