單片機(jī)最小系統(tǒng) 電子琴_第1頁
單片機(jī)最小系統(tǒng) 電子琴_第2頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

13/13單片機(jī)最小系統(tǒng)電子琴桂林電子科技大學(xué)單片機(jī)最小應(yīng)用系統(tǒng)

設(shè)

計(jì)

報(bào)

指導(dǎo)老師:吳兆華

學(xué)生:孫培新

學(xué)號(hào):082011109

機(jī)電工程學(xué)院

2009年5月

單片機(jī)最小應(yīng)用系統(tǒng)設(shè)計(jì)報(bào)告

一、設(shè)計(jì)題目(1)

二、設(shè)計(jì)目的(1)

三、系統(tǒng)硬件圖(1)

四、程序流程圖(6)

五、系統(tǒng)說明與分析

5.1系統(tǒng)主要組成部分(7)

5.2單片機(jī)最小系統(tǒng)部分(7)

5.34X4矩陣按鍵(12)

5.4發(fā)聲系統(tǒng)(15)

5.5電路板的制作(17)

六、源程序(18)

七、總結(jié)(24)

八、

一、設(shè)計(jì)題目

簡易電子琴的設(shè)計(jì)。本實(shí)驗(yàn)用89S51單片機(jī)控制,由4X4組成16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音。可隨意彈奏想要表達(dá)的音樂。

二、設(shè)計(jì)目的

1、通過本次實(shí)驗(yàn),掌握利用芯片89S51。

2、通過對(duì)LM386N1的使用和編程,掌握運(yùn)放的基本結(jié)構(gòu)與編程方法。

3、搭建單片機(jī)最小應(yīng)用系統(tǒng),進(jìn)一步加深對(duì)單片機(jī)應(yīng)用的理解,提高處理實(shí)際問題的

能力、獨(dú)立分析思考的能力和動(dòng)手能力。

三、系統(tǒng)硬件圖

1簡易電子琴系統(tǒng)的硬件電路原理圖如下:

圖1電路原理圖

2、Proteus仿真圖如下:

3、Protel99sePCB圖如下:

圖2PCB圖

四、程序流程圖

簡易電子琴系統(tǒng)程序框圖如下:

圖3程序流程圖

五、系統(tǒng)說明與分析

5.1系統(tǒng)主要組成部分

簡易電子琴系統(tǒng)主要分為三個(gè)部分:單片機(jī)最小系統(tǒng),4X4矩陣按鍵,發(fā)聲系統(tǒng)。

所用主要元件有:AT89S51,LM386N1,16個(gè)按鍵。

5.2單片機(jī)最小系統(tǒng)部分

本實(shí)驗(yàn)中選用AT89S51作為主芯片,其特性為:

5.2.1簡介

AT89S51是一個(gè)低功耗,高性能CMOS8位單芯片內(nèi)含4kBytesSP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序內(nèi)存,采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。

此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,斷電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷啟動(dòng)或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。

5.2.2主要特性:

·8031CPU與MCS-51兼容

·4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫/擦循環(huán))

·全靜態(tài)工作:0Hz-24KHz

·三級(jí)程序存儲(chǔ)器保密鎖定

·128*8位內(nèi)部RAM

·32條可編程I/O線

·兩個(gè)16位定時(shí)器/計(jì)數(shù)器

·6個(gè)中斷源

·可編程串行通道

·低功耗的閑置和掉電模式

·片內(nèi)振蕩器和時(shí)鐘電路

5.2.3管腳說明:

一、I/O端口:P0.0~P0.7,P1.0~1.7,P2.0~P2.7,P3.0~P3.7。

89S51共有4個(gè)I/O端口,為P0、P1、P2、P3,4個(gè)I/O口都是雙向的,且每個(gè)口都具有鎖存器。每個(gè)口有8條線,共計(jì)32條I/O線。各端口的功能敘述如下:

1.P0有三個(gè)功能:

(1)外部擴(kuò)充存儲(chǔ)器時(shí),當(dāng)作數(shù)據(jù)總線(D0~D7)。

(2)外部擴(kuò)充存儲(chǔ)器時(shí),當(dāng)作地址總線(A0~A7)。

(3)不擴(kuò)充時(shí),可做一般I/O使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。

