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

正文內(nèi)容

cmos高速鎖相環(huán)的研究與設(shè)計(jì)畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-07-25 08:20 本頁面
 

【文章內(nèi)容簡介】 始化過程,其中包括使程序計(jì)數(shù)器PC=0000H,P0~P3=FFH,SP=07H,其他寄存器從H地址單元開始執(zhí)行[8]。單片機(jī)復(fù)位后不改變片內(nèi)RAM區(qū)中的內(nèi)容,特殊功能寄存器復(fù)位后的狀態(tài)見表31所示。表31 特殊工作寄存器復(fù)位狀態(tài)表特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0~P3FFHSBUF不定IE***00000BSCON00HIP0**00000BPCON0*******B值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀態(tài),對于了解單片機(jī)的初態(tài),減少應(yīng)用程序中的初始化部分是十分必要的。說明:表中符號*為隨機(jī)狀態(tài);A=00H,表明累加器已被清零;PSW=00H,表明選寄存器0組為工作寄存器組;SP=07H,表明堆棧指針指向片內(nèi)RAM的H字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的內(nèi)容寫入到08H單元中;P0~P3=FFH,表明已向各端口線寫入1,此時(shí),各端口既可用于輸入又可用于輸出;IP=00000B,表明各個(gè)中斷源處于低優(yōu)先級;IE=000000B,表明各個(gè)中斷均被關(guān)斷。 下載電路的設(shè)計(jì)本次設(shè)計(jì),軟件程序是通過串行編程方式寫入單片機(jī)Flash存儲器的,即ISP編程方式,需要電平轉(zhuǎn)換芯片MAX232。同時(shí)上位機(jī)與系統(tǒng)的連接需要一條下載線,下載線的一端是USB口接PC機(jī),另一端是九針的串行口接系統(tǒng)電路板。1. ISP簡介STC系列單片機(jī)提供ISP在線系統(tǒng)可編程,可方便使用RS232接口直接下載程序。ISP的好處是:不用購買通用編程器,單片機(jī)在系統(tǒng)上即可下載/燒錄用戶程序,而無須將單片機(jī)從已生產(chǎn)好的產(chǎn)品上拆下,再用通用編程器將程序代碼燒錄進(jìn)單片機(jī)內(nèi)部。這種方法極大地方便了軟件編寫過程中的調(diào)試工作。STC89系列單片機(jī)在出廠之前已在單片機(jī)內(nèi)部固化有ISP系統(tǒng)引導(dǎo)程序,配合ISP端的控制程序即可將用戶的程序代碼下載進(jìn)單片機(jī)內(nèi)部,故無需編程器,而且速度比通用編程器快。2. MAX232簡介MAX232芯片(如圖37所示)是美信公司專門為電腦的RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用V電源供電。內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。由芯片的6腳和4只電容構(gòu)成。功能是產(chǎn)生V和V兩個(gè)電源,提供給RS232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由芯片的11114腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出[11]。第三部分是供電。15腳GND、16腳VCC(V)。16 15 14 13 12 11 10 91121314151617181C1+ V+ C1 C2++ C2 V T2OUT R2IN VCC GND T1OUT R1IN R1OUT T1IN T2IN R2OUT 圖37 MAX232芯片引腳圖3. ISP下載電路圖38 下載電路圖如圖38所示STC系列單片機(jī)下載電路需要一片MAX232及五只電容即可,電路簡單易行。兩個(gè)發(fā)光二極管在下載程序時(shí)會不斷閃爍,方便用戶觀察。,軟件界面如圖39所示。圖39 軟件界面圖下載步驟:(1) 選擇MCU類型:STC89C53RC。(2) 將編譯鏈接代碼文件形成的為擴(kuò)展的文件調(diào)入緩沖區(qū),每次調(diào)入,都會使校驗(yàn)和改變。(3) 選擇PC串口,若沒有串口,則需要USB轉(zhuǎn)串口轉(zhuǎn)換器。波特率可以使用默認(rèn)值;若通信不正常,可以將波特率值降低后再試,知道通信正常。(4) 不要改動(dòng)無關(guān)的一些默認(rèn)值。(5) 點(diǎn)擊“Download/下載”按鈕,屏幕提示單片機(jī)上電,這時(shí)PC等待單片機(jī)冷啟動(dòng)(給單片機(jī)通電),隨后就可以看到HEX文件寫入單片機(jī)。給單片機(jī)斷電,點(diǎn)擊“Donload/下載”按鈕,單片機(jī)上電,消息框提示握手成功,幾秒種后程序下載完畢,單片機(jī)自動(dòng)開始運(yùn)行下載的程序[9]。 LCD顯示電路的設(shè)計(jì)LCD顯示電路部分為該設(shè)計(jì)系統(tǒng)的主要部分。在前面已經(jīng)介紹了LCD顯示模塊KXM12864J的顯示原理,在此不再重復(fù)敘述。KXM12864J的D0~D7端口與單片機(jī)P0口相連,用于數(shù)據(jù)傳輸(單片機(jī)的P0口連接了10K的排阻,用于拉高電平)。E、R/W、RS、CS~,用于控制。顯示電路圖如圖310所示。圖310 顯示電路圖KXM12864J的接線需要注意以下幾點(diǎn):1. 在KXM12864J和單片機(jī)連接。不同的12864LCD部分引腳功能不同,而且不對應(yīng)。連接時(shí)應(yīng)對應(yīng)所用型號LCD的引腳圖逐個(gè)接線,以免因接線錯(cuò)誤燒壞LCD。2. KXM12864J背光的連接。KXM12864J的120引腳分別為LED+和LED,是背光電源引腳。在接線時(shí),LED+要接V電源,LED接系統(tǒng)的地,如圖311所示。LCMLCM20195V圖311 背光電路圖3. KXM12864J亮度調(diào)節(jié)的電路連接。KXM12864J的18引腳為VEE,輸出10V的負(fù)電壓(單電源供電),3引腳為VLCD是LCD的驅(qū)動(dòng)負(fù)電壓。KXM12864J需要連接一個(gè)電位器,用于調(diào)節(jié)背光的亮度。設(shè)計(jì)中選用電位器的可調(diào)范圍為0~20KΩ。線路連接方式如圖312所示。LCDVLCDLCDVEER320KΩVCC 圖312 亮度調(diào)節(jié)電阻連接圖 按鍵電路的設(shè)計(jì) 電路板的功能鍵可以使用矩陣鍵盤,也可以使用獨(dú)立按鍵,在本設(shè)計(jì)中采用獨(dú)立按鍵。根據(jù)系統(tǒng)功能需要,使用了六個(gè)獨(dú)立按鍵。四個(gè)操作按鍵的功能分別為左移、快速下移、右移、翻轉(zhuǎn),~;變形鍵和確定/~。當(dāng)有鍵按下時(shí),則對應(yīng)端口電平被拉低。系統(tǒng)中設(shè)置了定時(shí)器中斷,定時(shí)對按鍵進(jìn)行掃描,當(dāng)掃描到有鍵按下時(shí),執(zhí)行相應(yīng)程序完成相應(yīng)功能。鍵盤接口電路如圖313所示。圖313 鍵盤接口電路 聲音電路的設(shè)計(jì)為了增加游戲的娛樂性系統(tǒng)中增設(shè)由蜂鳴器產(chǎn)生的游戲聲音,通過編程控制蜂鳴器在游戲進(jìn)程中發(fā)出不同的音調(diào)。這部分電路設(shè)計(jì)比較簡單,由一個(gè)蜂鳴器,一個(gè)三極管驅(qū)動(dòng)和一個(gè)200Ω的限流電阻組成。當(dāng)向蜂鳴器送入脈沖時(shí),蜂鳴器就會發(fā)出聲音[10]。改變輸入脈沖頻率蜂鳴器所發(fā)聲音的音調(diào)就會發(fā)生變化。蜂鳴器電路圖如圖314所示。圖314 蜂鳴器電路4 系統(tǒng)軟件的設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)主要分為三部分:LCD顯示部分、功能按鍵部分和音樂部分。主程序中有兩個(gè)循環(huán):在一個(gè)圖形下落到底時(shí)將下一個(gè)圖形設(shè)定為當(dāng)前圖形并產(chǎn)生新的下一個(gè)圖形為大循環(huán),當(dāng)前下落圖形的狀態(tài)檢測和自動(dòng)下移為小循環(huán)換。本設(shè)計(jì)軟件編程主程序流程圖如圖41所示。程序清單見附錄二。開始給定時(shí)器0賦初值開定時(shí)器初始化否計(jì)時(shí)顯示按鍵操作下落到底?是否音樂闖關(guān)成功?闖關(guān)失?。慨a(chǎn)生圖形否否有滿行?消行積分是圖形下移一行是是圖41 主程序流程圖 LCD顯示子程序顯示分為兩部分:左半屏顯示游戲;右半屏顯示游戲進(jìn)程的相關(guān)信息,包括下一個(gè)圖形形狀、當(dāng)前速度、游戲積分、游戲時(shí)間和游戲等級。本設(shè)計(jì)選用的KXM12864J型LCD,為128列、8頁(每頁8行)的點(diǎn)陣顯示屏。它的使用有兩個(gè)基本操作:送指令和送數(shù)據(jù)。通過“page0x7。 page0xb8。 lcdCmd(page)?!闭Z句選定顯示屏的頁;“column0x40。column0x3f。 lcdCmd(column)?!?語句選定顯示屏的列。主要用于顯示字符、顯示圖形、設(shè)定游戲顯示區(qū)域和清屏。 顯示字符子程序否開 始選取字模首位置設(shè)定顯示起始列colume,i=5+columei64?是選擇右屏選擇左屏選擇頁、列寫入字模++i,i5+colume?否是結(jié) 束圖42 LCD顯示流程圖顯示流程圖如圖42所示。每個(gè)字符為58點(diǎn)陣,即字符占5列、8行的點(diǎn)陣,采用列行式的輸入方法。每個(gè)字符有五個(gè)字模,字符取字模后存入asii[]數(shù)組。通過選擇asii[]的腳標(biāo)選擇需要輸出字符的字模(取模方式已在LCD簡介中介紹)。 顯示圖形子程序本設(shè)計(jì)定義了七個(gè)圖形,每個(gè)圖形由四個(gè)小方塊構(gòu)成,小方塊為33的點(diǎn)陣。圖形定義在cube[]數(shù)組中[13]。七個(gè)圖形的形狀如圖43所示。圖43 七種顯示圖形 每個(gè)圖形的顯示,是將小方塊寫入指定區(qū)域。圖形顯示流程圖如圖44所示。開 始i 4 ?是否寫入圖形的模選擇行、列i=0i=i1結(jié) 束圖44 中斷程序流程圖 設(shè)定游戲顯示區(qū)域子程序本設(shè)計(jì)將游戲顯示區(qū)設(shè)定在左半屏,顯示區(qū)寬度為48列,高度為62行??梢匀菁{33的小方塊16列,21行。按照所用顯示屏的列行式顯示方法,將左半屏的最頂行和最底行寫入高電平,顯示屏左起第2列和第51列送入高電平,其它位置寫入“0”,這樣就可以在藍(lán)色顯示屏上顯示出一個(gè)白框。 清屏子程序清屏包括整體清屏和部分清屏,在程序除的位置再寫入“0”即可。清屏的應(yīng)用,可使圖形和字符清晰顯示,使顯示界面更加中選擇要清整潔。部分程序如下所示。void lcdClear(void){ uchar i,page。 CS1=0。 CS2=1。 for(page=0。page8。page++) { lcdSetPage(page)。 lcdSetColumn(0)。 for(i=0。i64。i++) lcdWriteByte(0)。 } CS1=1。 CS2=0。 for(page=0。page8。page++) { lcdSetPage(page)。 lcdSetColumn(0)。 for(i=0。i64。i++) lcdWriteByte(0)。 }} 顯示計(jì)時(shí)子程序計(jì)時(shí)流程圖如圖45所示。中斷入口t0ms=50? downtimegapdowntimegap=50?產(chǎn)生中斷?++s20=20?是是否否t0ms=0?是是是否否按鍵掃描downtimegap++,t0ms=++t0ms%100++m++s=60?結(jié) 束否改變“:”狀態(tài)圖形下移一行設(shè)置中斷初值,開中斷圖45 計(jì)時(shí)程序流程圖本設(shè)計(jì)在按鍵掃描、游戲計(jì)時(shí)、圖形自動(dòng)下移中均應(yīng)用到時(shí)間。在此利用單片機(jī)的定時(shí)器T0使用方式1來實(shí)現(xiàn)所有的計(jì)時(shí)和定時(shí)。所用的定時(shí)器方式在每次中斷后要重新載入初值,設(shè)置每次中斷的時(shí)間為10ms。按鍵每次中斷掃描一次。變量t0ms每次中斷加一,計(jì)時(shí)時(shí)間每1s改變一次,在變量t0ms=100時(shí)改變時(shí)間顯示值;分與秒之間的“:”,在變量t0ms=50時(shí)改變狀態(tài)。在沒有任何按鍵操作時(shí)當(dāng)前圖形每隔一段時(shí)間自動(dòng)下移一行,變量downtimegap每次中斷加一,當(dāng)downtimegap=50時(shí)圖形下移,并將downtimegap清零。 消行積分子程序俄羅斯方塊游戲系統(tǒng)的設(shè)計(jì)每當(dāng)一個(gè)圖形下落到設(shè)定區(qū)域底部就會檢測是否有滿行。如果有滿行則將此行逐行下移,移至最低端時(shí)將其消除,每消除一行就獲得一分,一次消除delete行,可獲得deletedelete分,由于圖形最長由四個(gè)小方塊組成所以最多一次只可以消除四行。若未有滿行則圖形仍會繼續(xù)下落,每個(gè)圖形的擺放都會對下一個(gè)圖形造成影響,當(dāng)圖形累積到最頂行時(shí)游戲結(jié)束。開 始i = 0 ?第i(j)行滿行?j = 0 ?是是否否將i行內(nèi)容下移一行i = i1score= score+deletedelete是否清除第0行,++ delete , j結(jié) 束消行積分環(huán)節(jié)的流程圖如圖46所示。圖46 消行積分流程圖 闖關(guān)設(shè)置子程序本游戲共設(shè)置10個(gè)關(guān)卡,每20分闖一關(guān)。打開游戲提示是否開始游戲,界面顯示“NEW GAME”按確定鍵就可以開始游戲。游戲每上升一關(guān)圖形的下落速度就會加快一級,當(dāng)玩家闖入第六關(guān)時(shí)變量“cdoor=1”有效(開始游戲是cdoor初始化為0)變形鍵可以使用。當(dāng)玩家闖關(guān)失敗時(shí),界面將顯示“GAME OVER”,延時(shí)后提示玩家是否開始新游戲,界面顯示“NEW GAME”,再次按確定鍵就
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1