找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3148|回復(fù): 3
收起左側(cè)

這是我做的波形發(fā)生器的課程設(shè)計(jì)附帶程序碼

[復(fù)制鏈接]
ID:258524 發(fā)表于 2018-10-12 10:45 | 顯示全部樓層 |閱讀模式
摘要
這個(gè)系統(tǒng)是基于AT89C51單片機(jī)的波形信號(hào)發(fā)生器。使用AT89C51單片機(jī)作為控制核心,該系統(tǒng)由數(shù)字/模擬轉(zhuǎn)換電路(DAC0832)、運(yùn)放電路(OP07)、按鍵電路和6位數(shù)碼管等組成。通過按鍵可控制方波、三角波、正弦波的產(chǎn)生,并且用數(shù)碼管顯示其對應(yīng)的頻率和波形的類型。這個(gè)設(shè)計(jì)方法簡單、性能良好,這個(gè)系統(tǒng)可在多種需要低頻信號(hào)的場所使用,它具有良好的實(shí)用性。

目 錄
1總體方案設(shè)計(jì) 2
11 方案論證 1
12 系統(tǒng)描述 2
2單元模塊設(shè)計(jì) 2
21 AT89C51功能介紹 3
22 時(shí)鐘電路 4
23 復(fù)位電路 4
24 鍵盤控制電路 4
25 LED顯示電路 5
251 數(shù)碼管功能介紹 5
252 LED動(dòng)態(tài)顯示原理及電路 6
26 D/A轉(zhuǎn)換及放大電路 7
261 DAC0832功能介紹 7
262 D/A轉(zhuǎn)換電路 8
3系統(tǒng)調(diào)試 9
31 軟件調(diào)試 9
311 三角波產(chǎn)生 9
312 方波產(chǎn)生 10
313 正弦波產(chǎn)生 11
314 鍵盤控制 12
315 LED顯示 12
32 硬件調(diào)試 13
4系統(tǒng)功能介紹 14
5設(shè)計(jì)總結(jié) 15
參考文獻(xiàn) 16
附錄 17

1 總體方案設(shè)計(jì)
本次設(shè)計(jì)的任務(wù)是設(shè)計(jì)制作一個(gè)波形發(fā)生器,該波形發(fā)生器能產(chǎn)生正弦波、方波、三角波和由用戶編輯的特定形狀波形。示意圖如下:
基本要求如下:
(1)具有產(chǎn)生正弦波、方波周期性波形的功能;
(2)輸出波形的頻率范圍為100Hz~20kHz(非正弦波頻率按10次諧波計(jì)算);重復(fù)頻率可調(diào),頻率步進(jìn)間隔≤100Hz;
(3)輸出波形幅度范圍0~5V(峰-峰值),可按步進(jìn)0.1V(峰-峰值)調(diào)整;
(4)具有顯示輸出波形的類型、重復(fù)頻率(周期)和幅度的功能。
1.1 方案論證
方案一:采用單片函數(shù)發(fā)生器可產(chǎn)生正弦波、方波等,操作簡單易行,用 D/A 轉(zhuǎn)換器的輸出來改變調(diào)節(jié)電壓,可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號(hào)的頻率穩(wěn)定度不高。
方案二:利用芯片組成的電路輸出波形,MAX038是MAXIM公司生產(chǎn)的一個(gè)只需要很少外部元件的精密高頻波形產(chǎn)生器,它能產(chǎn)生準(zhǔn)確的高頻正弦波、三角波、方波。輸出頻率和占空比可以通過調(diào)整電流、電壓或電阻來分別地控制。所需的輸出波形可由在A0和A1輸入端設(shè)置適當(dāng)?shù)拇a來選擇,且具有輸出頻率范圍寬、波形穩(wěn)定、失真小、使用方便等特點(diǎn)。
方案三:采用Atmel公司的AT89C51單片機(jī)編程方法實(shí)現(xiàn),該方案可以通過編程的方法控制信號(hào)波形的頻率和幅度,而在硬件電路不便的情況下,通過程序?qū)崿F(xiàn)頻率的變化和輸出波形的選擇,并同時(shí)在顯示器顯示相應(yīng)的結(jié)果。
方案一輸出信號(hào)頻率不夠穩(wěn)定;方案二成本高,程序復(fù)雜度高;方案三軟硬件結(jié)合,硬件成本低,軟件起點(diǎn)低,用匯編語言即可完成,優(yōu)化型相對比較好,容易實(shí)現(xiàn),且滿足設(shè)計(jì)要求。綜合考慮,我們采用了方案三,用AT89C51單片機(jī)設(shè)計(jì)多功能信號(hào)發(fā)生器,能夠滿足信號(hào)的頻率穩(wěn)定性和精度的準(zhǔn)確性。
1.2 系統(tǒng)描述
    本方案以AT89C51為控制核心,主要模塊包括復(fù)位電路、時(shí)鐘信號(hào)發(fā)生電路、鍵盤控制電路、D/A轉(zhuǎn)化及LED顯示電路,其原理框圖如下:
