- 相關推薦
基于單片機技術的波形發生器采用單片機設計(一)
摘 要
基于單片機技術的波形發生器采用單片機設計,用程序產生波形,先計算機構成波形的點數及數值,存到指定的存儲區,再讀取數據,經D/A轉換都輸出波形,進行D/A轉換是,輸出一個點的時間間隔須小于D/A轉換所需時間。
關鍵詞:單片機 波形發生器 D/A轉換器
Abstract
The waveform generator of variable frequency power supply is designed in Microcontroller,the waveform of frequency power supply is created by using the program. The program procedure:first,the point nvmbers formed the waveform and their values are calculated,and save them to the appointed memory area.And then read data,perform D/Aconversions and outpot waveform.When then generator outputs data and performs D/Aconversions each time.
Keyword: Microcontroller; Waveform generator; DAC;
1 引言
波形發生器作為常用的信號源,被廣泛應用于調試,自動控制系統和教學實驗等領域。目前使用的波形發生器大部分對大的缺點是,其體積大,可靠性差,精度低。提出一種性價比高的波形發生器,利用單片機進行函數處理,由軟件控制波形輸出,利用單片機進行函數處理,由軟件實現波形生成,輸出的數字信號再經模擬和信號放大處理后輸出所需波形。該波形發生器具有集成度高,體積小,可靠性好,精度高,價格便宜等特點。
2 設計任務和基本要求
2.1 具有產生正弦波.方波.三角波三種周期性波形的功能。
2.2 輸入波形的頻率范圍為100~~20khz(非正弦波頻率按10次斜波計
算);重復頻率可調,頻率步進間隔小于100HZ。
2.3 具有顯示輸出波形的類型,重復頻率(周期)和幅度的功能。
3 元器件性能分析
3.1 89C51處理器的基本介紹及其特點
89C51邏輯符號圖
圖(1)
89C51為40引腳,其引腳圖如圖(1)
CPU為Intel公司生產的89C51/89C52/89C55等。出廠所配晶振頻率為12MHZ,每個機器周期為1.085us,用戶可更換晶振以提高速度。●程序存貯器為64K,其中前4K/8K20K在CPU內部,其它程序在EPR0M27512中!駭祿尜A器為32K(62256),地址為8000—FFFFH。●Ⅰ/O擴展8155,片內RAM地址∶200O-20FFH8155,命令口地址為∶2100HA口地址為∶21O1HB口地址為.2102HC口地址為:2103HT低八位∶2104HT高八位∶2105H●A/D采用精高度,速度快(25us)的AD574,并在其轉換前對信號作了采樣保持處理。AD574啟動地址為:4000H高八位地址為∶4002H低四位地址為∶4003H多路模擬開關的使用∶IN0∶P1=0F8H IN4∶P1=0FCHIN1∶P1=0F9H IN5:P1=OFDHIN2∶P1=0FAH IN5:P1=0FEHIN3∶P1=0FBH IN7:P1=0FFHP1.0按CD4051的C⑼,P1.1按CD4051的B腳(10)、P1.2按CD4051的A腳(11)。●D/A采用0832輸出,地址為∶6000H-6FFFH●鍵盤顯示(CZ2)采用8279,地址為:7FFEH-7FFFH●日歷時鐘芯片DS12887,命令寄存器為5000H-500DH,不掉電數據存貯器為∶500EH-507FH [M] 89C51執行指令的時間與及定時器/計數器計數的頻率都與振蕩源的周期有關,為了提高波形頻率的精度,采用12MHZ的晶振與外部時鐘方式,晶振的兩根引腳分別與89C51的外接晶振引腳X1和X2相連。波形發生器工作時,要求進入復位工作狀態,因此需設計準確,可靠的復位電路。
89C51單片機內部設置兩個16位可編程的定時器/計數器T0和T1,它們具有計數器方式和定時器方式兩種工作方式及4種工作模式。在波形發生器中,將其做定時器使用,用它來精確地確定波形的兩個采樣點輸出之間的延遲時間。模式1采用的是16位計數器,當T0或T1被允許記數后,從初值開始加1記數,最高位產生益處時向CPU請求中斷。因此要想確定精確的時間,首先要計算出記數初值。中斷系統是使處理器具有對外界異步事件的處理能力而設置的。當中央處理器CPU正在處理某件事的時候外界發生了緊急事件。在波形發生器中,只用到片內定時器/計數器益出時產生的中斷請求,既是在89C51輸出一個波形采樣點信號后,接著啟動定時器,在定時器未產生中斷之前,89C51等待,直到定時器計時結束,產生中斷請求,89C51響應中斷,接著輸出下一個采樣點信號,如此循環產生所需要的信號波形。
8279的基本介紹及其特點
3.2.1 8279的基本介紹
8279的邏輯符號
(圖2)
8279為40引腳芯片,其引腳圖為圖(2)
8279是Intel公司生產的通用可編程鍵盤和顯示器接口電路芯片。8279可以實現對鍵盤和顯示器的自動掃描,識別閉合鍵的鍵號,完成顯示器動態顯示。從而大大節省了CPU處理鍵盤和顯示器的時間,提高了CPU的工作效率。另外,8279與單片機的接口簡單,顯示穩定,工作可靠,應用愈來愈廣泛。 [M]
8279與CPU之間的信息交換可分為3種類型,即命令字,狀態字和數據。它們的作用分別如下:當8279的A0入高電平時,CPU向8279寫入的數據為命令字,讀出的數據為狀態字;時鐘編程命令字:D7D6D5=001為時鐘編程命令字的特征位,PPPP用來設定對外部時鐘信號的分頻系數N,N取2-31。通過對外部輸入信號的N分頻獲得8279所需的100VHZ 的內部時鐘信號。讀FIFO/傳感器RAM命令字:該命令只在傳感器工作方式中使用,在鍵盤工作方式中,讀出操作按先進先出的順序,不需此命令;讀顯示RAM命令字:該命令字用來設定要讀出的顯示RAM的地址;寫顯示RAM命令字:D7D6D5=100為寫顯示RAM命令字特征位,在寫顯示RAM之前用該命令字來設定要寫入RAM單元的地址;顯示禁止寫入,消隱命令字:BLA,BLB(D1,D0)為消隱設置位。分別用于兩組顯示的消隱設置,當Bl=1時,對應的顯示輸出被消隱,當Bl=0時,恢復顯示;清除命令字:CA=1時,對顯示RAM的清除方式由D3,D2二位確定,清除顯示RAM大約需要100us時間,在此期間CPU不能向顯示RAM中寫入數據;結束中斷/錯誤方式設置命令字:在鍵盤工作方式中,若8297設置為N鍵依次讀出方式后,若8279設置為N鍵依次讀出方式后,若CPU給8279又寫入結束中斷/錯誤方式設置命令(E=1),則8279將以特定的錯誤方式工作,如果8279發現多個鍵同時閉合,則FIFO狀態字的錯誤特征位S/E置1,并產生中斷請求信號的阻止寫入FIFO RAM。狀態字:在鍵盤輸入和選通輸入方式中,狀態字給出了FIFO RAM 中的數據個數,是否出錯等信息;輸入數據的格式:當A0=0時,CPU對8279讀,寫的均為數據,寫入的為要顯示數符的段選碼,讀出的數據為鍵盤數據或傳感器距陣數據,在鍵盤工作方式中,當有鍵閉合時,其行號和列號(分別由RL0—RL7和SL0—SL3確定)輸入FIFO RAM中。
8279最多可以接16位顯示器,一個8*8的行列式鍵盤。當有鍵按下時,鍵號自動進入FIFO RAM,并置中斷請求信號有效,向CPU請求中斷。要顯的數據的段選碼送到顯示RAM中,8279自動完成掃描顯示。CPU所要做的工作是對8279進行初始化,輸入顯示數據的段選碼,有鍵按下時,讀入鍵號。因此,在8279鍵盤,顯示系統中,CPU用于處理鍵盤和顯示器的時間明顯減少,提高了CPU的工作效率。
3.2.2 8279的命令和狀態字
(1) 鍵盤/顯示方式設置命令命令特征位:D7D6D5=000DD兩位用來設定顯示方式:00 8個字符顯示----左入01 16個字符顯示----左入10 8個字符顯示----右入11 16個字符顯示----右入所謂的左入就是在顯示時,顯示字符是從左面向右面逐個排列。右入就是顯示字符從右面向左面移動。所對應的SL編碼最小的為顯示的最高位KKK三位用來設定鍵盤工作方式:K000編碼掃描鍵盤----雙鍵鎖定K001譯碼掃描鍵盤----雙鍵鎖定K010編碼掃描鍵盤----N鍵輪回K011譯碼掃描鍵盤----N鍵輪回K100編碼掃描傳感器矩陣K101譯碼掃描傳感器矩陣K110選通輸入,編碼顯示掃描K111選通輸入,譯碼顯示掃描第一位K沒有任何意義。雙鍵鎖定和N鍵輪回是兩種不同的多鍵同時按下保護方式。雙鍵鎖定為兩鍵同時按下提供保護,在消振周期內,如果有兩鍵同時被按下,則只有其中的一鍵彈起,而另一鍵在按下位置時,才能被認可。N鍵輪回為N鍵同時按下提供保護,當有若干個鍵同時按下時,鍵盤掃描能根據發現它們的次序,依次將它們的狀態送入FIFO RAM。
(2) 時鐘編程命令
命令特征位:D7D6D5=001
將來自CLK的外部時鐘進行PPPPP分頻(2-31)。(3) 讀FIFO/傳感器RAM命令 命令特征位:D7D6D5=010
該命令字只在傳感器方式時使用,在CPU讀傳感器RAM之前,必須用著條命令來設定將要讀出的傳感器RAM地址。由于傳感器RAM的容量是8X8bit,因此需要用命令字中的三位二進制代碼AAA來選址。命令字中的AI為自動增量特征位。若AI=1,則每次讀出傳感器RAM后,地址將自動增量(加1),使地址指針指向順序的下一個存儲單元。這樣,下一次讀數便從下一個地址讀出,而不必重新設置讀FIFO/傳感器RAM命令。 在鍵盤工作方式中,由于讀出操作嚴格按照先入先出的順序,因此不必使用這條命令。
(4) 讀顯示RAM命令 命令特征位:D7D6D5=011
在CPU讀顯示RAM之前,該命令字用來設定將要讀出的顯示RAM的地址,四位二進制代碼AAAA用來尋址顯示RAM中的一個存儲單元。如果自動增量特征位AI=1,則每次讀出后,地址自動加1,使下一次讀出順序指向下一個地址。
(5) 寫顯示RAM命令 命令特征位:D7D6D5=100,前面命令字位相同。
(6) 顯示禁止寫入/消隱命令 命令特征位:D7D6D5=101。
IW用來掩蔽A組和B組(D3對應A組,D2對應B組)。例如,當A組的掩蔽位D3=1時,A組的顯示RAM禁止寫入。因此從CPU寫入顯示器RAM的數據不會影響A的顯示。這種情況通常在采用雙四位顯示時使用。因為兩個四位顯示器是相互獨立的,為了給其中一個四位顯示器輸入數據,而又不影響另一個四位顯示器,因此必須對另一組的輸入實行掩蔽。BL位是消隱特征,要消隱兩組顯示輸出,必須設置兩個BL位。若BL=1。則執行此命令后,對應組的顯示輸出被消隱。若BL=0,則恢復顯示
(7) 清除命令 命令特征位:D7D6D5=110。
該命令字用來清除FIFO RAM和顯示RAM。D4D3D2三位(CD)用來設定清除顯示RAM的方式。其意義如下表: 清除方式 將顯示RAM全部清“0”將顯示RAM置20H(即A組=0010 B組=0000) 將顯示RAM全部置1不清除(若CA=1,則D3、D2仍有效) D1(CF)位用來清空FIFO存儲器。D1=1時,執行清除命令后,FIFO
RAM被清空,使中斷IRQ復位。同時,傳感器RAM的讀出地址也被清0.D0(CA)位是總清的特征位,它兼有CD和CF的聯合有效。在CA=1時,對顯示RAM的清除方式由D3D2的編碼決定。 清除顯示RAM大約需要100uS的時間。在此期間,FIFO狀態字的最高位Du=1,表示顯示無效。CPU不能向顯示RAM寫入數據。
(8) 結束中斷/錯誤方式設置命令 命令特征位D7D6D5=111。 這個命令有兩個不同的應用: ① 作為結束中斷命令。在傳感器工作方式中,每當傳感器狀態出現變化時,掃描檢測電路接將其狀態寫入傳感器RAM,并啟動中斷邏輯,使IRQ變高,向CPU請求中斷。并且禁止寫入傳感器RAM。此時,如傳感器RAM讀出地址的自動遞增特征沒有置位(AI=0),則中斷請求IRQ在CPU第一次從傳感器RAM讀出數據時就被清除。若自動遞增特征已置位(AI=1),則CPU對傳感器RAM的讀出并不能清除IRQ,而必須通過給8279寫入結束中斷/錯誤方式設置命令才能使IRQ變低。因此,在傳感器工作方式中,此命令用來結束傳感器RAM的中斷請求。 ② 作為特定錯誤方式的設置命令。在8279已被設定為鍵盤掃描N鍵輪回方式以后,如果CPU給8279又寫入結束中斷/錯誤方式設置命令(E=1)。則8279的消振周期內,如果發現有多個鍵被同時按下,則FIFO狀態字中的錯誤特征位S/E將置位。并產生中斷請求信號和阻止寫入FIFO RAM。 錯誤特征位S/E在讀出FIFO狀態字時被讀出。而在執行CF=1的清除命令時被復位。 8279的FIFO狀態字,主要用于鍵盤和選通工作方式,以指示FIFO RAM中的字符數和是否有錯誤發生,其字位意義如下: N Du: Du=1顯示無效 S/E: 傳感器信號結束/錯誤特征碼 O: O=1出現溢出錯誤 U: U=1出現不足錯誤 F: F=1表示FIFO RAM已滿 NNN: 為FIFO RAM中的字符數 對FIFO RAM的操作可能出現兩種錯誤:溢出和不足。當FIFO RAM已滿時,若其它的鍵盤數據企圖寫入FIFO RAM,則出現溢出錯誤,狀態字位“O”被置位。當FIFO RAM已被清空時,若CPU還企圖讀出,則將會出現“不足”的錯誤,狀態字位“U“被置位。 對于狀態字的S/E位,當8279工作在傳感器工作方式時,若S/E=1,表示傳感器的最后一個傳感信號一進入傳感器RAM。當8279工作在特殊錯誤方式時,若S/E=1,表示出現了多鍵同時下按的錯誤。 當顯示RAM由于“去年各處顯示“或”全清“命令尚未完成時,狀態字的最高位Du被置位。
3.3 DAC0832的基本介紹及其特點
3.3.1 DAC0832的基本介紹
DAC的引腳圖
圖(3)
DAC0832為20引腳,采用雙列直封裝,其引腳如圖(3)
DAC0832是NS公司生產的8位D/A轉換器,它采用先進的 CMOS 工藝,因而功耗低、生產漏電流誤差小,是目前微機控制系統常用的D/A芯片,可以直接與Z80、8085、8051等微處理器相連著數字技術,特別是計算機技術的飛速發展與普及,在現代控制、通信及檢測領域中,為提高系統的性能指標,對信號的處理無不廣泛地采用了數字計算機技術。由于系統的實際對象往往都是一些模擬量(如溫度、壓力、位移、圖像等),要使計算機或數字儀表能識別、處理這些信號,必須首先將這些模擬信號轉換成數字信號;而經計算機分析、處理后輸出的數字量也往往需要將其轉換為相應模擬信號才能為執行機構所接收。這樣,就需要一種能在模擬信號與數字信號之間起橋梁作用的電路 — 模數轉換器和數模轉換器。。
D/A轉換器(DAC)輸入的是數字量,經過轉換輸出的是模擬量。DAC的技術指標很多,如:分辨率,滿刻度誤差,線性度,絕對精度,相對精度,建立時間,輸入/輸出特性等。DAC的幾個主要技術性能指標:分辨率,建立時間和接口形式。DAC0832為8位D/A轉換器。單電源供電,范圍為+5V~+15V,基準電壓范圍為正負10伏。電流的建立時間為10us。CMOS工藝功耗20mw。輸入設有兩級緩沖鎖存器。DAC0832是電流輸出型D/A轉換器,要得到電壓信號,輸出端需接運算放大器進行轉換。根據數據輸入的過程,DAC0832有三種聯接方式:二級緩沖器聯接方式,單級緩沖器聯接方式和直通聯接方式。
3.3.2 DAC0832的引腳功能
DI0~~DI7:位數字輸入端,其中DI0為最低位( LSB ),DI7為最高位( MSB );
C S :片選信號輸入端(低電平有效),與 ILE 共同作用,對 WR1行控制;
ILE :輸入寄存器鎖存允許信號(高電平有效)。當 ILE = 1 且 = 0 , WR1= 0 時, 8 位輸入寄存器允許輸入數據;
WR1 :輸入寄存器寫信號(低電平有效)。只有當 ILE = 1 ,且CS= 0 ,WR1= 0 時,才能對8位輸入寄存器的數據進行更新; WR1= 1 時,8位輸入寄存器的數據被鎖定;
WR2 : DAC寄存器寫信號(低電平有效),與 XFER一道控制將輸入寄存器的數據寫入 DAC 寄存器。當 WR2= 0 和 XFER= 0 時,輸入寄存器中的數據傳送到 DAC 寄存器中;
Iout1 :DAC電流輸出1端。當輸入數字量全都為1時, Iout1為最大值;當輸入數字量全都為 0 時, Iout1為最小值(近似為 0 );
Iout1 :DAC電流輸出2端。Iout1+Iout2=常數。外接運放時,Iout1接運放的反相輸入端, Iout2接運放的同相輸入端或模擬地;
Rfb:反饋信號輸入端,為外部運放提供一個反饋電壓。Rfb可由芯片內部提供(可將此端直接接運放輸出端)或通過外部電阻再接輸出端;
Vref:基準電壓輸入端,要求是一精密電源,電壓范圍為- 10V ~ +10V ;
Vcc: :電源電壓,一般為 +5V ~ +15V ;
4 硬件系統設計方案
單片機波形發生器硬件由微機控制電路和功放電路兩部分組成,參見圖3和圖4微機控制電路由89C51,0832,8279,F032等芯片組成。CPU芯片選用89C51,內部含有4K的EPROM用來存儲程序和數據庫;8279用于支持鍵盤和LED顯示器,鍵盤用于控制各種波形的相互轉換以及調整波形的頻率,顯示器用來顯示當前的工作狀態和波形頻率大小。D/A轉換電路由DAC0832和兩個運算放大器F032組成,DAC0832有3種連接方式:第一種是兩極緩沖型,既輸入數據經過這兩極緩沖器后,送D/A轉換電路;第二種是單級緩沖型,輸入數據經輸入寄存器直接送入DAC寄存器,然后送D/A轉換電路;第三種是兩個緩沖直接相連,輸入數據直接送D/A轉換電路進行轉換。設計制作的波形發生器采用第三種方法,即直接連接方式,WR1,WR2,CS和XFER接地,ILE和Vcc接+5V電源,89C51的數據輸出線直接與DAC0832的數字輸入端相連。D/A轉換電路可采用單級性輸出,也可采用雙極輸出,該設計采用雙級性輸出,既經過兩個運算放大器F032后,輸出電壓Uout與輸入數字量的關系如表1所示。
單片機波形發生器硬件電路圖
圖(3)
8279鍵盤,顯示器接口電路框圖
圖(4)
有表1可知,當輸入數字量D=00H,輸入電壓Uout=-Vref;當D=80H時,Uout=Vref-1/128Vref.由此可見,波形的最大幅值由D/A的參考電壓Vref決定。
如需要用本波形發生器驅動大功率負載則必須外接功率放大器,功放電路可采用互補對稱功率放大器。
5 波形軟件系統程序設計
5.1波形軟件程序設計原理:
波形發生器的常見波形有方波(矩形波),三角波正弦波等,波形發生器的程序由系統主程序,波形子程序和調頻中斷子程序組成。系統主程序主要完成系統的原始參數設定,人機接口,波形選擇,系統安全等功能。波形子程序分為方波子程序,三角波子程序和正弦波子程序。波形子程序的功能主要包括:波形數字信號的函數生成,延時調解,循環周期和輸入等。調頻中斷子程序的功能是系統在中斷狀態下實現當前輸入波形的頻率調解。各程序流程圖5—圖9
程序對系統初始化之后則進入等待狀態,等待用戶選擇波形,然后調用相應的波形子程序,此時則在運算放大器的輸出端輸出相應的波形信號,同時在顯示器上顯示相應的波形標志和頻率。在波形發生期間,可以按頻率調整鍵(增大鍵和減小鍵),此時則執行中斷程序,若是“增大鍵”則減小延時時間,反之則增大延 時時間,若一直按此兩鍵之一不放,則頻率一直變化,直到不再按此兩鍵為止,并從中斷程序返回,繼續執行波形發生字程序;在一種波形的發生期內,可以直接選擇其他的波形鍵,此時則調用所選波形的子程序,對波形的調整同上所述。
5.2 波形軟件程序設計
波形軟件程序設計框圖如下圖(5)至圖(9):
6 功能擴展
依據上述硬件原理,如在89C51上外接三片D/A轉換芯片0832,則可同時產生3路波形輸出,對程序只需稍做修改,就可以使3路輸出產生相位差為120度的正弦波,即生產三相交流信號。輸出的三相交流既可取相電壓,也可取線電壓,并且其頻率可以調節;若外接功放,則輸出可以驅動大功率負載(如三相交流伺服電機),這時如要對三相交流電機調數速,則只需調整波形的頻率和功放輸出的電流(或電壓),即實現了三相交流電機的變頻調速,波形發生器也就起到了變頻起的作用。該單片機電路選用12MHZ晶振,故單片機機器周期為1us,綜合分析各種波形的具體情況和軟件結構,計算得出各種波形的可調制頻率范圍為:方波,三角波,正弦波100HZ到20HZ,為了方便快速調制出所需波形的頻率,可以在鍵盤設置一個頻率調整鍵,即100HZ,該鍵對所有的波形都開放,按一下鍵疲勞就加100HZ。
7 結束語
這次畢業設計的基本功能都能夠得到實現,在這個過程中我多次請教老師和同學,還查閱大量的資料。通過這次畢業設計使我大學四年所學知識大大地提高,通過這次的學習和實踐將我已學的知識成系統的得到復習和鞏固。使我在以前的學習中不夠清晰的概念得以清晰化,同時鍛煉和培養了我的動手能力,對自己以后的工作有極大的幫助。這段時間的學習,使我在模擬電路、數字電路和單片機方面的知識得以鞏固,并使我真正接觸到在系統工程開發的過程中所遇到的實際問題。但在實際的設計開發過程中我也接觸到了很多現實與理論知識之間的不同差距,這就需要我把以往的理論學習運用到實踐中去。這些經驗也使我在以后的學習和工作中能夠得到較快適應。同時我也發現自己在實際操作中的不足,這也是我亟需加強的方面。
8 參考文獻
1 王武江 陳樹海 常用集成電路速查手冊[M] 冶金工業出版社 2002年
2 陳明熒 89C51單片機課程設計實訓教程[M] 清華大學出版社 2001年
3 郁慧綈 微機系統及其接口技術[M] 南京東南大學出版社 1999年
4 王福瑞 單片機測控系統設計[J] 北京航空航天大學出版社 1996年
5 何立民 單片機高級教程[J] 北京航空航天出版社 2003年
6 李清泉等編著 集成運算放大器原理與應用[J] 科學出版社 1999年
7 楊剛,周群等 電子系統設計與實踐[J] 電子工業出版社 1996年
8 黃智偉 全國大學生電子設計競賽教程[M] 電子工業出版社 2005年9 謝自美 電子線路設計•實驗•測試[J] 華中科技大學出版社 2000年10 閻石 數字電子技術基礎[J] 高等教育出版社 1998年11 康華光 電子技術基礎[M] 高等教育出版社 1999年12 劉維恒 實用電子電路基礎[M] 電子工業出版社 2004年13 王新賢 通用集成電路速查手冊[M] 科學技術出版社 2002年
附件:
MAIN: CLR EA
MOV DPTR,#7FFH
MOV A,#0D1H
MOVX @DPTR,A
LP: MOVX A,@DPTR
JB ACC.7,LP
MOV A,#00H
MOVX @DPTR,A
MOV A,#2AH
MOV @DPTR,A
SETB IT1
SETB EA
SETB EX1
AA: MOV A,#0FFH
MOV P0,A
LACALL DEL
B0: MOV A,#00H
B1: MOV P0,A
LCALL DEL
AJMP AA
BB: MOV A,#00H
MOV P0,A
LCALL DEL
INC A
JNZ B1
B2: MOV P0,A
LCALL DEL
DEC A
JNZ B2
AJMP B0
CC: MOV B,#00H
C0: MOV P0,LCALL DEL
JNZ B,C0
AJMP CC
KEY1: PUSH PSW
PUSH DPH
PUSH A
MOV DPTR,#7FFFH
MOV A,#40H
MOVX @DPTR,A
MOV DPTR,#7FFEH
MOVX A,@DPTR
MOV 30H,A
POP A
POP DPL
POP DPH
POP PSW
RET1
DIR: MOV DPTR,#7FFFH
MOV A,#90H
MOV @DPTR,A
MOV R0,#70H
MOV R7,#08H
MOV DPTR,#7FFEH
LOOP: MOV A,@R0
ADD A,#05H
MOVC A,@A+PC
MOVX @DPTR,A
INC R0
DJNZ R7,LOOP
RET
TAB1: DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 38H,06H,52H,4FH,66H,6DH
DB 7DH,07H,72H,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 3FH,06H,51H,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,52H,79H,71H
DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,03H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 3FH,01H,5BH,4FH,66H,6DH
DB 7DH,02H,7FH,6FH,77H,7CH
DB 39H,53H,79H,71H
TAB2: DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 38H,06H,52H,4FH,66H,6DH
DB 7DH,07H,72H,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 3FH,06H,51H,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,52H,79H,71H
DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,03H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 3FH,01H,5BH,4FH,66H,6DH
DB 7DH,02H,7FH,6FH,77H,7CH
DB 39H,53H,79H,71H
TAB3: DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 38H,06H,52H,4FH,66H,6DH
DB 7DH,07H,72H,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 3FH,06H,51H,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,52H,79H,71H
DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,03H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 3FH,01H,5BH,4FH,66H,6DH
DB 7DH,02H,7FH,6FH,77H,7CH
DB 39H,53H,79H,71H
DEL: MOV R7,#200
DEL1: MOV R6,#125
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1
RET
END
【基于單片機技術的波形發生器采用單片機設計(一)】相關文章:
小型熱水鍋爐單片機溫度控制系統(一)08-10
基于分組技術的下一代光傳送網05-29
證據的采用標準07-06
基于軍網的雷達遠程診斷技術研究08-10
基于勝任力的企業個體績效管理流程設計06-03
基于CS管理的房地產企業開發設計06-04
基于PLC的斷路器型式試驗系統設計03-10
基于web的異地并行設計與制造系統研究06-02
基于電話網絡的熱網遠程控制系統設計05-11
基于工業機器人的自動化生產技術研究論文04-14