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

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

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

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

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

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

注意事項

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

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




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

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

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


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