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

正文內(nèi)容

基于單片機(jī)的單色led點(diǎn)陣系統(tǒng)畢業(yè)設(shè)計-在線瀏覽

2024-07-30 12:52本頁面
  

【正文】 =方式2 8255A在本系統(tǒng)中的接線與作用在本設(shè)計系統(tǒng)中,主板上的8255A作為CPU的擴(kuò)展并行I/O接口連線出廠時是固化好,其片選信號與CPU的地址總線經(jīng)過I/O地址譯碼器產(chǎn)生的信號相連,AA0與地址總線地位相連,、與CPU讀寫信號相連,DO~D7與數(shù)據(jù)總線相連;A口與點(diǎn)陣顯示屏下半邊行信號接口相連。其各自的擴(kuò)展名稱、端口地址及用途如表23表23 兩片8255A的I/O地址分配及用途擴(kuò)展名稱口地址用途XPA8000H列掃描1XPB8001H列掃描2XPC8002H行代碼1XPCTL8003H8255A﹙MC1﹚控制口PA0FF28H行代碼2PCTL0FF2B8255A﹙主板﹚控制口在本系統(tǒng)中,根據(jù)設(shè)計需要,兩塊8255A的工作方式都應(yīng)為方式0,即選用基本輸入輸出工作方式,主板上的8255A的A口作為輸出口,而擴(kuò)展板上8255A 的A口、B口、C口均作為輸出口。其中PA(主板8255A的A口)與1616點(diǎn)陣顯示屏的下半邊行信號接口相連,字型行代碼2通過PA口輸出到顯示屏下半邊;XPC(MC1上8255A的C口)與1616點(diǎn)陣顯示屏的上半邊行信號接口相連,字型行代碼1通過XPC口輸出到顯示屏上半邊;XPA(MC1上8255A的A口)與1616點(diǎn)陣顯示屏的左半邊列信號接口相連,列掃描信號1通過XPA口輸出到顯示屏作為字型左半邊的掃描信號。有關(guān)行代碼與列掃描的具體說明分析,將后面說明。在本系統(tǒng)中,因在本系統(tǒng)中采用逐列掃描的方法顯示內(nèi)容,所以,下面以“集”字為說明本系統(tǒng)中字庫的建立規(guī)則。本系統(tǒng)中字庫具體編寫方法為:先把一個“集”字按如圖31分為16行, 16列,對應(yīng)第一列,照著從上到下位順序?qū)懢幋a,其中黑點(diǎn)(表示燈亮)寫為“1”,白點(diǎn)(表示燈滅)寫為“0”(應(yīng)先下半部分,再寫上半部,因為在程序中指定送編碼的順序為先送下一半,再送上一半)。L0L7L8L15H0H7H8H155先寫下半邊再寫下半邊從左到右寫第二列編碼黑點(diǎn)為“1”白點(diǎn)為“0”圖 31按照這種方式是“集”字的字庫編碼應(yīng)為:第1列:下半邊00000000B=00H,上半邊00000000B=00H;第2列:下半邊00100010B=22H,上半邊00001000B=08H;第3列:下半邊00100010B=22H,上半邊00010000B=10H;第4列:下半邊10100100B=A4H,上半邊00111111B=3FH;第5列:下半邊10100100B=A4H,上半邊11101010B=EAH;第6列:下半邊10101000B=A8H,上半邊00101010B=2AH;第7列:下半邊10110000B=B0H,上半邊00101010B=2AH;第8列:下半邊11111111B=FFH,上半邊00101010B=2AH;第9列:下半邊10100000B=A0H,上半邊10111111B=BFH;第10列:下半邊10110000B=B0H,上半邊01101010B=6AH;第11列:下半邊10101000B=A8H,上半邊00101010B=2AH;第12列:下半邊10100100B=A4H,上半邊00101010B=2AH;第13列:下半邊10100110B=A6H,上半邊00101010B=2AH;第14列:下半邊10100100B=A4H,上半邊00000000B=00H;第15列:下半邊00100000B=20H,上半邊00000000B=00H;第16列:下半邊00000000B=00H,上半邊00000000B=00H。本系統(tǒng)自建了一個的字庫,包含了10個漢字,這10個漢字分別是“河南機(jī)電高等專科學(xué)?!保謳靸?nèi)容根據(jù)需要可以進(jìn)行增加擴(kuò)充。存儲單元:31H,30H: 合起來作為第二個16地址指針,在左移顯示最后一字時,因第一個字要同步左移進(jìn)到屏幕中,而地址指針仍在使用,固用31H,30H來作為第二個地址指針;34H: 表示顯示內(nèi)容第一個字的在整個字庫(28個字)的中位置;35H:  表示顯示內(nèi)容最后一個字的在整個字庫(28個字)的中位置;38H,37H:要顯示的最后一個字最后一列的地址指針;39H: 顯示速度(時間常數(shù)),;3BH,3AH: 要顯示的第一個字第一列的地址指針。 本系統(tǒng)自建了一個字庫,內(nèi)容是“河南機(jī)電高等??茖W(xué)?!?0個字,字庫可進(jìn)行擴(kuò)展,在本系統(tǒng)中可以實現(xiàn),在這10個字中動態(tài)(左移)循環(huán)顯示從第m個字開始到n個字結(jié)束。同時用戶還可設(shè)定顯示速度。例如:要改變顯示內(nèi)容長度(系統(tǒng)默認(rèn)顯示全部內(nèi)容)若要改成從“機(jī)”開始顯示到“科”字結(jié)束,“機(jī)”字在字庫里是第3個字,“?!弊衷谧謳炖锸堑?個字,則指令改為為:LENG1 DB 03HLENG2 DB 08H 因此,在此即可對顯示內(nèi)容速度與長度進(jìn)行設(shè)定(控制);表41 I/O地址名稱與用途擴(kuò)展名稱口地址用途XPA8000H列掃描1XPB8001H列掃描2XPC8002H行代碼1XPCTL8003H8255A﹙MC1﹚控制口PA0FF28H行代碼2PCTL0FF2B8255A﹙主板﹚控制口4.3.2 初始化8255A定義好端口地址名稱后,要對硬件進(jìn)行初始化,給兩片8255A送控制字,指定其工作方式,由前面第三章分析所得,兩片8255A均采用工作方式0,三個端口都是輸出口,其控制字為80H,將80H送到兩片8255A的控制口,完成對硬件的初始化;MOV DPTR,XPCTLMOV A,80HMOVX DPTR,AMOV DPTR,PCTLMOVX DPTR,A4.3.3 顯示內(nèi)容長度、速度放入存儲單元 這樣做的目的是,為了方便后面程序?qū)λ俣?、長度的提取。因為一個字在字庫中占用32個字節(jié)的存儲單元,所以將34H內(nèi)容(要顯示的第一個字在字庫中的位置)放入累加器A中,減一后放入DPTR,左移五位(即乘上32)可得第一列編碼的地址指針,例如,從 “機(jī)”開始顯示,“機(jī)”字在字庫里是第3個字,則將(3-1)32=64=0040H,放入3BH,3AH存儲單元; CLR CMOV 36H,05HMOV DPH,00HMOV A,34HDEC AMOV DPL,AC2: CLR CMOV A,DPLRLC AMOV DPL,AMOV A,DPHRLC AMOV DPH,ADJNZ 36H,C2MOV 3AH,DPLMOV 3BH,DPH4.3.5 初始化地址指針R1,R0將3BH,3AH內(nèi)容放入地址指針R1,R0,即給地址指針R1,R0初始值;MOV R0,3AHMOV R1,3BH4.3.6 每字左移完畢判斷標(biāo)志放入寄存器10H送入R4,作用是判斷一個字是否左移16列完畢;L2: MOV R4,10H4.3.7 顯示速度放入寄存器39H內(nèi)容放入R3,做為延時顯示的參數(shù)。這是本系統(tǒng)中一個重要環(huán)節(jié),下面詳細(xì)說明如何把放在字庫中的漢字編碼去出來,并在顯示屏上顯示出內(nèi)容。矩陣式尋址顯示:把圖象分成X行Y列,采用點(diǎn)掃描,一個個點(diǎn)亮顯示屏上的點(diǎn)。然后在把列掃描信號通過擴(kuò)展板MC1上8255A的A口輸出送到點(diǎn)陣顯示屏,點(diǎn)亮第一列上該亮的點(diǎn)。在系統(tǒng)中用寄存器R7,R6來表示列掃描端口的地址:當(dāng)R7=80H,R6=00H,表示列掃描信號由XPA口輸出,進(jìn)行顯示屏左半邊的掃描顯示;當(dāng)R7=80H,R6=01H,表示列掃描信號由XPB口輸出,進(jìn)行顯示屏右半邊的掃描顯示。程序如下: DISP1: MOV R5,01HMOV R6,00HMOV R7,80HCLR CLCALL DISP2MOV R5,01HMOV R6,01HCLR CLCALL DISP2 DISP2: LCALL AD MOV A,00H MOVC A,A+DPTR MOV DPTR,PA MOVX DPTR,A LCALL POINTLCALL ADMOV A,00HMOVC A,A+DPTRMOV DPTR,XPCMOVX DPTR,AMOV DPL,R6MOV DPH,R7MOV A,R5CPL AMOVX DPTR,APUSH 03HMOV R3,80HDJNZ R3,$POP 03HLCALL OFFLEDLCALL POINTMOV A,R5RLC AMOV R5,AJNC DISP2。DJNZ R3,L44.3.11 動態(tài)顯示顯示內(nèi)容(左移顯示)在本系統(tǒng)要求顯示內(nèi)容是動態(tài)的,本系統(tǒng)可做動態(tài)左移顯示,由于在顯示內(nèi)容的編碼是按順序由低到高放在存儲單元中,因此要實現(xiàn)左移顯示,要顯示完第一個屏幕內(nèi)容后,地址指針回到剛才開始顯示該屏幕內(nèi)容第一列的位置并使指針加2,使第二個屏幕內(nèi)容從第二列開始顯示,重復(fù)做以上步驟,就能實現(xiàn)左移顯示,具體如下:在顯示完第一屏幕的內(nèi)容后,地址指針R1,R0要從堆棧中取出,然后R1,R0地址指針加2,程序回轉(zhuǎn)至L1,將R1,R0進(jìn)棧,這樣使CPU從顯示內(nèi)容的第二列開始提取字庫編碼送到顯示屏作為第二屏幕的顯示內(nèi)容;顯示完第二屏幕后,再將R1,R0從堆棧中取出,然后R1,R0地址指針加2,程序回轉(zhuǎn)至L1,將R1,R0進(jìn)棧,這樣使CPU從顯示內(nèi)容的第三列開始提取字庫編碼送到顯示屏作為第三屏幕的顯示內(nèi)容這樣重復(fù)上面的步驟,就可以實現(xiàn)顯示內(nèi)容左移顯示。而R4里開始放的是一個字要做左移顯示的列數(shù)(16列),一個字在顯示屏上每左移1列后,寄存器的內(nèi)容減一,程序回轉(zhuǎn)移到L1,開始顯示第二列開始的內(nèi)容,當(dāng)寄存器的內(nèi)容為0時,表示一個字顯示完畢。顯示完最后一字后,程序回轉(zhuǎn)到L3,程序開始循環(huán)顯示。首先,要調(diào)用子程序CHF1,用于計算出要顯示的最后一個字最后一列的地址指針,用來與地址指針R1,R0比較,判斷什么時候第一個字同步的進(jìn)入到顯示屏,由于在字庫中一個漢字占用32個字節(jié)的存儲單元。程序如下:CHF1: MOV 36H,05H MOV DPH,00H MOV DPL,35HC1: CLR CMOV A,DPLRLC AMOV DPL,AMOV A,DPHRLC AMOV DPH,ADJNZ 36H,C1MOV 37H,DPL MOV 38H,DPH 接著與前面相似要把每字左移完畢判斷標(biāo)志與顯示速度分別放入寄存器R4與R3中。將R1,R0進(jìn)棧后,調(diào)用子程序DISP4,DISP4功能與DISP1相似,也是用來指定列掃描端口地址;在這里,與前面不同的地方就是:根據(jù)要求系統(tǒng)能夠進(jìn)行循環(huán)顯示即在左移顯示最后一個字時,要顯示的第一個字要同步左移進(jìn)入
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1