圖1 系統(tǒng)原理框圖
2 單元模塊設(shè)計(jì)2.1 AT89C51功能介紹
AT89C51引腳圖如下:
圖2 AT89C51引腳圖
1.主電源引腳Vcc和GND
  GND:接地。
  Vcc:主電源+5V。
2.時(shí)鐘電路引腳XTAL1和XTAL2
  XTAL1、XTAL2為內(nèi)部振蕩器電路(反相放大器)的輸入端和輸出端,外接晶振電路。
3.控制引腳RST、ALE、PSEN、EA
  RST:復(fù)位引腳輸入高電平使89C51復(fù)位,返回低電平退出復(fù)位。
  ALE:訪問片外存儲(chǔ)器時(shí),ALE做鎖存擴(kuò)展地址低位字節(jié)的控制信號(hào)。
  PSEN:外部程序存儲(chǔ)器的讀選通信號(hào),低電平有效。
  EA:程序存儲(chǔ)器選擇信號(hào),當(dāng)該端口輸入高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器程序,當(dāng)輸入低電平時(shí),CPU僅訪問片外程序存儲(chǔ)器。
4.輸入/輸出引腳
  P0—P3是4個(gè)寄存器,是單片機(jī)與外界聯(lián)系的4個(gè)8位雙向并行I/O口,其中P3口還具有第二功能。
2.2 時(shí)鐘電路
    單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益的反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩,并產(chǎn)生振動(dòng)時(shí)鐘脈沖。晶振通常選用 6MHZ、12MHZ、24MHZ。
