Proteus 漢字顯示

2021-04-25 14:44:06 字數 1701 閱讀 3514

1 主要元件

1>at89c51

2>matrix-8x8-red

3>4-16解碼器 74159

2.匯程式設計序

org 0000h

ljmp main

org 0030h

main: mov r2,#30

mov dptr,#wo

lcall disp

mov dptr,#ai

lcall disp

mov dptr,#xiao

lcall disp

mov dptr,#hong

lcall disp

ljmp main

disp:

mov r0,#0 ;段碼控制變數

mov r1,#0 ;列碼控制變數

disp1: mov p1,r1 ;p1埠選擇輸出的列

mov a,r0  

movc a,@a+dptr ;查表求得上8位的編碼  

mov p2,a ;將查表得的編碼從p0輸出

; lcall delay;

disp2: inc r0 ;段碼增1,表示要查下個輸出的編碼

mov a,r0  

movc a,@a+dptr ;查得下半段的編碼

mov p3,a ;將查表得的下半段的編碼從p2輸出  

lcall delay

inc r0 ;段碼增1,指向下乙個段碼

inc r1 ;列增1,指向下乙個列

mov a,r1 ;看乙個字是否全部顯示完

subb a,#16 ;乙個字有2x16=32個 位元組

jz disp3 ;如果已顯示了32個位元組,則把1~16列重新顯示

ljmp disp1

disp3: djnz r2,disp

mov r2,#30

retdelay: ;延時小段時間

; mov r0,#02h

mov r3,#02h

d1: mov r4,#80h

d2: djnz r4,d2  

djnz r3,d1

ret 

wo:  

db 20h,04h,20h,04h,22h,42h,22h,82h,0feh,7fh,21h,01h,21h,01h,20h,10h

db 20h,10h,ffh,08h,20h,07h,22h,1ah,ach,21h,20h,40h,20h,f0h,00h,00h

ai:db 00h,40h,40h,20h,b2h,a0h,96h,90h,9ah,4ch,92h,47h,f6h,2ah,9ah,2ah

db 93h,12h,91h,1ah,99h,26h,97h,22h,91h,40h,90h,c0h,30h,40h,00h,00h

xiao:

db 00h,04h,00h,02h,00h,01h,c0h,00h,70h,00h,20h,40h,00h,80h,ffh,7fh

db 00h,00h,10h,00h,20h,00h,c0h,00h,80h,01h,00h,07h,00h,02h,00h,00h 

hong:

db 20h,22h,30h,66h,2ch,23h,a3h,12h,60h,12h,18h,52h,00h,40h,08h,40h

db 08h,40h,08h,40h,f8h,7fh,08h,40h,08h,40h,0ch,60h,08h,40h,00h,00h

3.佈線圖

點陣漢字顯示

由於turbo c應用於dos作業系統下,在使用turbo c進行程式設計時,一般情況下只好使用英文進行人機互動。要是想直接用中文介面,就需要另想他法了。如果使用中文dos系統 如ucdos 則可以解決在字元介面下的漢字顯示問題。也就是說,可以用printf或其他字串函式來輸出漢字。但是,這樣仍然有...

陣漢字顯示

見http dev.gameres.com program control fontdos.htm 文件內容 你是否碰到過用啟動盤啟動系統後用dir命令得到一串串莫名其妙的字元?有經驗的朋友會告訴你 那是漢字。漢字?你不禁會問 怎麼乙個我乙個也不認識。但那確確實實是漢字,如果你啟動ucdos或其他的...

點陣漢字顯示

陣漢字顯示 目錄 dos下的點陣漢字 漢字的內碼 漢字字模 漢字型檔檔案 列印字型檔檔案和hzk12 文件內容 dos下的點陣漢字 你是否碰到過用啟動盤啟動系統後用dir命令得到一串串莫名其妙的字元?有經驗的朋友會告訴你 那是漢字。漢字?你不禁會問 怎麼乙個我乙個也不認識。但那確確實實是漢字,如果你...