摘要:介紹了由PIC16F876控制的步進電機細分驅動電路的設計,該電路主要包括單片機控制電路、斬波電路、功率驅動電路及溫度報警與限流電路等。給出了細分驅動電路的設計原理及其實現的方法,提出細分按照線性加正弦規律的方法輸出階梯電壓,經脈寬調制(PWM)輸出各相驅動信號,實現細分驅動信號波形。應用于天文望遠鏡的90BF003步進電機驅動,性能良好。關鍵詞:步進電機;單片機;細分電路
上傳時間: 2013-10-31
上傳用戶:13691535575
摘 要:本文以日本東芝公司的線陣CCD器件TCD1206SUP為例,在研究了線陣CCD器件工作原理和驅動電路波形的基礎上,介紹了采用圖形式層次設計方法,用復雜可編程邏輯器件(CPLD)設計線陣CCD驅動脈沖的實現方法。用一片EPM7064設計出TCD1206SUP正常工作所需的驅動波形,減小了驅動器的體積。討論了電路的工作原理和設計特點,同時給出了電路原理圖和CPLD電路的時序仿真波形。關鍵詞:電荷耦合器件;復雜可編程邏輯器件;線陣CCD;驅動時序;驅動電路
上傳時間: 2013-11-04
上傳用戶:75119158
本實驗是基于EasyFPGA030的波形發生器設計,用EasyFPGA030開發套件實現頻率可以受按鍵控制調節的,矩形波和三角波發生器。
上傳時間: 2013-10-30
上傳用戶:helmos
在電子工程設計與測試中,常常需要一些復雜的、具有特殊要求的信號,要求其波形可任意產生,頻率方便可調。通常的信號產生器難以滿足要求,市場上出售的任意信號產生器價格昂貴。結合實際需要,我們設計了一種任意波形發生器。電路設計中充分利用MATLAB的仿真功能,將希望得到的波形信號在MATLAB中完成信號的產生、抽樣和模數轉換,并將得到的數字波形數據存放在數據存儲器中,通過單片機和CPLD控制,將波形數據讀出,送入后向通道進行A/D轉換和放大處理后得到所需的模擬信號波形。利用上述方法設計的任意波形發生器,信號產生靈活方便、功能擴展靈活、信號參數可調,實現了硬件電路的軟件化設計。具有電路結構簡單、實用性強、成本低廉等優點。
上傳時間: 2013-11-21
上傳用戶:cccole0605
本實驗是基于EasyFPGA030的波形發生器設計,用EasyFPGA030開發套件實現頻率可以受按鍵控制調節的,矩形波和三角波發生器。 本設計通過DAC0832和LM358來實現數模轉換,8位的變化的數字編碼代表不同的電流值,經過DAC0832后輸出兩電流之和為常數的Io1、Io2,再輸入運放兩端比較放大后得到三角波。方波則直接由A3P030輸出,并用實驗板上的LED1顯示頻率的變化。
標簽: 波形發生器
上傳時間: 2013-12-26
上傳用戶:文993
EZ-USB FX系列單片機USB外圍設備設計與應用:PART 1 USB的基本概念第1章 USB的基本特性1.1 USB簡介21.2 USB的發展歷程31.2.1 USB 1.131.2.2 USB 2.041.2.3 USB與IEEE 1394的比較41.3 USB基本架構與總線架構61.4 USB的總線結構81.5 USB數據流的模式與管線的概念91.6 USB硬件規范101.6.1 USB的硬件特性111.6.2 USB接口的電氣特性121.6.3USB的電源管理141.7 USB的編碼方式141.8 結論161.9 問題與討論16第2章 USB通信協議2.1 USB通信協議172.2 USB封包中的數據域類型182.2.1 數據域位的格式182.3 封包格式192.4 USB傳輸的類型232.4.1 控制傳輸242.4.2 中斷傳輸292.4.3 批量傳輸292.4.4 等時傳輸292.5 USB數據交換格式302.6 USB描述符342.7 USB設備請求422.8 USB設備群組442.9 結論462.10 問題與討論46第3章 設備列舉3.1注冊表編輯器473.2設備列舉的步驟493.3設備列舉步驟的實現--使用CATC分析工具513.4結論613.5問題與討論61第4章 USB芯片與EZUSB4.1USB芯片的簡介624.2USB接口芯片644.2.1Philips接口芯片644.2.2National Semiconductor接口芯片664.3內含USB單元的微處理器684.3.1Motorola694.3.2Microchip694.3.3SIEMENS704.3.4Cypress714.4USB芯片總攬介紹734.5USB芯片的選擇與評估744.6問題與討論80第5章 設備與驅動程序5.1階層式的驅動程序815.2主機的驅動程序835.3驅動程序的選擇865.4結論865.5問題與討論87第6章 HID群組6.1HID簡介886.2HID群組的傳輸速率886.3HID描述符906.3.1報告描述符936.3.2主要 main 項目類型966.3.3整體 global 項目卷標976.3.4區域 local 項目卷標986.3.5簡易的報告描述符996.3.6Descriptor Tool 描述符工具 1006.3.7兼容測試程序1016.4HID設備的基本請求1026.5Windows通信程序1036.6問題與討論106PART 2 硬件技術篇第7章 EZUSB FX簡介7.1簡介1097.2EZUSB FX硬件框圖1097.3封包與PID碼1117.4主機是個主控者1137.4.1從主機接收數據1137.4.2傳送數據至主機1137.5USB方向1137.6幀1147.7EZUSB FX傳輸類型1147.7.1批量傳輸1147.7.2中斷傳輸1147.7.3等時傳輸1157.7.4控制傳輸1157.8設備列舉1167.9USB核心1167.10EZUSB FX單片機1177.11重新設備列舉1177.12EZUSB FX端點1187.12.1EZUSB FX批量端點1187.12.2EZUSB FX控制端點01187.12.3EZUSB FX中斷端點1197.12.4EZUSB FX等時端點1197.13快速傳送模式1197.14中斷1207.15重置與電源管理1207.16EZUSB 2100系列1207.17FX系列--從FIFO1227.18FX系列--GPIF 通用型可程序化的接口 1227.19AN2122/26各種特性的摘要1227.20修訂ID1237.21引腳描述123第8章 EZUSB FX CPU8.1簡介1308.28051增強模式1308.3EZUSB FX所增強的部分1318.4EZUSB FX寄存器接口1318.5EZUSB FX內部RAM1318.6I/O端口1328.7中斷1328.8電源控制1338.9特殊功能寄存器 SFR 1348.10內部總線1358.11重置136第9章 EZUSB FX內存9.1簡介1379.28051內存1389.3擴充的EZUSB FX內存1399.4CS#與OE#信號1409.5EZUSB FX ROM版本141第10章 EZUSB FX輸入/輸出端口10.1簡介14310.2I/O端口14310.3EZUSB輸入/輸出端口寄存器14610.3.1端口配置寄存器14710.3.2I/O端口寄存器14710.4EZUSB FX輸入/輸出端口寄存器14910.5EZUSB FX端口配置表15110.6I2C控制器15610.78051 I2C控制器15610.8控制位15810.8.1START位15810.8.2STOP位15810.8.3LASTRD位15810.9狀態位15910.9.1DONE位15910.9.2ACK位15910.9.3BERR位15910.9.4ID1, ID015910.10送出 WRITE I2C數據16010.11接收 READ I2C數據16010.12I2C激活加載器16010.13SFR尋址 FX 16210.14端口A~E的SFR控制165第11章 EZUSB FX設備列舉與重新設備列舉11.1簡介16711.2預設的USB設備16911.3USB核心對于EP0設備請求的響應17011.4固件下載17111.5設備列舉模式17211.6沒有存在EEPROM17311.7存在著EEPROM, 第一個字節是0xB0 0xB4, FX系列11.8存在著EEPROM, 第一個字節是0xB2 0xB6, FX系列11.9配置字節0,FX系列17711.10重新設備列舉 ReNumerationTM 17811.11多重重新設備列舉 ReNumerationTM 17911.12預設描述符179第12章 EZUSB FX批量傳輸12.1簡介18812.2批量輸入傳輸18912.3中斷傳輸19112.4EZUSB FX批量IN的例子19112.5批量OUT傳輸19212.6端點對19412.7IN端點對的狀態19412.8OUT端點對的狀態19512.9使用批量緩沖區內存19512.10Data Toggle控制19612.11輪詢的批量傳輸的范例19712.12設備列舉說明19912.13批量端點中斷19912.14中斷批量傳輸的范例20112.15設備列舉說明20512.16自動指針器205第13章 EZUSB控制端點013.1簡介20913.2控制端點EP021013.3USB請求21213.3.1取得狀態 Get_Status 21413.3.2設置特性(Set_Feature)21713.3.3清除特性(Clear_Feature)21813.3.4取得描述符(Get_Descriptor)21913.3.5設置描述符(Set Descriptor)22313.3.6設置配置(Set_Configuration)22513.3.7取得配置(Get_Configuration)22513.3.8設置接口(Set_Interface)22513.3.9取得接口(Get_Interface)22613.3.10設置地址(Set_Address)22713.3.11同步幀22713.3.12固件加載228第14章 EZUSB FX等時傳輸14.1簡介22914.2等時IN傳輸23014.2.1初始化設置23014.2.2IN數據傳輸23014.3等時OUT傳輸23114.3.1初始化設置23114.3.2數據傳輸23214.4設置等時FIFO的大小23214.5等時傳輸速度23414.5.1EZUSB 2100系列23414.5.2EZUSB FX系列23514.6快速傳輸 僅存于2100系列 23614.6.1快速寫入23614.6.2快速讀取23714.7快速傳輸的時序 僅存于2100系列 23714.7.1快速寫入波形23814.7.2快速讀取波形23914.8快速傳輸速度(僅存于2100系列)23914.9其余的等時寄存器24014.9.1除能等時寄存器24014.9.20字節計數位24114.10以無數據來響應等時IN令牌24214.11使用等時FIFO242第15章 EZUSB FX中斷15.1簡介24315.2USB核心中斷24415.3喚醒中斷24415.4USB中斷信號源24515.5SUTOK與SUDAV中斷24815.6SOF中斷24915.7中止 suspend 中斷24915.8USB重置中斷24915.9批量端點中斷25015.10USB自動向量25015.11USB自動向量譯碼25115.12I2C中斷25215.13IN批量NAK中斷 僅存于AN2122/26與FX系列 25315.14I2C STOP反相中斷 僅存于AN2122/26與FX系列 25415.15從FIFO中斷 INT4 255第16章 EZUSB FX重置16.1簡介25716.2EZUSB FX打開電源重置 POR 25716.38051重置的釋放25916.3.1RAM的下載26016.3.2下載EEPROM26016.3.3外部ROM26016.48051重置所產生的影響26016.5USB總線重置26116.6EZUSB脫離26216.7各種重置狀態的總結263第17章 EZUSB FX電源管理17.1簡介26517.2中止 suspend 26617.3回復 resume 26717.4遠程喚醒 remote wakeup 269第18章 EZUSB FX系統18.1簡介27118.2DMA寄存器描述27218.2.1來源. 目的. 傳輸長度地址寄存器27218.2.2DMA起始與狀態寄存器27518.2.3DMA同步突發使能寄存器27518.2.4虛擬寄存器27818.3RD/FRD與WR/FWR DMA閃控的選擇27818.4DMA閃控波形與延伸位的交互影響27918.4.1DMA外部寫入27918.4.2DMA外部讀取280第19章 EZUSB FX寄存器19.1簡介28219.2批量數據緩沖區寄存器28319.3等時數據FIFO寄存器28419.4等時字節計數寄存器28519.5CPU寄存器28719.6I/O端口配置寄存器28819.7I/O端口A~C輸入/輸出寄存器28919.8230 Kbaud UART操作--AN2122/26寄存器29119.9等時控制/狀態寄存器29119.10I2C寄存器29219.11中斷29419.12端點0控制與狀態寄存器29919.13端點1~7的控制與狀態寄存器30019.14整體USB寄存器30519.15快速傳輸30919.16SETUP數據31119.17等時FIFO的容量大小31119.18通用I/F中斷使能31219.19通用中斷請求31219.20輸入/輸出端口寄存器D與E31319.20.1端口D輸出31319.20.2輸入端口D腳位31319.20.3端口D輸出使能31319.20.4端口E輸出31319.20.5輸入端口E腳位31419.20.6端口E輸出使能31419.21端口設置31419.22接口配置31419.23端口A與端口C切換配置31619.23.1端口A切換配置#231619.23.2端口C切換配置#231719.24DMA寄存器31919.24.1來源. 目的. 傳輸長度地址寄存器31919.24.2DMA起始與狀態寄存器32019.24.3DMA同步突發使能寄存器32019.24.4選擇8051 A/D總線作為外部FIFO321PART 3 固件技術篇第20章 EZUSB FX固件架構與函數庫20.1固件架構總覽32320.2固件架構的建立32520.3固件架構的副函數鉤子32520.3.1工作分配器32620.3.2設備請求 device request 32620.3.3USB中斷服務例程32920.4固件架構整體變量33220.5描述符表33320.5.1設備描述符33320.5.2配置描述符33420.5.3接口描述符33420.5.4端點描述符33520.5.5字符串描述符33520.5.6群組描述符33520.6EZUSB FX固件的函數庫33620.6.1包含文件 *.H 33620.6.2子程序33620.6.3整體變量33820.7固件架構的原始程序代碼338第21章 EZUSB FX固件范例程序21.1范例程序的簡介34621.2外圍I/O測試程序34721.3端點對, EP_PAIR范例35221.4批量測試, BulkTest范例36221.5等時傳輸, ISOstrm范例36821.6問題與討論373PART 4 實驗篇第22章 EZUSB FX仿真器22?1簡介37522?2所需的工具37622?3EZUSB FX框圖37722.4EZUSB最終版本的系統框圖37822?5第一次下載程序37822.6EZUSB FX開發系統框圖37922.7設置開發環境38022.8EZUSB FX開發工具組的內容38122.9EZUSB FX開發工具組軟件38222.9.1初步安裝程序38222.9.2確認主機 個人計算機 是否支持USB38222.10安裝EZUSB控制平臺. 驅動程序以及文件38322.11EZUSB FX開發電路板38522.11.1簡介38522.11.2開發電路板的瀏覽38522.11.3所使用的8051資源38622.11.4詳細電路38622.11.5LED的顯示38722.11.6Jumper38722.11.7連接器39122.11.8內存映象圖39222.11.9PLD信號39422.11.10PLD源文件文件39522.11.11雛形板的擴充連接器P1~P639722.11.12Philips PCF8574 I/O擴充IC40022.12DMA USB FX I/O LAB開發工具介紹40122.12.1USBFX簡介40122.12.2USBFX及外圍整體環境介紹40322?12?3USBFX與PC連接軟件介紹40422.12.4USBFX硬件功能介紹404第23章 LED顯示器輸出實驗23.1硬件設計與基本概念40923.2固件設計41023.3.1固件架構文件FW.C41123.3.2描述符文件DESCR.A5141223.3.3外圍接口文件PERIPH.C41723.4固件程序代碼的編譯與鏈接42123.5Windows程序, VB設計42323.6INF文件的編寫設計42423.7結論42623.8問題與討論427第24章 七段顯示器與鍵盤的輸入/輸出實驗24.1硬件設計與基本概念42824.2固件設計43124.2.1七段顯示器43124.2.24×4鍵盤掃描43324.3固件程序代碼的編譯與鏈接43424.4Windows程序, VB設計43624.5問題與討論437第25章 LCD文字型液晶顯示器輸出實驗25.1硬件設計與基本概念43825.1.1液晶顯示器LCD43825.2固件設計45225.3固件程序代碼的編譯與鏈接45625.4Windows程序, VB設計45725.5問題與討論458第26章 LED點陣輸出實驗26.1硬件設計與基本概念45926.2固件設計46326.3固件程序代碼的編譯與鏈接46326.4Windows程序, VB設計46526.5問題與討論465第27章 步進電機輸出實驗27.1硬件設計與基本概念46627.1.11相激磁46727.1.22相激磁46727.1.31-2相激磁46827?1?4PMM8713介紹46927.2固件設計47327.3固件程序代碼的編譯與鏈接47427.4Windows程序, VB設計47627.5問題與討論477第28章 I2C接口輸入/輸出實驗28.1硬件設計與基本概念47828.2固件設計48128.3固件程序代碼的編譯與鏈接48328.4Windows程序, VB設計48428.5問題與討論485第29章 A/D轉換器與D/A轉換器的輸入/輸出實驗29.1硬件設計與基本概念48629.1.1A/D轉換器48629.1.2D/A轉換器49029.2固件設計49329.2.1A/D轉換器的固件設計49329.2.2D/A轉換器的固件設計49629.3固件程序代碼的編譯與鏈接49729.4Windows程序, VB設計49829.5問題與討論499第30章 LCG繪圖型液晶顯示器輸出實驗30.1硬件設計與基本概念50030.1.1繪圖型LCD50030.1.2繪圖型LCD控制指令集50330.1.3繪圖型LCD讀取與寫入時序圖50530.2固件設計50630.2.1LCG驅動程序50630.2.2USB固件碼51330.3固件程序代碼的編譯與鏈接51630.4Windows程序, VB設計51730.5問題與討論518附錄A Cypress控制平臺的操作A.1EZUSB控制平臺總覽519A.2主畫面520A.3熱插拔新的USB設備521A.4各種工具欄的使用524A.5故障排除526A.6控制平臺的進階操作527A.7測試Unary Op工具欄上的按鈕功能528A.8測試制造商請求的工具欄 2100 系列的開發電路板 529A.9測試等時傳輸工具欄532A.10測試批量傳輸工具欄533A.11測試重置管線工具欄535A.12測試設置接口工具欄537A.13測試制造商請求工具欄 FX系列開發電路板A.14執行Get Device Descriptor 操作來驗證開發板的功能是否正確539A.15從EZUSB控制平臺中, 加載dev_io的范例并且加以執行540A.16從Keil偵錯應用程序中, 加載dev_io范例程序代碼, 然后再加以執行542A.17將dev_io 目標文件移開, 且使用Keil IDE 集成開發環境 來重建545A.18在偵錯器下執行dev_io目標文件, 并且使用具有偵錯能力的IDE547A.19在EZUSB控制平臺下, 執行ep_pair目標文件A.20如何修改fw范例, 并在開發電路板上產生等時傳輸550附錄BEZUSB 2100系列及EZUSB FX系列引腳表B.1EZUSB 2100系列引腳表555B?2EZUSB FX系列引腳圖表561附錄C EZUSB FX寄存器總覽附錄D EEPROM燒錄方式
上傳時間: 2013-11-21
上傳用戶:努力努力再努力
針對無位置傳感器無刷直流電機的位置檢測問題,本文應用單片機成功地實現了一種軟件檢測方法,并給出了實測波形加以驗證。關鍵詞: 無刷直流電機 無傳感器 位置檢測Abstract: As to the position-detecting problem of sensorless brushless DC motor, a softwarerealization by microcomputer is proposed successfully in the paper. Experiment results are also presented to verify the method.Keywords: brushless DC motor, sensorless, position detecting
上傳時間: 2013-11-01
上傳用戶:aappkkee
本文設計出一種新型燈光調光控制系統。系統采用先進的智能功率模塊((IPM)取代以往的可控硅作為功率變換器件,以Intel16 位單片機為核心控制器采用AC-DC-AC 變換技術使輸出的波形較可控硅斬波后的波形有很大的改善,這不僅降低了變壓器的損耗而且延長了燈的壽命,提高了系統的運行質量。現場總線CAN 的運用使得整個系統便于集中監控、管理。調光器是機場助航燈光系統的核心控制設備。目前,國內外使用的調光器主要采用可控硅斬波技術,這種調光器存在波形畸變大、電網要求高、對電網污染嚴重、效率低、負載適應能力差等缺點。針對以往系統存在的不足,提出了正弦波調光器,它采用逆變技術,輸出標準正弦電壓,它的優點是對負載適應能力強、對電網要求低、污染輕、效率高、輸出波形好等。正弦波調光器采用逆變技術,輸出幅度可調的標準正弦電壓,通過控制算法實現對燈光回路的高精度恒流控制。“正弦波調光器”將極大地提高調光器的技術水平,改善調光器的性能,增強市場競爭能力。
上傳時間: 2013-11-02
上傳用戶:亞亞娟娟123
含原理圖+電路圖+程序的波形發生器:在工作中,我們常常會用到波形發生器,它是使用頻度很高的電子儀器。現在的波形發生器都采用單片機來構成。單片機波形發生器是以單片機核心,配相應的外圍電路和功能軟件,能實現各種波形發生的應用系統,它由硬件部分和軟件部分組成,硬件是系統的基礎,軟件則是在硬件的基礎上,對其合理的調配和使用,從而完成波形發生的任務。 波形發生器的技術指標:(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設計1、 機器通電后,系統進行初始化,LED在面板上顯示6個0,表示系統處于初始狀態,等待用戶輸入設置命令,此時,無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進入頻率,幅值波形設置,使系統進入設置狀態,相應的數碼管顯示“一”,此時,按其它鍵,無效;3、 在進入某一設置狀態后,輸入0~9等數字鍵,(數字鍵僅在設置狀態時,有效)為欲輸出的波形設置相應參數,LED將參數顯示在面板上;4、 如果在設置中,要改變已設定的參數,可按下“CL”鍵,清除所有已設定參數,系統恢復初始狀態,LED顯示6個0,等待重新輸入命令;5、 當必要的參數設定完畢后,所有參數顯示于LED上,用戶按下“EN”鍵,系統會將各波形參數傳遞到波形產生模塊中,以便控制波形發生,實現不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發生器開始輸出滿足參數的波形信號,面板上相應類型的運行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數;7、 波形發生器在輸出信號時,按下任意一個鍵,就停止波形信號輸出,等待重新設置參數,設置過程如上所述,如果不改變參數,可按下“EN”鍵,繼續輸出原波形信號;8、 要停止波形發生器的使用,可按下復位按鈕,將系統復位,然后關閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應用,性能價格高的常用芯片來構成硬件電路。單片機采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅動器 ULN2803A(一塊),運算放大器 LM324(一塊) 波形發生器的硬件電路由單片機、鍵盤顯示器接口電路、波形轉換(D/ A)電路和電源線路等四部分構成。1.單片機電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數設置;形成顯示段碼,向LED顯示接口電路輸出;產生定時中斷;形成波形的數字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機尋址外設,采用存儲器映像方式,外部接口芯片與內部存儲器統一編址,89C51提供16根地址線P0(分時復用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時還要負責與8255,0832的數據傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經過74LS373鎖存后,送到8255的A1、A2作,片內A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機89C51內部有兩個定時器/計數器,在波形發生器中使用T0作為中斷源。不同的頻率值對應不同的定時初值,定時器的溢出信號作為中斷請求。控制定時器中斷的特殊功能寄存器設置如下:定時控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅動6位數碼管動態顯示; 提供響應界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅動器ULN2803A,6位共陰極數碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態,按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內部的4個寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數字編碼轉換成模擬值;完成單極性向雙極性的波形輸出;構成由兩片0832和一塊LM324運放組成。0832(1)是參考電壓提供者,單片機向0832(1)內的鎖存器送數字編碼,不同的編碼會產生不同的輸出值,在本發生器中,可輸出1V、2V、3V、4V、5V等五個模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時,其幅度是可調的。0832(2)用于產生各種波形信號,單片機在波形產生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經過D/A轉換,得到波形的模擬樣值點,假如N個點就構成波形的一個周期,那么0832(2)輸出N個樣值點后,樣值點形成運動軌跡,就是波形信號的一個周期。重復輸出N個點后,由此成第二個周期,第三個周期……。這樣0832(2)就能連續的輸出周期變化的波形信號。運放A1是直流放大器,運放A2是單極性電壓放大器,運放A3是雙極性驅動放大器,使波形信號能帶得起負載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發生器提供直流能量;構成由變壓器、整流硅堆,穩壓塊7805組成。220V的交流電,經過開關,保險管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩定,使用7805進行穩壓。最后,+5V電源配送到各用電負載。
上傳時間: 2013-11-08
上傳用戶:685
微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 8253 通用發聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數值和工作方式,產生各種形狀和各種頻率的計數/定時脈沖,提供給系統各個部件使用。本設計是利用計算機控制發聲的原理,編寫演奏樂曲的程序。 在8253/54定時器內部有3個獨立工作的計數器:計數器0,計數器1和計數器2,每個計數器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數器和控制器尋址. 對8353/54編程時,先要設定控制字,以選擇計數器,確定工作方式和計數值的格式.每計數器由三個引腳與外部聯系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數/定時信號輸入端.每個計數器中包含一個16位計數寄存器,這個計數器時以倒計數的方式計數的,也就是說,從計數初值逐次減1,直到減為0為止. 8253/54的三個計數器是分別編程的,在對任一個計數器編程時,必須首先講控制字節寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數器輸入一個計數初值,因為這個計數值可以是8為的,也可以是16為的,而8253/5的數據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數器2設定為方式3,(關于計數器的工作方式參閱教材第325—330頁)計數初值為65536. MOV AL,10110110B ;選擇計數器2,按方式3工作,計數值是二進制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計數初值為0 OUT 42H,AL ;將計數初值的低字節送入計數器2 OUT 42H,AL ;將計數初值的高字節送入計數器2 在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節介紹了揚聲器的驅動原理,并給出了通用發聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發聲程序的設計下面是能產生頻率為f的通用發聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節,后寫高字節 ;方式3,二進制計數OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數高位MOV AX, 35DEH ;被除數低位 DIV ID ;求計數初值n,結果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內容MOV AH, AL ;保護B口的原狀態OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚聲器,使它發聲
上傳時間: 2013-10-17
上傳用戶:sunjet