2.P1只做I/O口使用,其內(nèi)部有上拉電阻。

3.P2有兩個(gè)功能:

(1)擴(kuò)充外部存儲(chǔ)器時(shí),當(dāng)作地址總線(A8~A15)使用。

(2)做I/O使用,其內(nèi)部有上拉電阻。

4.P3有兩種功能。

除了作為I/O使用外(內(nèi)部有上拉電阻),還有一些特殊功能,如表所示由特殊寄存器來設(shè)置。

5.主電源引腳

Vss——(20腳):電路低電平

Vcc——(40腳):正常運(yùn)行和編程校驗(yàn)(80151/8052)時(shí)為+5V電源

6.RST/VPD——(9腳):RST即Reset(復(fù)位)信號(hào)輸入端。振蕩器工作時(shí),由該引腳輸入脈寬2個(gè)以上機(jī)器周期的高電平時(shí)復(fù)位單片微機(jī)。當(dāng)外部在RST與Vcc之間接一個(gè)電容(約10μF)和在RST與Vcc之間接一個(gè)電阻(約8.2kΩ)時(shí),就可實(shí)現(xiàn)加電復(fù)位功能。VPD為備用電源輸入端,即當(dāng)VCC掉電時(shí),由此引腳提供備用電源,以保持內(nèi)部RAM的信

息。

7.ALE/PGOG——(30腳):ALE,允許地址鎖存信號(hào)輸出。當(dāng)訪問外部存儲(chǔ)器時(shí),ALE信號(hào)的負(fù)跳變將P0口上的低8位地址送入鎖存器。在非訪問外部存儲(chǔ)器間,ALE仍以1/16振蕩頻率固定不變的速率輸出,因此它能作外部時(shí)鐘或定時(shí)信號(hào)用。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),將以1/12振蕩頻率輸出。PROG為編程脈沖輸入端,即當(dāng)選用8751單片微機(jī)時(shí),對(duì)片內(nèi)程序存儲(chǔ)器進(jìn)行編程時(shí),由此引腳輸入編程脈沖。

8.PSEN——(29腳):程序儲(chǔ)存使能端。

(1)內(nèi)部程序存儲(chǔ)器讀取;不動(dòng)作。

(2)外部程序存儲(chǔ)器讀?。≧OM):在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次。

(3)外部程序存儲(chǔ)器讀?。≧AM):兩個(gè)/PSEN脈沖被跳國不會(huì)輸出。

(4)外接ROM時(shí),與ROM的/OE腳連接。

9.EA/VPP——(31腳)

(1)接高電平時(shí):

CPU讀取內(nèi)部程序存儲(chǔ)器(ROM),如8051/8/052。

擴(kuò)充外部ROM:當(dāng)讀取內(nèi)部程序存儲(chǔ)器超過0FFF(8051)時(shí),自動(dòng)讀取外部ROM。

(2)接低電平時(shí):CPU讀取外部程序存儲(chǔ)器(ROM),如8031/8032。

(3)8751燒寫內(nèi)部EPROM時(shí),利用此腳輸入21V的燒寫電壓。

10.XTAL1——(19腳)XTAL2——(18腳):接石英晶體振蕩器。

機(jī)器周期=石英晶體/12,如12MHz石英晶體/12=1微秒。

I/O口作為輸入口時(shí)有兩種工作方式即所謂的讀端口與讀引腳讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù)而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線經(jīng)過某種運(yùn)算或變換后再寫回到端口鎖存器只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線上面圖中的兩個(gè)三角形表示的就是輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號(hào)以完成不同的操作這是由硬件自動(dòng)完成的不需要我們操心

讀引腳時(shí)也就是把端口作為外部輸入線時(shí)首先要通過外部指令把端口鎖存器置1然后再實(shí)行讀引腳操作否則就可能讀入出錯(cuò)為什么看上面的圖如果不對(duì)端口置1端口鎖存器原來的狀態(tài)有可能為0Q端為0Q^為1加到場(chǎng)效應(yīng)管柵極的信號(hào)為1該場(chǎng)效應(yīng)管就導(dǎo)通對(duì)地呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號(hào)為1也會(huì)因端口的低阻抗而使信號(hào)變低使得外加的1信號(hào)讀入后不一定是1若先執(zhí)行置1操作則可以使場(chǎng)效應(yīng)管截止引腳信號(hào)直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入由于在輸入操作時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作所以這類I/O口被稱為準(zhǔn)雙向口89C51的P0/P1/P2/P3口作為輸入時(shí)都是準(zhǔn)雙向口接下來讓我們?cè)倏戳硪粋€(gè)問題從圖中可以看出這四個(gè)端口還有一個(gè)差別除了P1口外P0P2P3口都還有其他的功能

