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

正文內(nèi)容

畢業(yè)設(shè)計(jì)---用單片機(jī)控制的數(shù)字觸發(fā)器-畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-02-24 04:37 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 示時(shí),則可在接下來(lái)的掃描周期的每個(gè)行掃描中斷處理程序中,將對(duì)顯示緩沖區(qū)的相應(yīng)行點(diǎn)陣數(shù)據(jù)左移一位,同時(shí)更改顯示緩沖區(qū)的內(nèi)容。(需要注意的是,要確保該操作能在 的中斷時(shí)間內(nèi)完成。這里89C52 采用 22MHz 晶振,實(shí)驗(yàn)證明可以實(shí)現(xiàn)該操作)。這樣,在一個(gè)掃描周期后, 6 整個(gè)漢字將左移一列,而顯示緩沖區(qū)的內(nèi)容也同時(shí)更改。由于預(yù)裝載區(qū)保存了 1 個(gè)漢字點(diǎn)陣數(shù)據(jù),即 16 16 點(diǎn)陣,所以當(dāng)前顯示緩沖區(qū)的內(nèi)容只能移動(dòng) 16 列。當(dāng)下一個(gè)滾動(dòng)到來(lái)時(shí), 滾動(dòng)指針將移動(dòng)到點(diǎn)陣數(shù)據(jù)存儲(chǔ)區(qū)的下一個(gè)漢字的首地址,并在預(yù)裝載區(qū)存入該漢字的點(diǎn)陣數(shù)據(jù)。然后重復(fù)執(zhí)行上述操作便可實(shí)現(xiàn)滾動(dòng)顯示。特殊字符或圖形的顯示與此類似,這里不再贅述。 打字顯示要求漢字在顯示屏上按從左到右的順序一個(gè)個(gè)的出現(xiàn),如同打字的效果。設(shè)計(jì)時(shí)可采用如下方法:首先將 LED 顯示屏對(duì)應(yīng)的顯示緩沖區(qū)全部清零,即 LED 顯示空白,然后每間隔一個(gè)“軟定時(shí)器”設(shè)定的動(dòng)態(tài)顯示時(shí)間,顯示緩沖區(qū)依次加入一個(gè)漢字點(diǎn)陣數(shù)據(jù)并進(jìn)行掃描顯示,這樣就可達(dá)到打字顯示的效果。 圖 2 LED滾動(dòng)顯示處理示意圖 PC 機(jī)控制程 序 a.通訊功能的實(shí)現(xiàn) 在 Windows 環(huán)境下,實(shí)現(xiàn) PC 與單片機(jī)的通訊可利用 Windows 的通訊 API 函數(shù)或者利用 VC++(或其它語(yǔ)言)的標(biāo)準(zhǔn)通訊函數(shù)_ inp、_ outp 來(lái)實(shí)現(xiàn)。但上述兩種方法比較繁瑣,而采用 ActiveX 控件 MSComm32 來(lái)實(shí)現(xiàn)則非常方便。該控件用事件的方式簡(jiǎn)化了對(duì)串口操作的編程,并可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,還可對(duì)串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置。其初始化程序一般情況下, PC 要與多個(gè)單片機(jī) 89C51 系統(tǒng)進(jìn)行主從式通訊,為了區(qū)分各單片機(jī)系統(tǒng),可以使 89C51 采用串口工作方式 3,即 11 位異步接收/發(fā)送方式,該方式的有效數(shù)據(jù)為 9 位,其中第 9 位為地址/數(shù)據(jù)信息的標(biāo)志位,其作用是使從機(jī)據(jù)此判斷發(fā)送的數(shù)據(jù)是否為地址,從而實(shí)現(xiàn)多機(jī)操作。但現(xiàn)在由于采用的是 MSCOMM 控件來(lái)實(shí)現(xiàn) PC 機(jī)和單片機(jī)之間的通訊,這是一種標(biāo)準(zhǔn)的 10 位串口通信方式,即 8 7 位標(biāo)準(zhǔn)數(shù)據(jù)位和該數(shù)據(jù)的起始位、停止位各 1 位。因此二者格式不相符,故很難利用上述方案。因此可考慮將單片機(jī)串口設(shè)為工作方式 1,即改為 10 位異步接收/發(fā)送方式來(lái)解決,其通訊流程如下: 首先發(fā)通信開(kāi)始標(biāo)志,接著發(fā)送需要操作的 單片機(jī)系統(tǒng)地址,然后發(fā)送顯示工作命令字,該命令包括 2 個(gè)字節(jié),前一字節(jié)用于設(shè)定顯示方式和滾動(dòng)方向,后一字節(jié)則用于設(shè)定顯示速度。再往下是傳送顯示內(nèi)容的點(diǎn)陣數(shù)據(jù),最后對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。該通訊規(guī)約非常簡(jiǎn)便,能夠較好的解決上述問(wèn)題,從而實(shí)現(xiàn) PC 機(jī)與多單片機(jī)之間的主從式通訊及對(duì)顯示的控制。需要注意的是,當(dāng)顯示內(nèi)容需要改變時(shí),為了避免在單片機(jī)串行中斷接收數(shù)據(jù)時(shí),顯示屏出現(xiàn)亂碼,應(yīng)使顯示屏?xí)翰伙@示(處于 “黑屏”狀態(tài)),直到數(shù)據(jù)接收完全,串行中斷處理結(jié)束時(shí)再顯示。 漢字字模的提取非常關(guān)鍵,本文的字模數(shù)據(jù)取自 UCDOS 下的字庫(kù)文件 HZK16。關(guān)于這方面的介紹較多,這里不再贅述。對(duì)于特殊字符或圖形點(diǎn)陣數(shù)據(jù)的提取,簡(jiǎn)便的方法可以先做一個(gè) BMP 文件,然后用一些取模軟件(如字模提取 )來(lái)獲得。為了顯示方便,點(diǎn)陣數(shù)據(jù)的格式應(yīng)為 n( 16 8),不足要求的則應(yīng)以 0 數(shù)據(jù)補(bǔ)充。 b.動(dòng)態(tài)效果模擬顯示 為了方便調(diào)節(jié) LED 的顯示效果,筆者在 PC 機(jī)的控制界面上設(shè)計(jì)了 LED 顯示屏的模擬顯示,它同實(shí)際的顯示效果完全一樣。用戶可以設(shè)定顯示的模式, 并調(diào)節(jié)顯示速度,然后在界面上對(duì)顯示 效果進(jìn)行預(yù)覽,同時(shí)還可以隨時(shí)修 改和設(shè)定參數(shù),因而十分方便簡(jiǎn)捷。為此,可先在界面上描繪出虛擬的 LED 顯示屏,由于實(shí)際的顯示屏為 160 16 點(diǎn)陣,故須在界面上設(shè)定相同的區(qū)域。 實(shí)現(xiàn)動(dòng)態(tài)顯示效果的方法和以上幾種基本類似,這里以滾動(dòng)顯示為例作一說(shuō)明。對(duì)于需要滾動(dòng)的文字,可以將其設(shè)置為位圖格式,暫存于內(nèi)存中,然后利用VC 提供的位圖拷貝函數(shù) BitBlt 將位圖復(fù)制到顯示位置。對(duì)于特殊字符或圖形,則可以直接利用 BitBlt 函數(shù)調(diào)用到顯示位置。然后在類 CLEDDlg 的 OnTimer 函數(shù)中調(diào)用該函數(shù),以實(shí)現(xiàn)文字的 滾動(dòng)顯示。另外,也可以通過(guò)設(shè)定不同的響應(yīng) 時(shí)間間隔來(lái)改變文字的滾動(dòng)速度 [2]。 漢字顯示屏廣泛應(yīng)用與汽車報(bào)站器,廣告屏等。本文介紹一種實(shí)用的漢字顯示屏的制作,考慮到電路元件的易購(gòu)性,沒(méi)有使用 8*8的點(diǎn)陣發(fā)光管模塊, 而是 8 直接使用了 256 個(gè)高量度發(fā)光管,組成了 16 行 16 列的發(fā)光點(diǎn)陣。同時(shí)為了降低制作難度, 僅作了一個(gè)字的輪流顯示,實(shí)際使用時(shí)可根據(jù)這個(gè)原理自行擴(kuò)充顯示的字?jǐn)?shù)。 b 漢字顯示的原理: 我們以 UCDOS 中文宋體字庫(kù)為例,每一個(gè)字由 16行 16列的點(diǎn)陣組成顯示。即國(guó)標(biāo)漢字庫(kù)中的每一個(gè)字均由 256點(diǎn)陣來(lái)表示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字, 也可以顯示在 256像素范圍內(nèi)的任何圖形。 [3]用 8位的 AT89C51單片機(jī)控制, 由于單片機(jī)的總線為 8位,一個(gè)字需要拆分為 2個(gè)部分。軟件打開(kāi)后輸入漢字,點(diǎn)“檢取”,十六進(jìn)制數(shù)據(jù)的漢字 代碼 即可自動(dòng)生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。 我們把行列總線接在單片機(jī)的 i0口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。在這個(gè)例子里,由于一共用到16 行, 16 列,如果將其 全部接入 89c51單片機(jī), 一共使用 32條 io口,這樣造成了 io資源的耗盡,系統(tǒng)也再無(wú)擴(kuò)充的余地。實(shí)際應(yīng)用中我們使用 416線譯碼器74ls154來(lái)完成列方向的顯示。而行方向 16條線則接在 p0口和 p2口。 程序清單: ORG 00H LOOP: MOV A,0FFH ;開(kāi)機(jī)初始化,清除畫(huà)面 MOV P0,A ;清除 P0 口 ANL P2,00 ;清除 P2 口 MOV R2,200 D100MS: MOV R3,250 ;延時(shí) 100 毫秒 DJNZ R3,$ DJNZ R2,D100MS MOV 20H,00H ;取碼指針的初值 l100: MOV R1,100 ;每個(gè)字的停留時(shí)間 L16: MOV R6,16 ;每個(gè)字 16 個(gè)碼 MOV R4,00H ;掃描指針清零 MOV R0,20H ;取碼指針存入 R0 9 L3: MOV A,R4 ;掃描指針存入 A MOV P1,A ;掃描輸出 INC R4 ;掃描指針加 1,掃描下一個(gè) MOV A,R0 ; 取碼指針存入 A MOV DPTR,TABLE ;取數(shù)據(jù)表的上半部分的代碼 MOVC A,@A+DPTR MOV P0,A ; 輸出到 P0 INC R0 ;取碼指針加 1,取下一個(gè)碼。 MOV A,R0 MOV DPTR,TABLE ;取數(shù)據(jù)表下半部份的代碼 MOVC A,@A+DPTR MOV P2,A ;輸出到 P2 口 INC R0 MOV R3,02 ;掃描 1 毫秒 DELAY2: MOV R5,248 ; DJNZ R5,$ DJNZ R3,
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1