0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析Proteus與匯編語(yǔ)言的漢字點(diǎn)陣動(dòng)態(tài)顯示

電子工程師 ? 來(lái)源:電子技術(shù)期刊 ? 作者:馮旭,王剛 ? 2021-04-07 16:03 ? 次閱讀

Proteus軟件的使用徹底改變了傳統(tǒng)單片機(jī)學(xué)習(xí)和開(kāi)發(fā)方式,初學(xué)者可以在沒(méi)有實(shí)驗(yàn)硬件條件下進(jìn)行仿真實(shí)驗(yàn),開(kāi)發(fā)者可以直接用Proteus進(jìn)行電路設(shè)計(jì)和仿真運(yùn)行程序,運(yùn)行成功后再制作產(chǎn)品,縮短開(kāi)發(fā)周期,節(jié)約開(kāi)發(fā)成本。

0 引言

Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它可以仿真、分析各種模擬器件和集成電路,該軟件的特點(diǎn)是:

a.實(shí)現(xiàn)了單片機(jī)仿真和 SPICE電路仿真相結(jié)合。具有模擬電路、數(shù)字電路仿真、單片機(jī)及其外圍電路的仿真、各種虛擬儀器,如示波器等功能。

b.支持主流單片機(jī)系統(tǒng)的仿真。

c.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。

d.具有強(qiáng)大的原理圖繪制功能。Proteus軟件的使用徹底改變了傳統(tǒng)單片機(jī)學(xué)習(xí)和開(kāi)發(fā)方式,初學(xué)者可以在沒(méi)有實(shí)驗(yàn)硬件條件下進(jìn)行仿真實(shí)驗(yàn),開(kāi)發(fā)者可以直接用Proteus進(jìn)行電路設(shè)計(jì)和仿真運(yùn)行程序,運(yùn)行成功后再制作產(chǎn)品,縮短開(kāi)發(fā)周期,節(jié)約開(kāi)發(fā)成本。漢字點(diǎn)陣顯示電路設(shè)計(jì)時(shí),顯示部分應(yīng)用16×16點(diǎn)陣字模提取軟件,提取“廣東工貿(mào)”顯示漢字的字模數(shù)據(jù),通過(guò)查表取出字模數(shù)據(jù)送輸出動(dòng)態(tài)顯示。

1 漢字顯示電路設(shè)計(jì)

漢字點(diǎn)陣的控制電路采用AT89C51單片機(jī),硬件電路由單片機(jī)接口電路、LED顯示屏行列驅(qū)動(dòng)電路、LED點(diǎn)陣顯示屏三部分組成,如圖1所示,電路用Proteus軟件畫出,具體畫法參見(jiàn)文獻(xiàn)。

pIYBAGBtZfmAOqbFAAE33HujruM546.png

一般情況下要完全顯示出常用漢字至少需要16×16點(diǎn)陣,但由于Proteus元件庫(kù)中沒(méi)有16×16LED模塊,為了達(dá)到顯示要求,每個(gè)漢字可由四塊8×8 LED模塊組成。組合方式為先對(duì)每個(gè)8×8模塊行列引腳連接好總線,然后四個(gè)單色模塊組合緊密。

驅(qū)動(dòng)電路采用動(dòng)態(tài)掃描驅(qū)動(dòng)方式,設(shè)計(jì)中行驅(qū)動(dòng)信號(hào)采用了16個(gè)同向驅(qū)動(dòng)器7407,并在每根信號(hào)線上接上拉電阻;列驅(qū)動(dòng)信號(hào)先接-4-16譯碼器74HCl54,然后十六個(gè)列驅(qū)動(dòng)信號(hào)接16個(gè)反向驅(qū)動(dòng)器7406,并每根信號(hào)線接上拉電阻。

單片機(jī)上電復(fù)位后,當(dāng)按列掃描時(shí),四個(gè)漢字的第一個(gè)字由Pl口輸出列信號(hào),首先第l列輸出“1”,第l列字模數(shù)據(jù)由16行輸出(P0、P2口);然后延時(shí)一定時(shí)間后,第2列輸出“l(fā)”,第2列字模數(shù)據(jù)再由16行輸出;……;如此循環(huán),直至第16列;16列掃描完成后,再進(jìn)行下一次循環(huán)掃描。所以在某一時(shí)刻,只有一行或一列LED被對(duì)應(yīng)的字模數(shù)據(jù)驅(qū)動(dòng)點(diǎn)亮。只要掃描間隔時(shí)間合適,利用人眼的視覺(jué)暫留特性,看上去整個(gè)字符就顯示在LED點(diǎn)陣顯示器上。