本設(shè)計(jì)中時(shí)鐘電路圖如下圖所示,我們選擇24MHZ晶振分別接引腳XTAL1和XTAL2,電容 C1、C2均選擇為30pF,對振蕩器的頻率有穩(wěn)定作用。
圖3 時(shí)鐘電路
2.3 復(fù)位電路
復(fù)位引腳RST通過一個(gè)施密特觸發(fā)器與復(fù)位電路相連,施密特觸發(fā)器用來抑制噪聲。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。在每個(gè)機(jī)器周期的S5P2,施密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。本設(shè)計(jì)選擇了按鍵復(fù)位如下圖所示, 在系統(tǒng)運(yùn)行時(shí),按一下開關(guān),就在RST斷出現(xiàn)一段高電平,使時(shí)鐘電路圖中器件復(fù)位。此時(shí)ALE、PSEN、P0、P1、P2、P3輸出高電平,在RST 上輸入返回低電平以后,就退出復(fù)位狀態(tài)開始工作。
圖4 復(fù)位電路
2.4 鍵盤控制電路
鍵盤電路分為獨(dú)立式按鍵和矩陣式鍵盤,為了簡化程序,我們采用了獨(dú)立式鍵盤。獨(dú)立式按鍵是指直接用I/O口線構(gòu)成的單個(gè)按鍵電路。每個(gè)獨(dú)立式按鍵單獨(dú)占有一根I/O口線,每根I/O口線的工作狀態(tài)不會(huì)影響其他I/O口線的工作狀態(tài),這是一種最簡單易懂的按鍵結(jié)構(gòu)。電路圖如下所示:
圖5 鍵盤輸入電路
2.5 LED顯示電路2.5.1 數(shù)碼管功能介紹
    數(shù)碼管的外形結(jié)構(gòu)如下圖所示,由圖可見它由8個(gè)發(fā)光二極管構(gòu)成,通過不同的組合用來顯示0—9,A—F及小數(shù)點(diǎn)“.”等符號(hào)。數(shù)碼管通常有共陰極和共陽極兩種型號(hào),共陰極數(shù)碼管的發(fā)光二極管陰極必須接低電平,當(dāng)某發(fā)光二極管的陽極為高電平(一般為+5V)時(shí),此二極管點(diǎn)亮;共陽極數(shù)碼管的發(fā)光二極管是陽極并接到高電平,對于需點(diǎn)亮的發(fā)光二極管使其陰極接地電平即可(一般接地)。顯然,要顯示某字形就應(yīng)使此字形的相應(yīng)字段點(diǎn)亮,實(shí)際就是送不同電平組合代表的數(shù)據(jù)至數(shù)碼管。這種裝入數(shù)碼管顯示字形的數(shù)據(jù)稱字形碼。
圖6 數(shù)碼管原理圖
要使數(shù)碼管顯示不同的數(shù)字或者字符,需要使端口輸出相應(yīng)的字型碼,顯示器的字形與字碼關(guān)系如下圖所示:
圖7 段碼表
2.5.2 LED動(dòng)態(tài)顯示原理及電路
LED數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),單片機(jī)對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。
本次設(shè)計(jì)采用6位共陰極數(shù)碼管,選取AT89C51的P0口作為信號(hào)輸出端口,并外接兩片鎖存器74HC573,用于驅(qū)動(dòng)數(shù)碼管,其中一片作為數(shù)碼管的段選信號(hào)輸入端,另一片作為數(shù)碼管的位選信號(hào)輸入端,選取AT89C51的P2.6和P2.7分別作為兩片鎖存器的片選信號(hào)輸入端,電路圖如下所示:
圖8LED顯示電路
2.6 D/A轉(zhuǎn)換及放大電路2.6.1 DAC0832功能介紹
DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。其引腳圖如下所示:
圖9 DAC0832引腳圖
關(guān)于DAC0832的引腳功能如下:
D0~D7:數(shù)字信號(hào)輸入端。
ILE:輸入寄存器允許,高電平有效。
CS:片選信號(hào),低電平有效。
WR1:寫信號(hào)1,低電平有效。
XFER:傳送控制信號(hào),低電平有效。
WR2:寫信號(hào)2,低電平有效。
IOUT1、IOUT2:DAC電流輸出端。
RFB:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。
VREF:基準(zhǔn)電壓(-10~10V)。
Vcc:是源電壓(+5~+15V)。
AGND:模擬地。
NGND:數(shù)字地,可與AGND接在一起使用。
2.6.2 D/A轉(zhuǎn)換電路
由于單片機(jī)輸出的是數(shù)字信號(hào),因此要得到模擬信號(hào)的波形就必須對其進(jìn)行數(shù)模轉(zhuǎn)換。我們采用了DAC0832數(shù)模轉(zhuǎn)換器,由于其輸出為電流輸出,需要外加運(yùn)算放大器OP07使之裝換為電壓輸出,最后通過示波器顯示輸出的波形。我們選取了AT89C51的P1口作為波形數(shù)字信號(hào)的輸出端口,電路圖如下所示:
圖10 D/A轉(zhuǎn)換電路
3 系統(tǒng)調(diào)試
本次設(shè)計(jì)的系統(tǒng)仿真在Proteus軟件中進(jìn)行,并采用匯編語言進(jìn)行程序的編寫。
3.1 軟件調(diào)試3.1.1 三角波產(chǎn)生
(1)輸出波形如下圖所示:
圖11 三角波仿真圖
(2)三角波程序如下:
TRI: CJNE R7,#0FFH,GO1
     CLR  20H