二、89S51系列單片機(jī)引腳功能分類

基本引腳:電源VCC、VSS,時(shí)鐘XTAL2、XTAL1和復(fù)位RST。

并行擴(kuò)展總線:數(shù)據(jù)總線P0口,地址總線P0口(低8位)、P2口(高8位)和控制總線ALE、PSEN、EA。

串行通信總線:發(fā)送口TXD和接受口RXD。

I/O端口:P1口為普通I/O口,P3口可復(fù)用作普通I/O口,P0、P2口不作并行口時(shí)也可作普通I/O口。

三、單片機(jī)的引腳應(yīng)用特性

1.并行總線的構(gòu)成

89S51并行總線的構(gòu)成如圖2.7所示。

并行總線特點(diǎn):

(1)P0口為地址/數(shù)據(jù)復(fù)用口。

(2)兩個(gè)獨(dú)立的并行擴(kuò)展空間。程序存儲(chǔ)器使用PSEN取指控制信號(hào),數(shù)據(jù)采用WR、RD存取控制信號(hào)。

(3)外圍擴(kuò)展統(tǒng)一編址。在64KB的空間上,可擴(kuò)展外數(shù)據(jù)存儲(chǔ)器或其他外圍器件。

2.引腳復(fù)用特性

P3口、P0口、P2口均可用作普通I/O口。

3.I/O的驅(qū)動(dòng)特性

由于采用CMOS電路,輸入電流極微,通常不考慮I/O端口的扇出能力,當(dāng)負(fù)載為LED、繼電器等功率驅(qū)動(dòng)元件時(shí)才考慮驅(qū)動(dòng)能力。

89S51單片機(jī)的內(nèi)部結(jié)構(gòu)主要由8個(gè)部件組成,即微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器、I/0口(PO口、pl口、PZ口、P3口)、串行

口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)和特殊寄存器(SFR)。其中,微處理器由運(yùn)算器

和控制邏輯組成,主要包括累加器(ACC)、B寄存器、臨時(shí)存儲(chǔ)器(TMPITMPZ)、算術(shù)運(yùn)算單元ALU等。特殊功能寄存器SFR(SpecialFunctionRegister)是用來對(duì)片內(nèi)各功能單元進(jìn)行管理、控制、監(jiān)視的控制寄存器和狀態(tài)寄存器,是位于片內(nèi)數(shù)據(jù)存儲(chǔ)器上的一個(gè)特殊功能的RAM區(qū),其地址范圍為80H一FFH。SFR主要包括PO口鎖存器、PI口鎖存器、PZ口鎖存器、P3口實(shí)現(xiàn)復(fù)位之后PC的值是O00OH,因此,程序的入口地址為0000H,CPU

從O000H開始執(zhí)行操作。模式控制寄存器TMOD為OOH,表示定時(shí)器/計(jì)數(shù)器都處于方式O工作狀態(tài),而THO、TLO、THI、TLI均為OOH則表示定時(shí)器/計(jì)數(shù)器復(fù)位后都清零。PO、Pl、PZ和P3端口復(fù)位后鎖存器都處于“1”狀態(tài)。工作狀態(tài)下,每當(dāng)ALE是高電平的第一個(gè)時(shí)鐘(S1P2、S4P2),P2口被拉低而PO口為高阻態(tài)。實(shí)際進(jìn)行芯片解剖時(shí),可以根據(jù)寄存器復(fù)位狀態(tài)下的特殊值來判斷功能電路塊。