2 漢字顯示程序設(shè)計(jì)

根據(jù)以上硬件電路和單片機(jī)控制原理,編程思路如圖2所示。

o4YBAGBtZgiAQvIxAADnZ3D1YAg416.png

完整的程序代碼如下:

MOV DPTR,#WORDTAB;初始化

MOV Rl,#0

MOV R2,#0

MOV R3,#16

MOV R4,#100

MOV R5,#4

LOOP:SETB P1.4

MOV A,R1 :查表取出字模數(shù)據(jù)經(jīng)P0口輸出

MOVC A,@A+DPTR

CPLA

MOVP0,A

INC R1 ;字模數(shù)據(jù)索引值加1

MOVA,R1 ;查表取出字模數(shù)據(jù)經(jīng)P2口輸出

MOVC A,@A+DPTR

CPLA

MOVP2,A

INC R1 ;字模數(shù)據(jù)索引值加1

MOV P1,R2 ;列控制信號(hào)輸出

INC R2 ;列控制寄存器加1

LCALL DELAY;顯示延時(shí)

DJNZ R3,LOOP;判斷16列顯示完否

DJNZ R4,K1 ;判斷是否已顯示100次

MOV R4,#100 ;顯示次數(shù)寄存器重賦初值

SJMPK2

K1:CLRC ;字模數(shù)據(jù)索引值減32,列控制寄存器和列數(shù)寄存器重賦初值

pIYBAGBtZq6AQfXpAAIju9UdWxI210.png

3 仿真及結(jié)果

仿真方法是:

(1)在Keil C51仿真軟件下創(chuàng)建項(xiàng)目,并把上述源程序添加到項(xiàng)目中,通過(guò)編譯產(chǎn)生一個(gè)“.hex”為后綴的文件,此文件就是用于燒寫到Proteus軟件中AT89C51芯片的文件。

(2)把生成的“.hex”為后綴的文件添加到Proteus軟件中繪制的AT89C51芯片中作為控制程序。

(3)在Proteus軟件仿真電路圖中點(diǎn)擊左下角的運(yùn)行按鈕,則可在LED顯示點(diǎn)陣中看到“廣東工貿(mào)”四個(gè)漢字輪流顯示的結(jié)果。

從仿真圖中可以看到“東”字在LED顯示點(diǎn)陣中顯示出來(lái),設(shè)定每個(gè)字顯示1秒,下秒將顯示“工”字,“廣東工貿(mào)”四個(gè)字循環(huán)顯示。四個(gè)字顯示出來(lái)如圖3所示。