GO1: CJNE R7,#00H,GO2
     SETB 20H
GO2: JNB TF1,GO3   
     CLR  TF1
     JB   20H,GO4
     DEC  R7
     SJMP GO6
GO4: INC  R7
GO6: MOV  P1,R7
     LCALLDISPLAY
GO3: MOV A,P3
     ORL A,#1FH
     CPL A
     JZ  GO5
     LCALL DELAY
     MOV A,P3
     ORL A,#1FH
     CPL A
     JZ  GO5
     LJMPCHANGESTATE
GO5: LJMP TRI
3.1.2 方波產(chǎn)生
(1)輸出波形如下圖所示:
圖12 方波仿真圖
(2)方波程序如下:
REC:JNB TF1,GG1
    CLR TF1
    DJNZ R2,GG2
    MOV R2,#0FFH
    CPL 20H
GG2:JB 20H,GG3
    MOV P1,#00H
    SJMP GG4
GG3:MOV  P1,#0FFH
GG4:
GG1:MOV A,P3
    ORL A,#0FH
    CPL A
    JZ GG5
    LCALL DELAY
    MOV A,P3
    ORL A,#0FH
    CPL A
JZ GG5
GG5:LJMP REC
3.1.3 正弦波產(chǎn)生
(1)輸出波形如下圖所示:
圖13 正弦波仿真圖
(2)程序如下:
SIN: JNB  TF1,G1
     CLR TF1
     INC R1
     MOV A,R1
     MOVC A,@A+DPTR
     MOV P1,A
G1: MOV A,P3
     ORL A,#1FH
     CPL A
     JZ  G2
     MOV  A,P3
     ORL A,#1FH
     CPL A
     JZ  G2
G2:  LJMP SIN
3.1.4 鍵盤控制
    通過按鍵的控制,可以實(shí)現(xiàn)波形的相互轉(zhuǎn)換和調(diào)頻的功能。P3.5和P3.6端口的鍵盤分別實(shí)現(xiàn)頻率的加減功能,P3.7端口的鍵盤實(shí)現(xiàn)波形之間的相互轉(zhuǎn)換。其仿真效果如下圖所示:
圖14 波形轉(zhuǎn)換仿真圖
3.1.5 LED顯示
本次設(shè)計(jì)采用6位數(shù)碼管實(shí)現(xiàn)顯示功能,其中前3位用于顯示波形的類型,REC代表方波,SIN代表正弦波,TRI代表三角波;后3位用于顯示波形的頻率。其仿真效果如下圖所示:
圖15 LED仿真圖
3.2 硬件調(diào)試
本次設(shè)計(jì)的硬件電路調(diào)試結(jié)果如下圖所示:
圖16 硬件效果圖
4 系統(tǒng)功能介紹
    本次設(shè)計(jì)的電路可實(shí)現(xiàn)以下三大功能:
(1)波形產(chǎn)生
    本次設(shè)計(jì)電路可產(chǎn)生方波、三角波、正弦波三種波形,而且通過鍵盤控制可以實(shí)現(xiàn)三種波形之間的相互轉(zhuǎn)換和頻率調(diào)節(jié)的功能。