工作時(shí)如果芯片的外部選通信號(hào)亞被拉為高電平,則首先訪問內(nèi)部數(shù)據(jù)存貯器。如果虱總是保持低電平,則只訪問外部程序存貯器,也就是說,無論是否有內(nèi)部程序存貯器,所有的程序取指都是直接指向外部ROM的。當(dāng)執(zhí)行外部程序存貯器內(nèi)的程序時(shí),每

個(gè)機(jī)器周期內(nèi)都是PSEN兩次有效,ALE兩次輸出高電平,用于鎖存地址的低位字節(jié)。我

們?cè)陂_始進(jìn)行反向解剖時(shí),沒有設(shè)計(jì)使用芯片內(nèi)部的FLASH,因此只選用訪問外部程序

存貯器方式。在這種狀態(tài)下,得到的PSEN、ALE的頻率是振蕩器頻率的1/6,PSEN信號(hào)波形占空比為1/1,而ALE信號(hào)波形占空比為1/2。每個(gè)機(jī)器周期中ALE信號(hào)的高電平為S1P2S2PI、S4P2、S5P1,PSEN信號(hào)的高電平為S1P2、S2P1、S2P2、S4P2、

SSP1、S5P5??傊?,CPU在PSEN、ALE和外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)WR

讀選通信號(hào)而的共同作用實(shí)現(xiàn)功能。

89S51內(nèi)部結(jié)構(gòu)

AT89S51引腳圖及實(shí)物圖

5.34X4矩陣按鍵

本實(shí)驗(yàn)中使用的4X4矩陣按鍵,為16個(gè)按鍵排列而成,PCB圖如下:

程序如下:

ORG0000H

AJMPMAIN

ORG0030H

MAIN:ACALLKS

JZMAIN

ACALLDELAY

ACALLKS

JZMAIN

ACALLSCANNING

MOVR4,A

ADDA,R4

MOVDPTR,#TJMP

JMP@A+DPTR

KS:MOVA,#00H

MOVP1,A

MOVP1,#0FH

MOVA,P1

CPLA

ANLA,#0FH

RET

SCANNING:MOVR2,#0EFHMOVR3,#00H

LINE0:MOVA,R2

MOVP1,A

MOVA,P1

JBACC.3,LINE4

MOVA,#00H

AJMPFIND

LINE4:JBACC.2,LINE8MOVA,#04H

AJMPFIND

LINE8:JBACC.1,LINE12MOVA,#08H

AJMPFIND

LINE12:JBACC.0,ALINEMOVA,#0CH

AJMPFIND

ALINE:INCR3

MOVA,R2

RLA

JNBACC.0,BACK

MOVR2,A

AJMPLINE0

FIND:ADDA,R3BACK:RET

DELAY:MOVR7,#100

BB:MOVR6,#49

NOP

NOP

AA:DJNZR6,AA

DJNZR7,BBRET

TJMP:AJMPKEY0

AJMPKEY1AJMPKEY2AJMPKEY3AJMPKEY4AJMPKEY5AJMPKEY6AJMPKEY7AJMPKEY8AJMPKEY9AJMPKEY10AJMPKEY11AJMPKEY12AJMPKEY13AJMPKEY14AJMPKEY15

KEY0:CLRA

AJMPMAIN

KEY1:MOVP2,AADDA,#01

DAA

AJMPMIAN

KEY2:MOVP2,#0A4HAJMPMAIN

KEY3:MOVP2,#0B0HAJMPMAIN

KEY4:MOVP2,#99H

AJMPMAIN

KEY5:MOVP2,#92HAJMPMAIN

KEY6:MOVP2,#82HAJMPMAIN

KEY7:MOVP2,#0F8HAJMPMAIN

KEY8:MOVP2,#80HAJMPMAIN

KEY9:MOVP2,#90HAJMPMAIN

KEY10:MOVP2,#88HAJMPMAIN

KEY11:MOVP2,#83HAJMPMAIN

KEY12:MOVP2,#0C6HAJMPMAIN

KEY13:MOVP2,#0A1HAJMPMAIN

KEY14:MOVP2,#86HAJMPMAIN

KEY15:MOVP2,#8EHAJMPMAIN

END

5.4發(fā)聲系統(tǒng)

電路圖如下:

LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。

一、LM386內(nèi)部電路

與通用型集成運(yùn)放相類似,它是一個(gè)三級(jí)放大電路。

