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

正文內(nèi)容

基于51單片機的俄羅斯方塊游戲課設(shè)(專業(yè)版)

2025-01-03 07:06上一頁面

下一頁面
  

【正文】 column4。 0x02) || ([1] amp。 } 39 else if(([0] amp。 (MAXHANG1)) return 1。 lie=+column。column4。 if(cubeMap[hang][lie]amp。 showNextCube(cube+16*next,19,3)。 for(i=0。 if(!KEYROTATION) key=2。 } } 33 //=================================================================== void t0isr(void) interrupt 1 { uchar key。i0。 lcdPlayChar(0,6,STAR+3*WIDE)。 lcdPlayChar(13,0,STAR+2*WIDE)。i++) lcdWriteByte(0)。 RW=0。 ea=EA。 EN=1。 LCD=0xff。 } else pflag=1。 else if(i==1) 26 bitmask=0xe。 EN=0。 lcdSetColumn(2)。i51。 LCD=0xff。 LCD=0xff。 CS2=0。 EN=1。 //////////////////////////////////////////////////////////////////////////////// 21 void lcdCmd(uchar cmd) { bit ea。 uchar miao=0,fen=0。下面子程序中設(shè)指令代碼寄存器為 COMM,數(shù)據(jù)寄存器為 DATA。 shiftn=15。 HZK16 文件的字符為 1616 點陣。 /*讀 16 字節(jié)點陣數(shù)據(jù) */ for(m=0。顯示起始行設(shè)置中 L5~ L0 為顯示起始行的地址,取值在 03FH(164 行 )范圍內(nèi)。 液晶顯示控制驅(qū)動器 HD61202 的特點 HD61202 液晶顯示控制驅(qū)動器是一種帶有驅(qū)動輸出的圖形液晶顯示控制器,它可直接與 8 位微處理器相連,它可與 HD61203 配合對液晶屏進行行、列驅(qū) 動。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時, ALE 脈沖將會跳過。在訪問外部程序存儲器或用 16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行 MOVX DPTR)時, P2口送出高八位地址。 AT89S52單片機有 PDIP、 PLCC、 TQFP三種封裝方式,在此我選用 DPIP也就是雙列直插封裝的單片機此種封裝有如下特點: 1. 適合 PCB的穿孔安裝 ; 2. 易于對 PCB布線 ; 3. 操作方便 ; IV AT89S52 引腳功能描述 AT89S52 單片機的管腳說明如圖 21所示: 圖 21 DIP封裝 AT89S52單片機引腳結(jié)構(gòu)圖 1. VCC:電源。使用高級語言可以降低開發(fā)難度,縮短開發(fā)周期,增強軟件的可讀性和可移植性,便于改進和擴充功能。 單片機經(jīng)過 3代的發(fā)展, 正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容量、強 I/O功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。片上 Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。 4. P1口 (~ ): P1口是一個具有內(nèi)部上拉電阻的 8位雙向 I/O口, P1輸出緩沖器能驅(qū)動 4個 TTL邏輯電平。晶振工作時, RST腳持續(xù) 2個機器周期高電平將使單片機復(fù)位。為了執(zhí)行內(nèi)部程序指令, EA應(yīng)該接 VCC。 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 顯示起始行( 063) 3. 頁 (PAGE)置指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1 頁號( 07) 顯示 RAM共 64 行,分 8 頁,每頁 8行。點陣字模庫建立包括以下幾個方面: 816 點陣常用字符、數(shù)字、符號字模庫。0x01)1。 /*讀 32 字節(jié)點陣數(shù)據(jù) */ for(m=0。j++) hzk16x16[m]=(hzk16x16[m]+ (buf[beginbyte2*j] (shiftnm))amp。電路原理圖如圖 24所 示: 圖 24 AT89S52 與液晶的接口電路 由圖 25 可以看出: VSS 接地;數(shù)字電源 VDD 接+ 5V;數(shù)據(jù)、指 令選擇信號 RS接單片機 口;讀寫選擇信號 R/W 接單片機 口; DB0~ DB7 分別接單片機的~ 口;芯片 芯片 2的片選分別接單片機的 、 口;復(fù)位端 RST、背光正電源 LEDA 接+ 5V;液晶驅(qū)動電壓 VEE、背光負電源 LEDK 接地。 } block。 EN=0。 lcdCmd(column)。 CS1=1。 LCD=0x1。 RS=1。 RS=1。i51。 bit bflag,pflag,ea。 bitmask=0x80。 i==64) { CS1=0。 else 28 datamp。 lcdSetPage(y/8+1)。 dat=LCD。 CS2=0。i++) lcdWriteByte(0)。 //SCORE lcdPlayChar(15,5,STAR)。 uint temp。 lcdPlayChar(fen/10,7,STAR)。 // key=0xff。 break。 } } } // void createCube(void) { static uchar next。lie++) { temp=8*lie。0x80) lcdPutPix(temp+8,hang,1)。 for(row=0。amp。 0x02) ||([3] amp。 0x08) ) { if((MAXLIE4)) return 1。 } // return 0。 } } return 0。 0x08) ||([3] amp。 0x08) || ([2] amp。 0x02) || ([1] amp。 (MAXHANG4)) return 1。 } } } // void clearCubeFromMap(void) { uchar row,column,temp。0x40) lcdPutPix(temp+7,hang,1)。 36 for(lie=0。 else lcdPutPix(x+j,y+i,0)。 if(key!=0xff) keyflag=1。 if(miao==0) fen=++fen%60。 lcdPlayChar(speed%10,4,STAR+3*WIDE)。 } // void showScoreSpeed(void) { uchar num[5]。 //01 lcdPlayChar(0,4,STAR+2*WIDE)。 for(i=0。 } } } // void lcdClear(void) { uchar i,page。 EN=0。i++) { if(pflag) { if(i==62 || i==63) { CS1=1。 EN=0。 } else if(pflag amp。 nextbit=1。 EN=0。 EN=0。 EN=0。 24 lcdSetColumn(2)。 RS=1。 lcdWriteByte(asii[p++])。=0x3f。 EN=1。 char row。對于 JM12864J,只要供給 VDD、 VSS 和 V0 即可, HD61202 和 HD61203 所需的電源將由模塊內(nèi)部電路在 VDD 和 V0、 VSS 的作用下產(chǎn)生。} for(j=0。 fseek(cclibfile,(long)p,SEEK_SET)。j8。 點陣字模文件的建立: 由于 MGLS12864 液晶顯示器沒有內(nèi)部字符發(fā)生器,所以在屏幕上顯示的任何字符、漢 字等須自己建立點陣字模庫,然后均按圖形方式進行顯示。現(xiàn)分別介紹如下: 1. 顯示開 /關(guān)指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 1 1 1 1/0 當 DBO=1 時, LCD 顯示 RAM 中的內(nèi)容; DBO=0 時,關(guān)閉顯示。 E A/VPP:訪問外部程序存儲器控制信號。 P3口亦作為 AT89S52第二功能使用,如表 22所示: 表 22 P3口第二功能 引腳號 第二功能 RXD(串行輸入) TXD(串行輸出) INT0 (外部中斷 0) INT0 (外部中斷 0) T0(定時器 0 外部輸入) T1(定時器 1 外部輸入) WR (外部數(shù)據(jù)存儲器寫選通 ) RD (外部數(shù)據(jù)存儲器寫選通 ) 在 flash 編程和校驗時, P3 口也 接收一些控制信號。在 Flash編程時, P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。因為: AT89S52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。 通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算 機的基本功能部件:中央處理器、存儲器和 I/O 接口電路等。由于 CMOS 等工藝的大量采用,很多單片機可以在更低的電壓下工作( 或 ),功耗已經(jīng)降低到 uA 級。 3. P0口( ~ ) : P0口是一個 8位漏極 開路的雙向 I/O口。在使用 8位地址(如 MOVX RI)訪問外部數(shù)據(jù)存儲器時, P2口輸出 P2 鎖存器的內(nèi)容。這一位置“ 1”, ALE 僅在執(zhí)行 MOVX或 MOVC指令時有效。 64 64=4096 位顯示 RAM, RAM 中每位數(shù)據(jù)對應(yīng) LCD 屏上一個點的亮、暗狀態(tài); 是列驅(qū)動器,具有 64 路列驅(qū)動輸出; 讀、寫操作時序與 68 系列微處理器相符,因此它可直接與 68系列微處理器接口相連; 的占空比為 1/32~ 1/64。列地址設(shè)置中C5C0 為 Y地址計數(shù)器的內(nèi)容,取值在 03FH(164 行 )范圍內(nèi)。m++) /*點陣數(shù)據(jù)轉(zhuǎn)換成 LCD 格式數(shù)據(jù) */ { if(m8) { beginbyte= 7。計算漢字字符首地址的公式如下:漢字首地址 =((區(qū)碼 1) 94+ 位碼 1)32 。amp。 JM12864J 的電路結(jié) 構(gòu)特點 JM12864J是使用 HD61202及其兼容控制驅(qū)動器作為列驅(qū)動器,同時使用 HD61203作為行驅(qū)動器的液晶模塊。 bit keyflag,timeupdate,fashionupdate。 EA=0。 } // void lcdSetPage(uchar page) { page amp。 } else { CS1=0。 EN=1。 EN=1。 RS=1。 RS=1。 RS=1。 else if(i==3) bitmask=0x38。 for(i=x。 RW
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1