九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

基于單片機(jī)的函數(shù)發(fā)生器.doc

  • 資源ID:116501702       資源大?。?span id="24d9guoke414" class="font-tahoma">1.89MB        全文頁數(shù):34頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

基于單片機(jī)的函數(shù)發(fā)生器.doc

目 錄第1章 方案論證與比較 1.1、方案一、采用單片函數(shù)發(fā)生器 1.2、方案二、采用鎖相式頻率合成器 1.3、方案三、采用單片機(jī)控制動態(tài)生成程序 第2章 系統(tǒng)設(shè)計方案 2.1、信號源系統(tǒng)框圖 第3章 硬件系統(tǒng)設(shè)計 3.1、動態(tài)編程 3.2、正弦波各點(diǎn)計算 第4章 軟件系統(tǒng)設(shè)計 4.1、信號源系統(tǒng)原理圖 4.2、軟件功能 4.3、系統(tǒng)軟件流程圖 4.3.1、ZLG7289BP流程圖 4.3.2、信號源系統(tǒng)總流程圖 第5章 調(diào) 試 5.1、硬件調(diào)試 5.2、軟件調(diào)試 5.3、軟硬聯(lián)調(diào) 第6章 芯片介紹 6、LG7289BP串行接口LED數(shù)碼管和鍵盤管理器件 6.1、ZLG7289BP特點(diǎn) 6.2、 引腳說明 6.3、 控制指令 6.3.1、純指令 6.3.2、 帶有數(shù)據(jù)的指令 6.3.3、 SPI串行接口 第7章 系統(tǒng)結(jié)論 第8章 系統(tǒng)測試 8.1、測試儀器 第9章 參考文獻(xiàn) 第10章 信號源源程序清單 第11章 畢業(yè)設(shè)計總結(jié) 實(shí)用信號源的設(shè)計與研制摘 要本系統(tǒng)由單片機(jī)控制模塊、鍵盤、LED顯示、D/A轉(zhuǎn)換器、放大電路等組成。采用了查表的方法來實(shí)現(xiàn)正弦波和脈沖波。該系統(tǒng)頻率范圍寬、步進(jìn)小、非線性失真小、幅度和頻率的精度高。關(guān)鍵詞:單片機(jī)模塊,ZLG7289BP,動態(tài)編程技術(shù)AbstractThis system is controlled module , keyboard , LED showing , D/A converter , enlarging the circuit ,etc. to make up by the one-chip computer. Realize the wave form of sinusoidal wave and square wave by checking the form. This system frequency range is wide, the precision of walking into small , non-linear and distorted and small , range and frequency is high. Keyword: One-chip computer module , ZLG7289BP, dynamic programming technology前 言中國電子測量儀器,隨著世界高科技發(fā)展的潮流,走進(jìn)了高科發(fā)展的道路,為我國國民經(jīng)濟(jì)、科學(xué)教育、特別是國防軍事的發(fā)展作出了巨大貢獻(xiàn)。我國電子測量儀器在若干重大垂頭喪氣領(lǐng)域取得了突破性進(jìn)展,為我國電子測量儀器走向世界水平奠定了良好的基礎(chǔ)。作為基礎(chǔ)測量儀器的信號發(fā)生器隨著用戶的需求而不斷發(fā)展。信號源實(shí)質(zhì)上就是一個掃頻示波器或合成信號源,并具有基本的調(diào)制功能?,F(xiàn)在是數(shù)字化時代,研發(fā)或其他人員對測量儀器是最基本的工具,測量儀技術(shù)指標(biāo)上也不斷提高。如精度高、工作頻帶寬、誤差小等。能夠滿足不同層次用戶的測試要求。近幾年,數(shù)字化儀器在迅速發(fā)展,我國也在不斷研究推出各種新型數(shù)字化儀器。 基本要求()正弦波信號源: 信號頻率:20HZ20KHZ步進(jìn)調(diào)整,步長為5HZ。 頻率穩(wěn)定度:優(yōu)于104。 非線性失真系數(shù):3%。()脈沖波信號源: 信號頻率:20HZ20KHZ步進(jìn)調(diào)整,步長為5HZ。 上升時間和下降時間:1US。 平頂斜降:5%。 脈沖占空比:2%98%步進(jìn)可調(diào),步長為2%。()上述兩個信號源公共要求:頻率可預(yù)置。負(fù)載為600時,輸出幅度為3V。 完成5位頻率的數(shù)字顯示一、 方案論證與比較1.1、方案一、采用單片函數(shù)發(fā)生器8038,可同時產(chǎn)生正弦波、脈沖波,方法簡單易行,用D/A轉(zhuǎn)換器的輸出來改變調(diào)制電壓,也可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但步長難以滿足要求,且頻率穩(wěn)定度不太高。1.2、方案二、采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜,不適于產(chǎn)生低頻信號。1.3、方案三、采用單片機(jī)控制動態(tài)生成程序。該方法引入動態(tài)編程技術(shù),使用AT89S51便可產(chǎn)生20KHZ的波形,單片機(jī)可以達(dá)到指標(biāo)要求。同時采用查表的方法來實(shí)現(xiàn)比較簡單。在硬件電路相比簡單、成本比較低、軟件易于控制。1.4、結(jié)論: 經(jīng)比較,上述三種方案,采用方案三不僅可以達(dá)到設(shè)計的要求,而且使整個系統(tǒng)控制簡單,故采用方案三。二、系統(tǒng)設(shè)計方案本系統(tǒng)由單片機(jī)控制模塊、D/A轉(zhuǎn)換器、ZLG7289BP控制模塊以及放大電路等組成。采用了查表的方法來實(shí)現(xiàn)。正弦波將一個周期按360等分成若干點(diǎn),計算出各點(diǎn)的正弦函數(shù)值并轉(zhuǎn)化成相應(yīng)的D/A轉(zhuǎn)換器輸入數(shù)值,然后按一定的比例取各點(diǎn),得到一個精確的正弦函數(shù)。由于一個周期正弦波的點(diǎn)數(shù)是固定來改變定時器的定時時間就可以改變相鄰兩點(diǎn)的時間間隔,從而改變正弦波的頻率。脈沖波只要交替地將最大值和最小值輸出給D/A轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換即可,利用定時器的延時從而改變它的頻率和占空比等。2.1、信號源系統(tǒng)框圖D/A0832AT89S51放大電路 輸出顯示ZLG7289BP鍵盤三、硬件系統(tǒng)設(shè)計3.1、動態(tài)編程為了提高數(shù)據(jù)的傳輸速率,波形生成程序中應(yīng)沒有計算、判轉(zhuǎn)等指令,而只有送正弦波數(shù)據(jù)的指令。這樣就可輸出一個精確的正弦波數(shù)據(jù),要產(chǎn)生20KHZ的正弦波就不困難了。但這樣波形生成程序隨所需信號頻率而異,不能能預(yù)先固化于程序存儲器ROM中,因此采用了動態(tài)編程技術(shù),由由單片機(jī)根據(jù)輸出頻率的需要,現(xiàn)場生成這一動態(tài)變化的程序。具體方法為:將數(shù)據(jù)存儲器RAM映射到程序存儲器空間,動態(tài)編程時用寫入RAM寫入波形生成程序的指令代碼,然后跳轉(zhuǎn)到該程序段,反復(fù)執(zhí)行這段程序完成產(chǎn)生波形的功能。波形輸出電路主要由8位D/A0832轉(zhuǎn)換器和兩個單運(yùn)算放大器組成波形的輸出部分,它采用了雙極輸出方式,這樣給D/A0832輸入不同的數(shù)碼,不難分析其輸出電壓范圍為VrefVref如下圖:輸入數(shù)字量與輸出電壓的關(guān)系輸 入 碼模擬輸出電壓MSB LSB11111111+(127/128)Vref10000000+(1/128)Vref10000000001111111-(1/128)Vref00000001-(127/128)Vref00000000-(128/128)Vref3.2、正弦波各點(diǎn)計算正弦波相移的分辨率與步距有關(guān),如果一個正弦周期內(nèi)分為256個步距,則相移分辨率為360/256=1.4相移量的數(shù)字偏移量DI按下列計算: DI=256*/360 R6= R7=2 R5,輸出電壓VOUT與基準(zhǔn)電壓Vref及第一級運(yùn)放輸出電壓VA的關(guān)系是:VOUT=-(2VA+Vref)四、軟件系統(tǒng)設(shè)計4.1、信號源系統(tǒng)原理圖4.2、軟件功能 12個按鍵分別定義為數(shù)字鍵09和功能鍵正弦波和脈沖波。 為使系統(tǒng)能夠穩(wěn)定可靠的工作,對系統(tǒng)軟件進(jìn)行了軟件抗干擾處理。軟件冗余、設(shè)置軟件陷井等軟件抗干擾方法。4.3、系統(tǒng)軟件流程圖4.3.1 ZLG7289BP流程圖設(shè)置P3為準(zhǔn)雙向口復(fù)位ZLG7289BP后ZLG7289BP送入顯示初值N有鍵按下是否?Y讀出鍵值ZLG7289BP寫入該鍵功能輸出到數(shù)碼管顯示 4.3.2、信號源系統(tǒng)總流程圖開 始系統(tǒng)初始化查表輸出正弦波N等待按鍵按下Y鍵盤掃描查特征鍵號Y散 轉(zhuǎn)預(yù)置頻率處理預(yù)置幅值處理波形選擇處理脈沖波輸出處理正弦波輸出處理NN等待按鍵按下等待按鍵按下YY五、調(diào) 試根據(jù)方案設(shè)計的要求,共分三大部分:硬件調(diào)試、軟件調(diào)試和軟硬件聯(lián)調(diào)。5.1、硬件調(diào)試(1)在調(diào)試ZLG7289BP構(gòu)成了鍵盤和顯示模塊,當(dāng)按下鍵盤時,ZLG7289BP的/KEY引腳上一直出現(xiàn)了高電平,按下時無反應(yīng)。然后仔細(xì)地查找錯誤。在/KEY引腳上接了一個上拉電阻把它拉成高電平,結(jié)果還是沒有反應(yīng)。ZLG7289BP的/CS是低電平芯片一直處于選通狀態(tài),也必須在/CS引腳上接一個上拉電阻,這樣就可以正常工作。(2) 特別要注意的是:復(fù)位信號與單片機(jī)的復(fù)位信號是相反的,需外接晶振電路等。(3)電路連接引線盡量短,減少交叉,每個芯片的電源與地之間都接去耦電容,數(shù)字地與模擬地分開。5.2、軟件調(diào)試用偉福仿真器調(diào)試,采用了自下到上的調(diào)試方法,即單獨(dú)調(diào)試好每一個模塊,然后再連接成一個完整的系統(tǒng)調(diào)試,達(dá)到指定的目標(biāo)。5.3、軟硬聯(lián)調(diào)該系統(tǒng)的軟件和硬件之間的聯(lián)系在一些細(xì)節(jié)上的問題,加以修改。根據(jù)設(shè)計的要求來完成。六、芯片介紹6、LG7289BP串行接口LED數(shù)碼管和鍵盤管理器件ZLG7289BP,具有SPI串行接口功能可同時驅(qū)動8位共陰式數(shù)碼管(或64只獨(dú)立LED)的智能顯示驅(qū)動芯片,該芯片同時還可連接多達(dá)64鍵的鍵盤矩陣,單片即可完成LED顯示,鍵盤接口的全部功能。ZLG7289BP內(nèi)部含有譯碼器,可直接接受BCD或16進(jìn)制碼,并同時具有2種譯碼方式,此外,還具有控制指令,如消隱、閃爍、左移、右移、段尋址等。6.1、ZLG7289BP特點(diǎn): 串行接口,無需外圍元件可直接驅(qū)動LED各位獨(dú)立控制譯碼/不譯碼及消隱和閃爍屬性(循環(huán))左移/(循環(huán))右移指令具有段尋址指令,方便控制獨(dú)立LED 64鍵鍵盤控制器,內(nèi)含去抖動電路6.2、 引腳說明:引腳名稱說明1,2VCC正電源3,5NC懸空4Vss接地6/CS片選輸入端,此引腳為低電平時,可向芯片發(fā)送指令及讀取鍵盤數(shù)據(jù)7CLK同步時鐘輸入端,向芯片發(fā)關(guān)數(shù)據(jù)及讀取鍵盤數(shù)據(jù)時,此引腳電平上升沿表示數(shù)據(jù)有效8DATA串行數(shù)據(jù)輸入/輸出端,當(dāng)芯片接收指令時,此引腳為輸入端;當(dāng)讀取鍵盤數(shù)據(jù)時,此引腳在讀指令最后一個時鐘的下降沿變?yōu)檩敵龆?/KEY按鍵有效輸出端,平時為高電平,當(dāng)檢測到有效按鍵時,此引腳變?yōu)榈碗娖?0-16SG-SA段G-段A驅(qū)動輸出17DP小數(shù)點(diǎn)驅(qū)動輸出18-25DIG0-DIG7數(shù)字0-數(shù)字7驅(qū)動輸出26OS2振蕩器輸出端27OS1振蕩器輸入端28/RESET復(fù)位端6.3、控制指令ZLG7289BP的控制指令分為二大類純指令和帶有數(shù)據(jù)的指令。6.3.1、純指令(1)、復(fù)位(清除)指令D7D6D5D4D3D2D1D010100100當(dāng)ZLG7289BP收到該指令后,將所有的顯示清除,所有設(shè)置的字符消隱、閃爍等屬性也被一起清除。執(zhí)行該指令后,芯片所處的狀態(tài)與系統(tǒng)上電后所處的狀態(tài)一樣。(2)、測試指令D7D6D5D4D3D2D1D010110111該指令使所有的LED全部點(diǎn)亮,并處于閃爍狀態(tài),主要用于測試。(3)、循環(huán)左移指令D7D6D5D4D3D2D1D010100011與左移指令類似,不同之處在于移動后原最左邊一位(第8位)的內(nèi)容顯示于最右位(第1位)。(4)、循環(huán)右移指令D7D6D5D4D3D2D1D010100010與循環(huán)左移指令類似,但移動方向相反。6.3.2、 帶有數(shù)據(jù)的指令(1)、下載數(shù)據(jù)且按方式0譯碼D7D6D5D4D3D2D1D010000A2A1A0D7D6D5D4D3D2D1D0DPXXXD3D2D1D0X=無影響命令由二個字節(jié)組成,前半部分為指令,其中A2,A1,A0為位地址。 A2A1A0顯示位00010012010301141005101611071118 D0-D3D3D2D1D07段顯示7段顯示00H00000001H00011102H00102203H00113304H01004405H01015506H01106607H01117708H10008809H1001990AH1010-A0BH1011EB0CH1100HC0DH1101LD0EH1110PE0FH1111空F小數(shù)點(diǎn)的顯示由DP位控制,DP=1時,小數(shù)點(diǎn)顯示,DP=0時小數(shù)點(diǎn)不顯示。(2)、下載數(shù)據(jù)且按方式1譯碼D7D6D5D4D3D2D1D010000A2A1A0D7D6D5D4D3D2D1D0DPXXXD3D2D1D0X=無影響此指令與上一條指令基本相同,所不同的是譯碼方式,譯碼是0F。(3)、消隱控制D7D6D5D4D3D2D1D010011000D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0此命令控制各個數(shù)碼管的消隱屬性。D1-D8分別對應(yīng)數(shù)碼18,1=顯示,0=消隱。當(dāng)某一位被賦予了消隱屬性后,ZLG7289BP在掃描時將跳過該位,因此在這種情況下無論對該位寫入何值,均不會顯示,但寫入的值將被保留,在將該位重新設(shè)為顯示狀態(tài)后,最后一次寫入的數(shù)據(jù)將被顯示出來。當(dāng)無需用到全部8個數(shù)碼管顯示的時候,將不用的位設(shè)為消隱屬性,可以提高顯示的亮度。注意:至少應(yīng)有一位保持顯示狀態(tài),如果消隱控制指令中D1-D8全部為0,該指令將不被接受,ZLG7289BP保持原來的消隱狀態(tài)不變。(4)、讀鍵盤數(shù)據(jù)指令D7D6D5D4D3D2D1D000010101D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0該指令從ZLG7289BP讀出當(dāng)前的按鍵代碼。與其它指令不同,此命令的前一個字節(jié)00010101B為單片機(jī)傳送到ZLG7289BP的指令,而后一個字節(jié)D0-D7則為ZLG7289BP返回的按鍵代碼,其范圍為00H3FH(無鍵按下時為FFH)。此指令的前半段,ZLG7289BP的DATA引腳處于高阻輸入狀態(tài),以接受來自微處理器的指令;在指令的后半段,DATA引腳從輸入狀態(tài)轉(zhuǎn)為輸出狀態(tài),輸出鍵盤代碼的值。故微處理器連接到DATA引腳的I/O口應(yīng)有一從輸出態(tài)到輸入態(tài)的轉(zhuǎn)換過程。當(dāng)ZLG7289BP檢測到有效的按鍵時,/KEY引腳從高電平變?yōu)榈碗娖?,并一直保持到按鍵結(jié)束。在此期間,如果ZLG7289BP接收到讀鍵盤數(shù)據(jù)指令,則輸出當(dāng)前按鍵的鍵盤代碼;如果在收到讀鍵盤指令時沒有有效按鍵,ZLG7289BP將輸出FFH。6.3.3、SPI串行接口ZLG7289BP采用串行方式與微處理器通訊,串行數(shù)據(jù)從DATA引腳送入芯片,并由CLK端同步。當(dāng)片選信號變?yōu)榈碗娖胶?,DATA引腳上的數(shù)據(jù)在CLK引腳的上升沿被寫入ZLG7289BP的緩沖寄存器。ZLG7289BP的指令結(jié)構(gòu)有三種類型:1.不帶數(shù)據(jù)的純指令,指令的寬度為8個BIT,即幾種微處理器需發(fā)送8個CLK脈沖。2.帶有數(shù)據(jù)的指令,寬度為了16個BIT,即微處理器需發(fā)展16上CLK脈沖。3.讀取鍵盤數(shù)據(jù)指令,寬度為16個BIT,前8個為微處理器發(fā)送到ZLG7289BP的指令,后8個BIT為ZLG7289BP返回的鍵盤代碼。執(zhí)行此指令時,ZLG7289BP的DATA端在第9個CLK脈沖的上升沿變?yōu)檩敵鰻顟B(tài),并與第16個脈沖的下降沿恢復(fù)為輸入狀態(tài),等待接收下一個指令。串行接口的時序如下圖:1. 純指令/CS CLK DATA2. 帶數(shù)據(jù)指令/CSCLKDATA 8位指令(高位在前) 8位數(shù)據(jù)(高位在前)3. 讀鍵盤指令/CSCLKDATA 讀鍵盤指令(8位,高們在前) ZLG7289BP輸出的鍵盤代碼(8位,高位在前)七、系統(tǒng)結(jié)論本系統(tǒng)基本達(dá)到題目的要求。沒有很好的解決輸出波形的失真問題,使系統(tǒng)輸出頻率范圍和精度上要進(jìn)一步提高。八、系統(tǒng)測試8.1、測試儀器: 偉福仿真器 H51/S數(shù)字萬用表 UT33D雙蹤示波器 CALTEK穩(wěn)壓電源 HG6333九、參考文獻(xiàn)電子系統(tǒng)設(shè)計 主編:何小艇 浙江大學(xué)出版社全國大學(xué)生電子設(shè)計競賽 主編:王越 北京理工大學(xué)出版社單片機(jī)應(yīng)用系統(tǒng)設(shè)計 主編:何立民 北京航空航天大學(xué)出版社單片機(jī)控制工程實(shí)踐技術(shù) 主編:付家才 化學(xué)工業(yè)出版社十、信號源源程序清單 BH EQU 74H ;定時器TH0初值 BL EQU 75H ;定時器TL0初值 NR EQU 73H ;組成一個周期波形的點(diǎn)的個數(shù),64/32/16 CS BIT P3.0 ;ZLG7289片選信號 CLK BIT P3.1 ;ZLG7289時鐘信號 DIO BIT P3.2 ;ZLG7289串行數(shù)據(jù)輸入/輸出信號 KEY BIT P3.3 ;ZLG7289按鍵信號 ERROR BIT 08H ;計算周期的標(biāo)志位 KEYWAN BIT 00H ;完成一次波形輸入的標(biāo)志位 XIANHUAN EQU 70H ;存放輸入鍵值連續(xù)三個單元 BEI2 EQU 07H ;存放1US連續(xù)三個單元,T=1/F BEI1 EQU 06H BEI0 EQU 05H CHU2 EQU 04H ;存放預(yù)置頻率連續(xù)三個單元 CHU1 EQU 03H CHU0 EQU 02H SHUANG2 EQU 7AH ;R7R6R5除以R4R3R2 SHUANG1 EQU 7BH ;結(jié)果在7AH7BH7CH SHUANG0 EQU 7CH ;* ORG 0000H LJMP MAIN ORG 0013H LJMP INT_INT1 ORG 0030H;*MAIN: MOV IE,#84H ;允許INT1中斷 MOV TCON,#01H ;邊沿觸發(fā) MOV NR,#64 ;循環(huán)個數(shù) MOV R7,#00H MOV R0,#30H ;從30H開始存放AA: MOV DPTR,#ZTABAL64 ;指向正弦波表首地址 MOV A,R7 MOVC A,A+DPTR ;查表取對應(yīng)的正弦波值 MOV R0,A ;暫存 INC R7 INC R0 ;地址加1 CJNE R7,#65,AA ;64個點(diǎn)輸出完沒有? MOV BH,#0FFH ;定時25US MOV BL,#0E7H LJMP OUTAA ;輸出64個點(diǎn)的波形 NOP NOP SJMP $;*;處理子程式;*SUANG: CLR ERROR MOV A,73H ;合并數(shù)據(jù) SWAP A ;高低位數(shù)據(jù)交換 ORL 74H,A MOV A,71H SWAP A ORL 72H,A MOV 71H,72H MOV 72H,74H MOV R1,70H臺 ;合并后數(shù)據(jù)在70H 71H 72H MOV R2,71H MOV R3,72H CJNE R1,#00H,SHANGXIAN CJNE R2,#00H,SHANGXIAN CJNE R3,#00H,SHANGXIAN AJMP ERRSHANGXIAN:MOV A,#01H CJNE A,70H,LOOPPDLOOPPD: JC ERR;CY位為1時轉(zhuǎn)ERR MOV A,70H CJNE A,#01H,NOERR MOV A,#60H CJNE A,71H,LOOPD1LOOPD1: JC ERR;CY位為1時轉(zhuǎn)ERR MOV A,71H CJNE A,#60H,NOERR MOV A,#00H CJNE A,72H,LOOPD2LOOPD2: JC ERR ;CY位為1時轉(zhuǎn)ERR SJMP NOERRERR: SETB ERROR ;置計算周期標(biāo)志位=1 AJMP ERROUT ;退出計算周期;*;雙字節(jié)BCD碼轉(zhuǎn)換成雙字節(jié)十六進(jìn)制;*NOERR: MOV A,R3 LCALL BCDH ;將十進(jìn)制轉(zhuǎn)換成十六進(jìn)制 MOV R3,A MOV A,R2 ;將高字節(jié)轉(zhuǎn)換成十六進(jìn)制 LCALL BCDH ;將十進(jìn)制轉(zhuǎn)換成十六進(jìn)制 MOV B,#100 ;擴(kuò)大100倍 MUL AB ADD A,R3 MOV R3,A CLR A ADDC A,B MOV R2,A MOV A,R1 LCALL BCDH ;將十進(jìn)制轉(zhuǎn)換成十六進(jìn)制 MOV B,#100 ;擴(kuò)大100倍 MUL AB MOV R4,B MOV B,#100 ;擴(kuò)大100倍 MUL AB MOV R5,B MOV R6,A MOV A,R4 MOV B,#100 ;擴(kuò)大100倍 MUL AB ADD A, R5 MOV R5,A CLR A ADDC A,B MOV B,A CLR C MOV A,R6 ADD A,R3 MOV R3,A MOV A,R5 ADDC A,R2 MOV R2,A CLR A ADDC A,B MOV 70H,A ;點(diǎn)的個數(shù)在70H MOV 71H,R2 ;點(diǎn)的個數(shù)在70H MOV 73H,R3 ;點(diǎn)的個數(shù)在70H SJMP PD;*BCDH: MOV B,#10H ;分離十位和個位 DIV AB MOV R4,B ;暫存?zhèn)€位 MOV B,#10 ;將十位轉(zhuǎn)換成十六進(jìn)制 MUL AB ADD A,R4 ;按十六進(jìn)制加上個位 RET;*;判斷出點(diǎn)數(shù);*PD: MOV A,71H CJNE A,#18H,NEXTNEXT: JNC H71DA1;CY位=0時轉(zhuǎn)A71DA1 CLR C CJNE A,#0CH,NEXT1NEXT1: JNC H71DA2 ;CY位=0時轉(zhuǎn)A71DA2 CLR C CJNE A,#06H,NEXT2NEXT2: JNC H71DA3 ;CY位=0時轉(zhuǎn)A71DA3 CLR C MOV 73H,#64 ;64點(diǎn) SJMP ZHOUQI ;轉(zhuǎn)到計算周期DIAN12: MOV 73H,#12 SJMP ZHOUQI;*H71DA1: CLR C SUBB A,#18H JNZ H72DA12 MOV A,72H CJNE A,#6AH,NEXT3NEXT3: JNC H72DA12 CLR C MOV 73H,#16 ;16點(diǎn) SJMP ZHOUQI ;轉(zhuǎn)到計算周期H71DA2: CLR C SUBB A,#0CH JNZ H72DA16 MOV A,72H CJNE A,#35H,NEXT4NEXT4: JNC H72DA16 CLR C MOV 73H,#32 ;32點(diǎn) SJMP ZHOUQI ;轉(zhuǎn)到計算周期H71DA3: CLR C SUBB A,#06H JNZ H72DA32 MOV A,72H CJNE A,#1AH,NEXT5NEXT5: JNC H72DA32 CLR C MOV 73H,#64 ;64點(diǎn) SJMP ZHOUQI ;轉(zhuǎn)到計算周期;*H72DA12: MOV 73H,#12 ;12點(diǎn) SJMP ZHOUQI ;轉(zhuǎn)到計算周期H72DA16: MOV 73H,#16 ;16點(diǎn) SJMP ZHOUQI ;轉(zhuǎn)到計算周期H72DA32: MOV 73H,#32 ;32點(diǎn);*;計算周期;*ZHOUQI: MOV BEI2,#0FH ;用1,000,000除頻率T=1/F MOV BEI1,#42H MOV BEI0,#40H MOV CHU2,70H MOV CHU1,71H MOV CHU0,72H LCALL CHUFA ;調(diào)用除法子程序 MOV BEI2,SHUANG2 ;計算出一個點(diǎn)要用的時間 MOV BEI1,SHUANG1 MOV BEI0,SHUANG0 MOV CHU2,#00H MOV CHU1,#00H MOV CHU0,73H LCALL CHUFA ;調(diào)用除法子程序 CLR C MOV A,#0FFH ;計算出TH0放在74H SUBB A,SHUANG1 MOV 74H,A MOV A,#0FFH SUBB A,SHUANG0 MOV 75H,A ;計算出TL0放在75H NOPERROUT: RET ;計算完后返回;*;除法子程序;*CHUFA: MOV 7AH,#00H MOV 7BH,#00H MOV 7CH,#00HMA: CLR C MOV A,CHU2 CJNE A,BEI2,PDDX2 SJMP BC1 PDDX2: JC ZJF ;是否等于,是繼續(xù)BC1: MOV A,CHU1 CJNE A,BEI1,PDDX1 SJMP BC0PDDX1: JC ZJF ;CY位=1時轉(zhuǎn)ZJFBC0: MOV A,CHU0 CJNE A,BEI0,PDDX0 AJMP ZCHUPDDX0: JC ZJF ;CY位=1時轉(zhuǎn)ZJF LJMP OUT ;退出;*ZJF: MOV A,BEI0 CJNE A,CHU0,PDD0PDD0: JC CHU0DA ;CY位=1時轉(zhuǎn)CHU0DA SUBB A,CHU0 MOV BEI0,A SJMP XIA1CHU0DA:MOV A,BEI2 CJNE A,#00H,JIAN MOV A,BEI1 CJNE A,#00H,JIAN AJMP OUT ;退出JIAN: MOV A,BEI1 JNZ ZJY ;A0時轉(zhuǎn)ZJY MOV A,BEI2 JNZ ZJYY LJMP OUT ;退出ZJYY: DEC BEI2ZJY: DEC BEI1 MOV A,#0FFH CLR C SUBB A,CHU0 INC A ADD A,BEI0 MOV BEI0,AXIA1: MOV A,BEI1 CJNE A,CHU1,PDD1PDD1: JC CHU1DA ;CY位=1時轉(zhuǎn)CHU1DA SUBB A,CHU1 MOV BEI1,A SJMP XIA0CHU1DA:MOV A,BEI2 CJNE A,#00H,JIAN1 AJMP OUT ;退出JIAN1: DEC BEI2 MOV A,#0FFH CLR C SUBB A,CHU1 INC A ADD A,BEI1 MOV BEI1,AXIA0: MOV A,BEI2 CJNE A,CHU2,PDD2PDD2: JC CHU2DA ;CY位=1時轉(zhuǎn)CHU2DA SUBB A,CHU2 MOV BEI2,A SJMP SHUANGCHU2DA: SETB ERROR RET;*SHUANG:MOV A,SHUANG0 CJNE A,#0FFH,L MOV SHUANG0,#00H MOV A,SHUANG1 CJNE A,#0FFH,LL MOV SHUANG1,#00H INC SHUANG2 LJMP MA ;轉(zhuǎn)到MA重新開始計算L: INC SHUANG0 LJMP MALL: INC SHUANG1 LJMP MA ;轉(zhuǎn)到MA重新開始計算ZCHU: MOV A,SHUANG0 CJNE A,#0FFH,LLL MOV SHUANG0,#00H MOV A,SHUANG1 CJNE A,#0FFH,LLLL MOV SHUANG1,#00H INC SHUANG2 LJMP OUT ;退出LLL: INC SHUANG0 LJMP OUTLLLL: INC SHUANG1OUT: RET;*;鍵盤中斷程式;*INT_INT1: CLR KEYWAN ;置KEYWAN=0 MOV IE,#00H ;關(guān)中斷 MOV XIANHUAN,#00H MOV XIANHUAN+1,#00H MOV XIANHUAN+2,#00H MOV XIANHUAN+3,#00H MOV XIANHUAN+4,#00H

注意事項

本文(基于單片機(jī)的函數(shù)發(fā)生器.doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!