(2)LED顯示
本次設(shè)計(jì)的顯示功能通過6位數(shù)碼管實(shí)現(xiàn),可以顯示三種波形的類型和頻率。
(3)鍵盤控制
本次設(shè)計(jì)的電路具有鍵盤控制功能,可以進(jìn)行三種波形之間的任意轉(zhuǎn)換和波形頻率的調(diào)節(jié),并可以將改變后的結(jié)果實(shí)時(shí)地顯示在在數(shù)碼管上。
5 設(shè)計(jì)總結(jié)
我們小組此次的設(shè)計(jì)題目是波形發(fā)生器的設(shè)計(jì),通過小組成員將近一個(gè)月的努力,并按照本次電子設(shè)計(jì)競賽的相關(guān)要求,最終完成此次設(shè)計(jì)。在此次設(shè)計(jì)中收獲頗多,主要有以下幾點(diǎn):
(1)通過對電路的設(shè)計(jì),對51系列單片機(jī)的原理和功能有了進(jìn)一步的了解,對之前學(xué)過的書本上的電路知識(shí)有了更深刻的體會(huì),如復(fù)位電路的原理,晶振電路的作用,上拉電阻的功能,LED顯示電路的原理等,熟悉了DAC0832芯片的原理和功能,并且能對其進(jìn)行應(yīng)用。
(2)通過原理圖的繪制,學(xué)會(huì)了Proteus軟件的使用,并且能用它完成一些簡單的電路設(shè)計(jì),對常用的一些元器件有了一定的了解和認(rèn)識(shí)。
(3)本次設(shè)計(jì)的硬件電路相對簡單,核心部分是程序的編寫,考慮到匯編語言與硬件電路聯(lián)系比較緊密,我們組通過討論最終選取匯編語言進(jìn)行程序的編寫,方便后期調(diào)試過程查找錯(cuò)誤。在軟件和硬件的調(diào)試階段遇到很多的問題,如LED顯示亂碼、閃爍、波形失真等,通過不斷的查找錯(cuò)誤,對程序進(jìn)行相應(yīng)的修改,使其達(dá)到設(shè)計(jì)的要求,在這個(gè)過程中,認(rèn)識(shí)到有時(shí)候一個(gè)簡單的錯(cuò)誤就有可能造成電路無法正常工作,可謂“失之毫厘,差之千里”,培養(yǎng)了我們嚴(yán)謹(jǐn)細(xì)致的工作態(tài)度,同時(shí)對電路的的工作原理有了更深刻的認(rèn)識(shí)。
(4)在本次電路設(shè)計(jì)的過程中,深刻體會(huì)到對于一個(gè)功能較為復(fù)雜的系統(tǒng)設(shè)計(jì),一定要學(xué)會(huì)劃分功能模塊,逐個(gè)實(shí)現(xiàn),最終再進(jìn)行整合,切不可眉毛胡子一把抓,那樣不僅操作起來麻煩,效率低,而且容易出錯(cuò)。
(5)“紙上得來終覺淺,絕知此事要躬行”,通過本次電子設(shè)計(jì)競賽,深刻體會(huì)到理論聯(lián)系實(shí)踐的重要性,要學(xué)會(huì)活學(xué)活用。同時(shí),在實(shí)踐的過程中,也可以加深對理論知識(shí)的認(rèn)識(shí),提高動(dòng)手能力。
(6)通過本次電子設(shè)計(jì)競賽,我更加深刻的認(rèn)識(shí)到團(tuán)隊(duì)合作的重要性,小組成員分工合作,是設(shè)計(jì)成功的關(guān)鍵,只有大家團(tuán)結(jié)一致,才能更快更好的完成任務(wù)。
我們此次的設(shè)計(jì)基本滿足設(shè)計(jì)的要求,當(dāng)然還是存在不足的地方,例如當(dāng)頻率過小的時(shí)候波形會(huì)有些失真,波形的頻率調(diào)節(jié)范圍比較小,D/A轉(zhuǎn)換器轉(zhuǎn)換時(shí)可以加一個(gè)鎖存器,放大電路設(shè)計(jì)上還有待進(jìn)一步改進(jìn),使其具有更強(qiáng)的輸出能力等。
參考文獻(xiàn)
[1] 康華光.電子技術(shù)基礎(chǔ)模擬部分.第五版.北京:高等教育出版社,2011.11
[2] 邱關(guān)源.電路.第五版.北京:高等教育出版社,2011.12
[3] 閻石.數(shù)字電子技術(shù)基礎(chǔ).第五版.北京:高等教育出版社,2012.11
[4] 張迎新.單片微型計(jì)算機(jī)原理.第二版.國防工業(yè)出版社,2009.5
[5] 周潤景.Proteus入門實(shí)用教程.第二版.機(jī)械工業(yè)出版社,2011.11
附錄
1 系統(tǒng)原理圖
2 主程序
    ORG 0000H
    lJMP MAIN