o4YBAGBtZjyACkt_AADwX_SNjd8193.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23321

    瀏覽量

    661892
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    53

    文章

    8263

    瀏覽量

    146683
  • 元件
    +關(guān)注

    關(guān)注

    4

    文章

    936

    瀏覽量

    36744
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    《DNESP32S3使用指南-IDF版_V1.6》第三十九章 漢字顯示實(shí)驗(yàn)

    ,0x52,0x00,0x62,0x00,0x02,0x00,0x00,0x00};/* 好字字模 */在顯示的時(shí)候,我們只需要讀取這個(gè)漢字點(diǎn)陣數(shù)據(jù)(12*12字體,一個(gè)漢字
    發(fā)表于 01-03 09:24

    TMS320C6000匯編語(yǔ)言工具v7.4用戶指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000匯編語(yǔ)言工具v7.4用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-30 16:42 ?0次下載
    TMS320C6000<b class='flag-5'>匯編語(yǔ)言</b>工具v7.4用戶指南

    TMS320C6000匯編語(yǔ)言工具 v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000匯編語(yǔ)言工具 v8.3.x.pdf》資料免費(fèi)下載
    發(fā)表于 11-07 10:00 ?0次下載
    TMS320C6000<b class='flag-5'>匯編語(yǔ)言</b>工具 v8.3.x

    ARM匯編語(yǔ)言工具

    電子發(fā)燒友網(wǎng)站提供《ARM匯編語(yǔ)言工具.pdf》資料免費(fèi)下載
    發(fā)表于 11-06 09:12 ?0次下載
    ARM<b class='flag-5'>匯編語(yǔ)言</b>工具

    TMS320C28x匯編語(yǔ)言工具

    電子發(fā)燒友網(wǎng)站提供《TMS320C28x匯編語(yǔ)言工具.pdf》資料免費(fèi)下載
    發(fā)表于 11-01 09:32 ?0次下載
    TMS320C28x<b class='flag-5'>匯編語(yǔ)言</b>工具

    基于51單片機(jī)的LED點(diǎn)陣滾動(dòng)顯示系統(tǒng)

    具體實(shí)現(xiàn)功能(1)能根據(jù)漢字和英文的內(nèi)碼不同顯示不同的漢字和英文字符,初始顯示“電子工程師成長(zhǎng)日記”; (2)可以多樣化顯示:從左
    的頭像 發(fā)表于 10-22 14:12 ?259次閱讀
    基于51單片機(jī)的LED<b class='flag-5'>點(diǎn)陣</b>滾動(dòng)<b class='flag-5'>顯示</b>系統(tǒng)

    動(dòng)態(tài)驅(qū)動(dòng)方式下,點(diǎn)陣顯示器的優(yōu)點(diǎn)是什么

    點(diǎn)陣顯示器的動(dòng)態(tài)驅(qū)動(dòng)方式是一種高效的顯示控制技術(shù),它特別適用于大型點(diǎn)陣顯示器或高像素密度的
    的頭像 發(fā)表于 10-01 17:55 ?570次閱讀

    RISC-V匯編語(yǔ)言

    一、導(dǎo)言 從 C 程序翻譯成為可以在計(jì)算機(jī)上執(zhí)行的機(jī)器語(yǔ)言程序的四個(gè)經(jīng)典步驟。這一章的內(nèi)容包括了后三個(gè)步驟,不過(guò)我們要從匯編語(yǔ)言在 RISC-V 函數(shù)調(diào)用規(guī)范中的作用開(kāi)始說(shuō)起。 上圖從C源代碼翻譯
    發(fā)表于 08-19 18:07

    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

    5.1.數(shù)碼管動(dòng)態(tài)顯示原理 所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出段碼和位碼,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人眼的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。明確了原理,我們要使電壓電流表
    的頭像 發(fā)表于 05-31 15:23 ?566次閱讀
    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管<b class='flag-5'>動(dòng)態(tài)顯示</b>

    請(qǐng)問(wèn)UC/GUI中怎么樣動(dòng)態(tài)顯示一個(gè)波形?

    如題: 我有1024個(gè)數(shù)據(jù)放在一個(gè)數(shù)組中array[1024]={...........}; 我的LCD屏是272*480的大小的,所以X軸一次是只能顯示272個(gè)點(diǎn)的,所以想動(dòng)態(tài)顯示這個(gè)1024個(gè)點(diǎn),應(yīng)該怎么樣做? 求大神指點(diǎn)!
    發(fā)表于 04-29 07:00

    請(qǐng)問(wèn)在STM32CubeIDE下如何嵌入匯編語(yǔ)言代碼?

    在STM32CubeIDE下如何嵌入匯編語(yǔ)言代碼??
    發(fā)表于 03-25 06:56

    ArkTS語(yǔ)言基礎(chǔ)類庫(kù)-解析

    被設(shè)計(jì)用來(lái)傳輸和存儲(chǔ)數(shù)據(jù),是一種可擴(kuò)展標(biāo)記語(yǔ)言。語(yǔ)言基礎(chǔ)類庫(kù)提供了[XML生成、解析與轉(zhuǎn)換]的能力。 URL、URI構(gòu)造和解析能力:其中[URI]是統(tǒng)一資源標(biāo)識(shí)符,可以唯一標(biāo)識(shí)一個(gè)資源
    發(fā)表于 02-20 16:44

    【RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語(yǔ)言和擴(kuò)展指令集

    【RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語(yǔ)言和擴(kuò)展指令集 匯編語(yǔ)言 將C語(yǔ)言翻譯成可執(zhí)行的機(jī)器語(yǔ)言的重要步驟包括編譯過(guò)程,匯編過(guò)程,鏈
    發(fā)表于 02-03 13:29

    汽車ECU編程是單片機(jī)C語(yǔ)言還是匯編語(yǔ)言?

    汽車ECU編程是單片機(jī)C語(yǔ)言嗎?還是匯編語(yǔ)言?
    發(fā)表于 01-26 06:08