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

正文內(nèi)容

基于單片機(jī)的俄羅斯方塊游戲系統(tǒng)的設(shè)計(jì)(編輯修改稿)

2024-12-16 15:43 本頁面
 

【文章內(nèi)容簡介】 SEN將不被激活。 E A/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從 0000H到 FFFFH的外部程序存儲(chǔ)器讀取指令, EA 必須接 GND。為了執(zhí)行內(nèi)部程序指令, EA應(yīng)該接 VCC。在 flash編程期間, EA也接收 12伏 VPP電壓。 XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 晶振特性 AT89S52單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器, XTAL1和 XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動(dòng)器件的話, XTAL2可以不接,而從 XTAL1接入,如圖 22所示。由于外部時(shí)鐘信號(hào)經(jīng)過二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有其它要求,最長低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要 符合要求的。如圖 所示 : 圖 2 液晶顯示模塊 顯示器部分是由 HD61202 液晶顯示控制驅(qū)動(dòng)器和 JM12864J 液晶顯示器組成的,下面對(duì)其分別進(jìn)行介紹 。 液晶顯示控制驅(qū)動(dòng)器 HD61202 的特點(diǎn) HD61202 液晶顯示控制驅(qū)動(dòng)器是一種帶有驅(qū)動(dòng)輸出的圖形液晶顯示控制器,它可直接與 8 位微處理器相連,它可與 HD61203 配合對(duì)液晶屏進(jìn)行行、列驅(qū)動(dòng)。 HD61202北京科技大學(xué)遠(yuǎn)程與成人教育學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 7 頁 共 55 頁 是一種帶有列驅(qū)動(dòng)輸出的液晶顯示控制器,它可與行驅(qū)動(dòng)器 HD61203 配合使用,組成液晶顯示驅(qū)動(dòng)控制系統(tǒng)。 ( 1) 內(nèi)藏 64 64=4096 位顯示 RAM, RAM中每位數(shù)據(jù)對(duì)應(yīng) LCD 屏上一個(gè)點(diǎn)的亮、暗狀態(tài); ( 2) HD61202 是列驅(qū)動(dòng)器,具有 64路列驅(qū)動(dòng)輸出; ( 3) HD61202 讀、寫操作時(shí)序與 68系列微處理器相符,因此它可直接與 68 系列微處理器接口相連; ( 4) HD61202 的占空比為 1/32~ 1/64。 液晶顯示控制驅(qū)動(dòng)器 HD61202 的引腳功能 引腳 CS1,CS2,CS3 為芯片的片選端;引腳 E 為讀寫使能信號(hào),它是在下降沿時(shí)數(shù)據(jù)被鎖存入 HD61202 的;在 E 高電平期間,數(shù)據(jù)被讀出; R/W 為讀寫選 擇信號(hào),當(dāng)它為一時(shí)為讀選通,為零時(shí)為寫選通; DB0DB7 為數(shù)據(jù)總線 RST 為復(fù)位信號(hào)復(fù)位信號(hào)有效時(shí),關(guān)閉液晶顯示,使顯示起始行為 0, RST 可跟 MCU 相連,由 MCU 控制;也可直接接 VDD,使之不起作用。 HD61202 的引腳功能如下表 23所示: 表 23 HD61202 的引腳功能 引腳符號(hào) 狀態(tài) 引腳名稱 功能 CS1,CS2,CS3 輸入 芯片片選端 CS1和 CS2低電平選通, CS3高電平選通。 E 輸入 讀寫使能信號(hào) 在 E下降沿,數(shù)據(jù)被鎖存(寫)入 HD61202;在 E高電平期間,數(shù)據(jù)被讀出 R/W 輸入 讀寫選擇信號(hào) R/W=1為讀選通, R/W=0為寫選通 RS 輸入 數(shù)據(jù)、指令選擇信號(hào) RS=1為數(shù)據(jù)操作 RS=0為寫指令或讀狀態(tài) DB0DB7 三態(tài) 數(shù)據(jù)總線 RST 輸入 復(fù)位信號(hào) 復(fù)位信號(hào)有效時(shí),關(guān)閉液晶顯示,使顯示起始行為 0, RST可跟 MCU相連,由 MCU控制;也可直接接 VDD,使之不起作用。 液晶顯示控制驅(qū)動(dòng)器 HD61202 的指令系統(tǒng) HD61202 的指令系統(tǒng)比較簡單,總共只有七種?,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 當(dāng) DBO=1 時(shí), LCD 顯示 RAM 中的內(nèi)容; DBO=0 時(shí),關(guān)閉顯示。 2. 顯示起始行( ROW)設(shè)置指令 該指令設(shè)置了對(duì)應(yīng)液晶屏最上一行的顯示 RAM 的行號(hào),有規(guī)律的改變顯示起始行,可以使 LCD 實(shí)現(xiàn)顯示滾屏的效果。 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 北京科技大學(xué)遠(yuǎn)程與成人教育學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 8 頁 共 55 頁 0 0 1 0 1 1 1 頁號(hào)( 07) 顯示 RAM共 64 行,分 8 頁,每頁 8行。 4. 列地址( Y Address)設(shè)置指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 顯示列地址( 063) 設(shè)置了頁地址和列地址,就唯一確定了顯示 RAM 中的一個(gè)單元,這樣 MCU就可以用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進(jìn)一個(gè)字節(jié)數(shù)據(jù)。 5. 讀狀態(tài)指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 0 BUSY 0 ON/OFF REST 0 0 0 0 該指令用來查詢 HD61202 的狀態(tài),各參量含義如下: BUSY: 1內(nèi)部在工作 0正常狀態(tài) ON/OFF: 1顯示關(guān)閉 0顯示打開 REST: 1復(fù)位狀態(tài) 0正常狀態(tài) 在 BUSY 和 REST 狀態(tài)時(shí),除讀狀態(tài)指令外,其它指令均不對(duì) HD61202 產(chǎn)生作用。在對(duì) HD61202 操作之前要查詢 BUSY 狀態(tài),以確定是否可以對(duì) HD61202 進(jìn)行操作。 6. 寫數(shù)據(jù)指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 寫 數(shù) 據(jù) 讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就自動(dòng)增一,必須注意的是,進(jìn)行讀操作之前,必須有一次空讀操作,緊接著再讀才會(huì)讀出所要讀的單元中的數(shù)據(jù)。 7. 讀數(shù)據(jù)指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 讀 顯 示 數(shù) 據(jù) HD61202 的軟件設(shè)計(jì) 液晶控制器 HD61202 一共有七條指令,從作用上可分為兩類,顯示狀態(tài)設(shè)置指令和數(shù)據(jù)讀 /寫操作指令。詳見 指令系統(tǒng)可查看圖形液晶顯示器產(chǎn)品有關(guān)手冊(cè)。顯示起始行設(shè)置中 L5~ L0 為顯示起始行的地址,取值在 03FH(164 行 )范圍內(nèi)。頁面地址設(shè)置中 P2P0 為選擇的頁面地址,取值范圍為 07H, 代表 18 頁。列地址設(shè)置中C5C0 為 Y地址計(jì)數(shù)器的內(nèi)容,取值在 03FH(164 行 )范圍內(nèi)。 顯示器上 128 點(diǎn) 64 點(diǎn),每 8 點(diǎn)為一字節(jié)數(shù)據(jù),都對(duì)應(yīng)著顯示數(shù)據(jù) RAM(在HD61202 芯片內(nèi) ),一點(diǎn)對(duì)應(yīng)一個(gè) bit,計(jì)算機(jī)寫入或讀出顯示存儲(chǔ)器的數(shù)據(jù)代表顯示屏上某一點(diǎn)列上的垂直 8 點(diǎn)行的數(shù)據(jù)。 D0 代表最上一 行的點(diǎn)數(shù)據(jù), D1 為第二行的點(diǎn)數(shù)據(jù) , ……D7 為第八行的點(diǎn)數(shù)據(jù)。該 bit=1 時(shí)該點(diǎn)則顯示黑點(diǎn)出來,該 bit=0 時(shí)該點(diǎn)則消失。另外 LCD 指令中有-條 display ON/OFF 指令, display ON 時(shí)顯示 RAM 數(shù)據(jù)對(duì)應(yīng)顯示的畫面; display OFF 則畫面消失, RAM 中顯示數(shù)據(jù)仍存在。 點(diǎn)陣字模文件的建立: 由于 MGLS12864 液晶顯示器沒有內(nèi)部字符發(fā)生器,所以在屏幕上顯示的任何字符、漢字等須自己建立點(diǎn)陣字模庫,然后均按圖形方式進(jìn)行顯示。由于 HD61202 顯北京科技大學(xué)遠(yuǎn)程與成人教育學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 9 頁 共 55 頁 示存儲(chǔ)器的特性,不能將計(jì)算機(jī) 內(nèi)的漢字庫和其它字模庫提出直接使用,需要將其旋轉(zhuǎn) 90 度后再寫入。點(diǎn)陣字模庫建立包括以下幾個(gè)方面: ( 1) 建立 816 點(diǎn)陣常用字符、數(shù)字、符號(hào)字模庫。 可選用計(jì)算機(jī) BIOS 中 ASCII 的 816 字模庫,所有字符按照 ASCII 值從小到大升序排列。 asm{MOV ax,1130h /*AH=11h— 功能調(diào)用。裝入字庫至軟字庫 */ mov bh,6 /*AL=30h 取點(diǎn)陣信息 */ int 10h /*BH=6 取 ROM8X16 點(diǎn)陣指針 (VGA) */ mov ax,es /*出口: ES:BP 指向字庫指針 */ mov ascii_es,ax mov ax,bp mov ascii_bp,ax }。 ascii_offset=ascii_bp+16*asciicode; for(j=0。j16。j++) buf[j]=peekb(ascii_es,ascii_offset+j)。 /*讀 16 字節(jié)點(diǎn)陣數(shù)據(jù) */ for(m=0。m16。m++) /*點(diǎn)陣數(shù)據(jù)轉(zhuǎn)換成 LCD 格式數(shù)據(jù) */ { if(m8) { beginbyte= 7。 shiftn=7。} else { beginbyte=15。 shiftn=15。} for(j=0。j8。j++) ascii8x16[m]=(ascii8x16[m]+ (buf[beginbytej](shiftnm))amp。0x01)1。 } 也可選用 UCDOS 的 ASC16 文件做字模庫。 ASC16 文件的字符為 816 點(diǎn)陣。所有字符按照 ASCII 值從小到大升序排列。計(jì)算字符首地址的公式:字符首地址 =字符的 ASCII 碼值 16 加 字模庫首地址。 ( 2) 建立所用到的 1616 點(diǎn)陣字模庫。漢字字符可選用 UCDOS 的 HZK16 文件做字模庫。 HZK16 文件的字符為 1616 點(diǎn)陣。所有字符按照區(qū)位碼從小到大升序排列。計(jì)算漢字字符首地址的公式如下:漢字首地址 =((區(qū)碼 1) 94+ 位碼 1)32 。作者用 C 語言編寫的讀取 UCDOS 點(diǎn)陣字庫字模程序,完成字模讀取 。 數(shù)據(jù)重新排列,并按 MCS51 匯編程序的要求寫成相應(yīng)格式的文本文件。 p=((quma1)*94+weima1)*32。 cclibfile=fopen(HZK16,rb)。 fseek(cclibfile,(long)p,SEEK_SET)。 fread(buf,sizeof(unsigned char),32,cclibfile)。 /*讀 32 字節(jié)點(diǎn)陣數(shù)據(jù) */ for(m=0。m32。m++){ /*點(diǎn)陣數(shù)據(jù)轉(zhuǎn)換成 LCD 格式數(shù)據(jù) */ if(m8) { beginbyte=14。 shiftn=7。} else if( m= 8 amp。amp。 m16 ) { beginbyte=15。 shiftn=15。} else if( m=16 amp。amp。 m24 ) { beginbyte=30。 shiftn=23。} else { beginbyte=31。 shiftn=31。} for(j=0。j8。j++) hzk16x16[m]=(hzk16x16[m]+ (buf[beginbyte2*j] (shiftnm))amp。0x01)1。 } 北京科技大學(xué)遠(yuǎn)程與成人教育學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 10 頁 共 55 頁 ( 3) 常用圖形(如產(chǎn)品商標(biāo)等)的點(diǎn)陣圖形的建立。對(duì)已有的圖形可采用掃描儀進(jìn)行掃描,然后用圖形處理軟件進(jìn)行處理,再將 BMP 格式文件轉(zhuǎn)換成 MCS51 的匯編文件的格式。 以上所有的字模數(shù)據(jù)都存放在單片機(jī) W78E58 的程序存儲(chǔ)器中,如用到的漢字、圖形較多,可選用較大容量 的程序存儲(chǔ)器。 通用子程序:通用子程序分左半屏、右半屏寫指令代碼子程序和寫顯示數(shù)據(jù)子程序。液晶顯示驅(qū)動(dòng)器 HD16202 內(nèi)部有個(gè)忙標(biāo)志寄存器,當(dāng) BF=1 時(shí),表示內(nèi)部操作正在運(yùn)行,不能接受外部數(shù)據(jù)或指令。下面子程序中設(shè)指令代碼寄存器為 COMM,數(shù)據(jù)寄存器為 DATA。 (COMM EQU 20H /*指令寄存器 */ DATA EQU 21H /*數(shù)據(jù)寄存器 */) 1) 左半屏寫指令子程序 WR_CMD1: MOV DPTR,CRADR1 ; /*讀狀態(tài)字口地址 */ WAIT1: MOVX A,@DPTR ; /* 讀狀態(tài)字 */ JB ,WAIT1 ; /*判忙標(biāo)志 BF,如 BF=1 忙,等待 */ MOV DPTR,CWADR1 ; /*寫指令字口地址 */ MOV A,COMM ; /*取指令代碼 */ MOVX @DPTR,A ; /*寫指令代碼 */ RET 2) 左半屏寫數(shù)據(jù)子程序 WR_DATA1: MOV DPTR,CRADR1 ; /*讀狀態(tài)字口地址 */ WAIT11: MOVX A,@DPTR ; /* 讀狀態(tài)字 */ JB ,WAIT11 ; /*
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1