第一級(jí)為差分放大電路,T1和T3、T2和T4分別構(gòu)成復(fù)合管,作為差分放大電路的放大管;T5和T6組成鏡像電流源作為T1和T2的有源負(fù)載;T3和T4信號(hào)從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負(fù)載,可使單端輸出電路的增益近似等于雙端輸出電容的增益。

第二級(jí)為共射放大電路,T7為放大管,恒流源作有源負(fù)載,以增大放大倍數(shù)。

第三級(jí)中的T8和T9管復(fù)合成PNP型管,與NPN型管T10構(gòu)成準(zhǔn)互補(bǔ)輸出級(jí)。二極管D1和D2為輸出級(jí)提供合適的偏置電壓,可以消除交越失真。

引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。輸出端(引腳5)應(yīng)外接輸出電容后再接負(fù)載。電阻R7從輸出端連接到T2的發(fā)射極,形成反饋通路,并與R5和R6構(gòu)成反饋網(wǎng)絡(luò),從而引入了深度電壓串聯(lián)負(fù)反饋,使整個(gè)電路具有穩(wěn)定的電壓增益。

5.5電路板的制作

Protel99功能強(qiáng)大,為我們進(jìn)行電子電路原理圖和印制板圖的設(shè)計(jì)提供了良好的操作環(huán)境。用Protell99進(jìn)行電路設(shè)計(jì)分為兩大部分:原理圖的設(shè)計(jì)和電路板的設(shè)計(jì)。原理圖的設(shè)計(jì)實(shí)在SCH系統(tǒng)中進(jìn)行的,電路原理圖是印刷板電路設(shè)計(jì)的基礎(chǔ),只有設(shè)計(jì)好原理圖才有可能進(jìn)行下一步的電路板設(shè)計(jì)。

用protel99進(jìn)行電路板設(shè)計(jì)的第一步是其原理圖的設(shè)計(jì)。顯然,原理圖決定整個(gè)電路的基本功能,也是接下來生成網(wǎng)表和設(shè)計(jì)印刷板電路的基礎(chǔ)。具體步驟如下:(1)圖面設(shè)置:

Protel99允許用戶根據(jù)電路的規(guī)模設(shè)置圖面的大小,按照偏好和習(xí)慣設(shè)置圖面的樣式。實(shí)際上,設(shè)置圖面就是設(shè)置了一個(gè)工作平面,以后的工作就要在這個(gè)平面上進(jìn)行。所以圖面應(yīng)該設(shè)置得足夠大,為進(jìn)一步工作提供一個(gè)足夠大的工作空間。

(2)放置元件:

所謂放置元件就是從元件庫中選取所需得元件,將其布置到圖面上合適的位置,有時(shí)還要重定義元件的編號(hào)、封裝。元件的封裝很重要,要根據(jù)元件的實(shí)際尺寸和實(shí)際封裝來決定,要是元件沒封裝好,將會(huì)給以后電路板的制作帶來很大的麻煩。這些都是下一步工作的基礎(chǔ)。Protel99為用戶提供了一個(gè)非完備的元件庫,并且允許用戶對(duì)這個(gè)元件庫進(jìn)行編輯或者新建自己的元件庫。

電路板的制作過程

(1)打?。?/p>

將生成的PCB圖打印到熱轉(zhuǎn)印紙上,需注意線不能太窄,墨要加重,否則制板時(shí)容易斷線,如果在操作過程中斷了線,可用電烙鐵將錫帶過。

(2)熨燙:

將熱轉(zhuǎn)印紙覆在銅板上,用電熨斗進(jìn)行熨燙,關(guān)鍵要注意熨燙的時(shí)間,不能太久,也不能時(shí)間太短,否則,太久會(huì)把銅板燙壞,不夠的話墨跡覆不上去。

(3)腐蝕:

把銅板放到三氯化鐵溶液中腐蝕,需注意溶液濃度要較高,最好用熱水配置,這樣腐蝕更快,一般3分鐘即可。如果時(shí)間過長,需剩下的銅線也可能被腐蝕。

(4)打孔:

打孔時(shí)注意鉆頭尺寸,本次用的鉆頭大小是0.712mm的,最需注意的地方是集成塊的管腳,如果打孔誤差大,管座就很難插上。