MAIN:
    MOV TMOD,#20H
    MOV R0,#02H
    MOV A,#0FFH
    MOV P3,A
    MOV A,#70H
    MOV SP,A
    MOV R6,#0FFH
REMAIN:CLR TR1
      MOV TH1,R6
      SETB TR1
      LCALL JM
   CJNE R0,#01,SHIFT     
TRI: CJNE R7,#0FFH,GO1
    CLR  20H
GO1: CJNE R7,#00H,GO2
    SETB 20H
GO2: JNB TF1,GO3   
    CLR  TF1
    JB   20H,GO4
    DEC  R7
    SJMP GO6
GO4: INC R7
GO6: MOV P1,R7
    LCALL DISPLAY
GO3:
    MOV A,P3
    ORL A,#1FH
    CPL A
    JZ  GO5
    LCALL DELAY
    MOV A,P3
    ORL A,#1FH
    CPL A
    JZ  GO5
    LJMP CHANGESTATE
GO5: LJMP TRI
SHIFT:JC SIN1
REC:JNB TF1,GG1
   CLR TF1
   DJNZ R5,GG2
   MOV  R5,#0FFH
   CPL  20H
GG2:JB 20H,GG3
   MOV  P1,#00H
   SJMP GG4
GG3:MOV P1,#0FFH
GG4:LCALL DISPLAY
GG1:MOV A,P3
   ORL A,#1FH
   CPL A
   JZ  GG5
   LCALL DELAY
   MOV A,P3
   ORL A,#1FH
   CPL A
    JZ  GG5
   LCALL  CHANGESTATE
GG5:LJMP REC
SIN1:NOP
MOV DPTR,#TABSIN
SIN: JNB TF1,G1
    CLR  TF1
    INC  R1
    MOV  A,R1
    MOVC A,@A+DPTR
    MOV  P1,A
    LCALL DISPLAY
G1: MOV  A,P3
    ORL  A,#1FH
    CPL  A
    JZ   G2
    LCALL DELAY
    MOV  A,P3
    ORL  A,#1FH
    CPL  A
    JZ   G2
    LCALL  CHANGESTATE
G2: LJMP SIN
                              
CHANGESTATE:
          JB  P3.7,GOTO1
          INC R0
          CJNE R0,#03H,GOTO1
          MOV  R0,#00H
GOTO1:    JB   P3.6,GOTO2
          INC  R6
GOTO2:    JB   P3.5,GOTO3
          DEC  R6         
GOTO3:    MOV  A,P3
          CPL  A
          JNZ  GOTO3
          LJMP REMAIN
JM:MOV DPTR,#TABNUM
  MOV A,R6
  MOV B,#100
  DIV AB
  MOVC A,@A+DPTR
  MOV 14H,A
  MOV A,B
  MOV B,#10
  DIV AB
  MOVC A,@A+DPTR
  MOV 15H,A
  MOV A,B
  MOVC A,@A+DPTR
  MOV 16H,A
  MOV DPTR,#TABWM
  MOV A,R0
  MOV B,#03H
  MUL AB
  MOV 10H,A
  MOVC A,@A+DPTR
  MOV  11H,A
  INC  DPTR
  MOV  A,10H
  MOVC A,@A+DPTR
   MOV 12H,A
  MOV  A,10H
  INC  DPTR
  MOVC A,@A+DPTR
  MOV  13H,A
  RET