(5)放置元件:

放置前應(yīng)先打磨一下打孔后留下的毛刺,并均勻地涂上松香水(目的是防止銅線氧化,易于焊錫覆著焊盤,但多涂會(huì)導(dǎo)致焊接時(shí)焊點(diǎn)變黑,影響美觀)。放置元件時(shí)注意集成塊的管腳,二極管和電解電容的正負(fù),這些都是平時(shí)比較容易出錯(cuò)的地方。

(6)焊接:

焊接技術(shù)比較難掌握,焊錫、烙鐵與焊盤的位置關(guān)系,焊錫熔化時(shí)間

長短,松香水的濃度,烙鐵的溫度等等,都是影響焊點(diǎn)美觀的因素。

(7)檢查:

檢查是否有虛焊,集成塊管腳位置是否正確,電源引線位置是否恰當(dāng)?shù)?。檢查完畢就能進(jìn)行調(diào)試了。

六、源程序

KEYBUFEQU30H

STH0EQU31H

STL0EQU32H

TEMPEQU33H

ORG00H

LJMPSTART

ORG0BH

LJMPINT_T0

START:MOVTMOD,#01H

SETBET0

SETBEA

WAIT:

MOVP3,#0FFH

CLRP3.4

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY1

LCALLDELY10MS

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY1

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK1

MOVKEYBUF,#0

LJMPDK1

NK1:CJNEA,#0DH,NK2

MOVKEYBUF,#1

LJMPDK1

NK2:CJNEA,#0BH,NK3

MOVKEYBUF,#2

LJMPDK1

NK3:CJNEA,#07H,NK4

MOVKEYBUF,#3

LJMPDK1

NK4:NOP

DK1:

MOVA,KEYBUF

MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,A

MOVA,KEYBUF

MOVB,#2

MULAB

MOVTEMP,A

MOVDPTR,#TABLE1MOVCA,@A+DPTRMOVSTH0,A

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVCA,@A+DPTRMOVSTL0,A

MOVTL0,A

SETBTR0

DK1A:MOVA,P3

ANLA,#0FH

XRLA,#0FH

JNZDK1A

CLRTR0

NOKEY1:

MOVP3,#0FFH

CLRP3.5

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY2

LCALLDELY10MSMOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY2

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK5MOVKEYBUF,#4

LJMPDK2

NK5:CJNEA,#0DH,NK6

MOVKEYBUF,#5

LJMPDK2

NK6:CJNEA,#0BH,NK7MOVKEYBUF,#6

LJMPDK2

NK7:CJNEA,#07H,NK8MOVKEYBUF,#7

LJMPDK2

NK8:NOP

DK2:

MOVA,KEYBUF

MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,A

MOVA,KEYBUF

MOVB,#2

MULAB

MOVTEMP,A

MOVDPTR,#TABLE1MOVCA,@A+DPTRMOVSTH0,A

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVCA,@A+DPTRMOVSTL0,A

MOVTL0,A

SETBTR0

DK2A:MOVA,P3

ANLA,#0FH

XRLA,#0FH

JNZDK2A

CLRTR0

NOKEY2:

MOVP3,#0FFH

CLRP3.6

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY3

LCALLDELY10MSMOVA,P3

XRLA,#0FH

JZNOKEY3

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK9MOVKEYBUF,#8

LJMPDK3

NK9:CJNEA,#0DH,NK10MOVKEYBUF,#9

LJMPDK3

NK10:CJNEA,#0BH,NK11MOVKEYBUF,#10LJMPDK3

NK11:CJNEA,#07H,NK12MOVKEYBUF,#11LJMPDK3

NK12:NOP

DK3:

MOVA,KEYBUF

MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,A

MOVA,KEYBUF

MOVB,#2

MULAB

MOVTEMP,A

MOVDPTR,#TABLE1MOVCA,@A+DPTRMOVSTH0,A

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVCA,@A+DPTRMOVSTL0,A

MOVTL0,A

SETBTR0

DK3A:MOVA,P3

ANLA,#0FH

XRLA,#0FH

JNZDK3A

CLRTR0

NOKEY3:

CLRP3.7

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY4

LCALLDELY10MSMOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY4

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論