DISPLAY:
  SETB P2.6
  MOV  P0,11H
  CLR  P2.6
  MOV  P0,#0FFH
  SETB P2.7
  MOV  P0,#0FEH
  CLR  P2.7
  MOV  P0,#0FFH
  LCALL DELAY
  SETB P2.6
  MOV  P0,12H
   CLR  P2.6
  MOV  P0,#0FFH
  SETB P2.7
  MOV  P0,#0FDH
  CLR  P2.7
  MOV  P0,#0FFH
  LCALL DELAY
  SETB P2.6
  MOV  P0,13H
  CLR  P2.6
  MOV  P0,#0FFH
  SETB P2.7
  MOV  P0,#0FBH
  CLR  P2.7
  MOV  P0,#0FFH
  LCALL DELAY
  SETB P2.6
   MOV  P0,14H
  CLR  P2.6
  MOV  P0,#0FFH
  SETB P2.7
  MOV  P0,#0F7H
  CLR  P2.7
  MOV  P0,#0FFH
  LCALL DELAY
   
  SETB P2.6
  MOV  P0,15H
  CLR  P2.6
  MOV  P0,#0FFH
  SETB P2.7
  MOV  P0,#0EFH
  CLR  P2.7
  MOV  P0,#0FFH
  LCALL DELAY
   SETBP2.6
  MOV  P0,16H
  CLR  P2.6
  MOV  P0,#0FFH
  SETB P2.7
  MOV  P0,#0DFH
  CLR  P2.7
  MOV  P0,#0FFH
  LCALL DELAY
  RET
DELAY:MOV R2,#0FFH
     MOV R3,#1
LOOP:
     DJNZ R3,LOOP
     MOV  R3,#2
     DJNZ R2,LOOP
     RET
TABNUM: DB  3FH,06H,5BH,4FH,66H
       DB  6DH,7DH,07H,7FH,6FH
TABWM: DB  6DH,06H,37H,07H,77H
       DB  30H,77H,79H,39H
TABSIN:
       DB 80H,83H,86H,89H,8DH,90H,93H,96H
       DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
       DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
       DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
       DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H
       DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
       DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH
       DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
       DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH
       DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
       DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH
       DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH
       DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H
       DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
       DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H
       DB 96H,93H,90H,8DH,89H,86H,83H,80H
       DB 80H,7CH,79H,78H,72H,6FH,6CH,69H
       DB 66H,63H,60H,5DH,5AH,57H,55H,51H
       DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH
       DB 38H,35H,33H,30H,2EH,2BH,29H,27H
       DB 25H,22H,20H,1EH,1CH,1AH,18H,16H
       DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH
       DB 09H,08H,07H,06H,05H,04H,03H,02H
       DB 02H,01H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,01H,02H
       DB 02H,03H,04H,05H,06H,07H,08H,09H
       DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H
       DB 16H,18H,1AH,1CH,1EH,20H,22H,25H
       DB 27H,29H,2BH,2EH,30H,33H,35H,38H
       DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH
       DB 51H,55H,57H,5AH,5DH,60H,63H,66H
       DB 69H,6CH,6FH,72H,76H,79H,7CH,80H
END

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:430058 發(fā)表于 2018-11-20 18:53 | 顯示全部樓層
有電路圖嗎
回復(fù)

使用道具 舉報(bào)

ID:435621 發(fā)表于 2018-11-29 12:24 | 顯示全部樓層
沒看到電路圖啊?
回復(fù)

使用道具 舉報(bào)

ID:449435 發(fā)表于 2018-12-18 23:15 來自手機(jī) | 顯示全部樓層
樓主有完整的仿真和程序嗎
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表