在傳統正溫度系數電流基礎上,增加兩種不同材料的電阻以實現帶隙基準的二階溫度補償,采用具有反饋偏置的折疊共源共柵運算放大器,使得所設計的帶隙基準電路,具有較高的精度和溫度穩定性。
上傳時間: 2013-10-18
上傳用戶:604759954
超低漏失線性穩壓器的技術關鍵,是基準源模塊的設計,在對雙極型LDO穩壓器進行分析的基礎上,提出了對其關鍵模塊基準電壓源進行高精度的設計的方案。
上傳時間: 2013-12-07
上傳用戶:guojin_0704
本書全面、系統地介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。 內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及調試;打印機和顯示器接口及設計實例;模擬輸入通道接口技術;A/D、D/A、接口技術及在控制系統中的應用設計;V/F轉換器接口技術、串行通訊接口技術以及其它與應用系統設計有關的實用技術等。 本書是為滿足廣大科技工作者從事單片機應用系統軟件、硬件設計的需要而編寫的,具有內容新穎、實用、全面的特色。所有的接口設計都包括詳細的設計步驟、硬件線路圖及故障分析,并附有測試程序清單。書中大部分接口軟、硬件設計實例都是作者多年來從事單片機應用和開發工作的經驗總結,實用性和工程性較強,尤其是對應用系統中必備的鍵盤、顯示器、打印機、A/D、D/A通訊接口設計、模擬信號處理及開發系統應用舉例甚多,目的是讓將要開始和正在從事單片機應用開發的科研人員根據自己的實際需要來選擇應用,一書在手即可基本完成單片機應用系統的開發工作。 本書主要面向從事單片機應用開發工作的廣大工程技術人員,也可作為大專院校有關專業的教材或教學參考書。 第一章MCS-51系列單片機組成原理 1.1概述 1.1.1單片機主流產品系列 1.1.2單片機芯片技術的發展概況 1.1.3單片機的應用領域 1.2MCS-51單片機硬件結構 1.2.1MCS-51單片機硬件結構的特點 1.2.2MCS-51單片機的引腳描述及片外總線結構 1.2.3MCS-51片內總體結構 1.2.4MCS-51單片機中央處理器及其振蕩器、時鐘電路和CPU時序 1.2.5MCS-51單片機的復位狀態及幾種復位電路設計 1.2.6存儲器、特殊功能寄存器及位地址空間 1.2.7輸入/輸出(I/O)口 1.3MCS-51單片機指令系統分析 1.3.1指令系統的尋址方式 1.3.2指令系統的使用要點 1.3.3指令系統分類總結 1.4串行接口與定時/計數器 1.4.1串行接口簡介 1.4.2定時器/計數器的結構 1.4.3定時器/計數器的四種工作模式 1.4.4定時器/計數器對輸入信號的要求 1.4.5定時器/計數器的編程和應用 1.5中斷系統 1.5.1中斷請求源 1.5.2中斷控制 1.5.3中斷的響應過程 1.5.4外部中斷的響應時間 1.5.5外部中斷方式的選擇 第二章MCS-51單片機系統擴展 2.1概述 2.2程序存貯器的擴展 2.2.1外部程序存貯器的擴展原理及時序 2.2.2地址鎖存器 2.2.3EPROM擴展電路 2.2.4EEPROM擴展電路 2.3外部數據存貯器的擴展 2.3.1外部數據存貯器的擴展方法及時序 2.3.2靜態RAM擴展 2.3.3動態RAM擴展 2.4外部I/O口的擴展 2.4.1I/O口擴展概述 2.4.2I/O口地址譯碼技術 2.4.38255A可編程并行I/O擴展接口 2.4.48155/8156可編程并行I/O擴展接口 2.4.58243并行I/O擴展接口 2.4.6用TTL芯片擴展I/O接口 2.4.7用串行口擴展I/O接口 2.4.8中斷系統擴展 第三章MCS-51單片機應用系統的開發 3.1單片機應用系統的設計 3.1.1設計前的準備工作 3.1.2應用系統的硬件設計 3.1.3應用系統的軟件設計 3.1.4應用系統的抗干擾設計 3.2單片機應用系統的開發 3.2.1仿真系統的功能 3.2.2開發手段的選擇 3.2.3應用系統的開發過程 3.3SICE—IV型單片機仿真器 3.3.1SICE-IV仿真器系統結構 3.3.2SICE-IV的仿真特性和軟件功能 3.3.3SICE-IV與主機和終端的連接使用方法 3.4KHK-ICE-51單片機仿真開發系統 3.4.1KHK—ICE-51仿真器系統結構 3.4.2仿真器系統功能特點 3.4.3KHK-ICE-51仿真系統的安裝及其使用 3.5單片機應用系統的調試 3.5.1應用系統聯機前的靜態調試 3.5.2外部數據存儲器RAM的測試 3.5.3程序存儲器的調試 3.5.4輸出功能模塊調試 3.5.5可編程I/O接口芯片的調試 3.5.6外部中斷和定時器中斷的調試 3.6用戶程序的編輯、匯編、調試、固化及運行 3.6.1源程序的編輯 3.6.2源程序的匯編 3.6.3用戶程序的調試 3.6.4用戶程序的固化 3.6.5用戶程序的運行 第四章鍵盤及其接口技術 4.1鍵盤輸入應解決的問題 4.1.1鍵盤輸入的特點 4.1.2按鍵的確認 4.1.3消除按鍵抖動的措施 4.2獨立式按鍵接口設計 4.3矩陣式鍵盤接口設計 4.3.1矩陣鍵盤工作原理 4.3.2按鍵的識別方法 4.3.3鍵盤的編碼 4.3.4鍵盤工作方式 4.3.5矩陣鍵盤接口實例及編程要點 4.3.6雙功能及多功能鍵設計 4.3.7鍵盤處理中的特殊問題一重鍵和連擊 4.48279鍵盤、顯示器接口芯片及應用 4.4.18279的組成和基本工作原理 4.4.28279管腳、引線及功能說明 4.4.38279編程 4.4.48279鍵盤接口實例 4.5功能開關及撥碼盤接口設計 第五章顯示器接口設計 5.1LED顯示器 5.1.1LED段顯示器結構與原理 5.1.2LED顯示器及顯示方式 5.1.3LED顯示器接口實例 5.1.4LED顯示器驅動技術 5.2單片機應用系統中典型鍵盤、顯示接口技術 5.2.1用8255和串行口擴展的鍵盤、顯示器電路 5.2.2由鎖存器組成的鍵盤、顯示器接口電路 5.2.3由8155構成的鍵盤、顯示器接口電路 5.2.4用8279組成的顯示器實例 5.3液晶顯示LCD 5.3.1LCD的基本結構及工作原理 5.3.2LCD的驅動方式 5.3.34位LCD靜態驅動芯片ICM7211系列簡介 5.3.4點陣式液晶顯示控制器HD61830介紹 5.3.5點陣式液晶顯示模塊介紹 5.4熒光管顯示 5.5LED大屏幕顯示器 第六章打印機接口設計 6.1打印機簡介 6.1.1打印機的基本知識 6.1.2打印機的電路構成 6.1.3打印機的接口信號 6.1.4打印機的打印命令 6.2TPμP-40A微打與單片機接口設計 6.2.1TPμP系列微型打印機簡介 6.2.2TPμP-40A打印功能及接口信號 6.2.3TPμP-40A工作方式及打印命令 6.2.48031與TPμP-40A的接口 6.2.5打印編程實例 6.3XLF微型打印機與單片機接口設計 6.3.1XLF微打簡介 6.3.2XLF微打接口信號及與8031接口設計 6.3.3XLF微打控制命令 6.3.4打印機編程 6.4標準寬行打印機與8031接口設計 6.4.1TH3070接口引腳信號及時序 6.4.2與8031的簡單接口 6.4.3通過打印機適配器完成8031與打印機的接口 6.4.4對打印機的編程 第七章模擬輸入通道接口技術 7.1傳感器 7.1.1傳感器的分類 7.1.2溫度傳感器 7.1.3光電傳感器 7.1.4濕度傳感器 7.1.5其他傳感器 7.2模擬信號放大技術 7.2.1基本放大器電路 7.2.2集成運算放大器 7.2.3常用運算放大器及應用舉例 7.2.4測量放大器 7.2.5程控增益放大器 7.2.6隔離放大器 7.3多通道模擬信號輸入技術 7.3.1多路開關 7.3.2常用多路開關 7.3.3模擬多路開關 7.3.4常用模擬多路開關 7.3.5多路模擬開關應用舉例 7.3.6多路開關的選用 7.4采樣/保持電路設計 7.4.1采樣/保持原理 7.4.2集成采樣/保持器 7.4.3常用集成采樣/保持器 7.4.4采樣保持器的應用舉例 7.5有源濾波器的設計 7.5.1濾波器分類 7.5.2有源濾波器的設計 7.5.3常用有源濾波器設計舉例 7.5.4集成有源濾波器 第八章D/A轉換器與MCS-51單片機的接口設計與實踐 8.1D/A轉換器的基本原理及主要技術指標 8.1.1D/A轉換器的基本原理與分類 8.1.2D/A轉換器的主要技術指標 8.2D/A轉換器件選擇指南 8.2.1集成D/A轉換芯片介紹 8.2.2D/A轉換器的選擇要點及選擇指南表 8.2.3D/A轉換器接口設計的幾點實用技術 8.38位D/A轉換器DAC080/0831/0832與MCS-51單片機的接口設計 8.3.1DAC0830/0831/0832的應用特性與引腳功能 8.3.2DAC0830/0831/0832與8031單片機的接口設計 8.3.3DAC0830/0831/0832的調試說明 8.3.4DAC0830/0831/0832應用舉例 8.48位D/A轉換器AD558與MCS-51單片機的接口設計 8.4.1AD558的應用特性與引腳功能 8.4.2AD558與8031單片機的接口及調試說明 8.4.38位D/A轉換器DAC0800系列與8031單片機的接口 8.510位D/A轉換器AD7522與MCS-51的硬件接口設計 8.5.1AD7522的應用特性及引腳功能 8.5.2AD7522與8031單片機的接口設計 8.610位D/A轉換器AD7520/7530/7533與MCS一51單片機的接口設計 8.6.1AD7520/7530/7533的應用特性與引腳功能 8.6.2AD7520系列與8031單片機的接口 8.6.3DAC1020/DAC1220/AD7521系列D/A轉換器接口設計 8.712位D/A轉換器DAC1208/1209/1210與MCS-51單片機的接口設計 8.7.1DAC1208/1209/1210的內部結構與引腳功能 8.7.2DAC1208/1209/1210與8031單片機的接口設計 8.7.312位D/A轉換器DAC1230/1231/1232的應用設計說明 8.7.412位D/A轉換器AD7542與8031單片機的接口設計 8.812位串行DAC-AD7543與MCS-51單片機的接口設計 8.8.1AD7543的應用特性與引腳功能 8.8.2AD7543與8031單片機的接口設計 8.914位D/A轉換器AD75335與MCS-51單片機的接口設計 8.9.1AD8635的內部結構與引腳功能 8.9.2AD7535與8031單片機的接口設計 8.1016位D/A轉換器AD1147/1148與MCS-51單片機的接口設計 8.10.1AD1147/AD1148的內部結構及引腳功能 8.10.2AD1147/AD1148與8031單片機的接口設計 8.10.3AD1147/AD1148接口電路的應用調試說明 8.10.416位D/A轉換器AD1145與8031單片機的接口設計 第九章A/D轉換器與MCS-51單片機的接口設計與實踐 9.1A/D轉換器的基本原理及主要技術指標 9.1.1A/D轉換器的基本原理與分類 9.1.2A/D轉換器的主要技術指標 9.2面對課題如何選擇A/D轉換器件 9.2.1常用A/D轉換器簡介 9.2.2A/D轉換器的選擇要點及應用設計的幾點實用技術 9.38位D/A轉換器ADC0801/0802/0803/0804/0805與MCS-51單片機的接口設計 9.3.1ADC0801~ADC0805芯片的引腳功能及應用特性 9.3.2ADC0801~ADC0805與8031單片機的接口設計 9.48路8位A/D轉換器ADC0808/0809與MCS一51單片機的接口設計 9.4.1ADC0808/0809的內部結構及引腳功能 9.4.2ADC0808/0809與8031單片機的接口設計 9.4.3接口電路設計中的幾點注意事項 9.4.416路8位A/D轉換器ADC0816/0817與MCS-51單片機的接口設計 9.510位A/D轉換器AD571與MCS-51單片機的接口設計 9.5.1AD571芯片的引腳功能及應用特性 9.5.2AD571與8031單片機的接口 9.5.38位A/D轉換器AD570與8031單片機的硬件接口 9.612位A/D轉換器ADC1210/1211與MCS-51單片機的接口設計 9.6.1ADC1210/1211的引腳功能與應用特性 9.6.2ADC1210/1211與8031單片機的硬件接口 9.6.3硬件接口電路的設計要點及幾點說明 9.712位A/D轉換器AD574A/1374/1674A與MCS-51單片機的接口設計 9.7.1AD574A的內部結構與引腳功能 9.7.2AD574A的應用特性及校準 9.7.3AD574A與8031單片機的硬件接口設計 9.7.4AD574A的應用調試說明 9.7.5AD674A/AD1674與8031單片機的接口設計 9.8高速12位A/D轉換器AD578/AD678/AD1678與MCS—51單片機的接口設計 9.8.1AD578的應用特性與引腳功能 9.8.2AD578高速A/D轉換器與8031單片機的接口設計 9.8.3AD578高速A/D轉換器的應用調試說明 9.8.4AD678/AD1678采樣A/D轉換器與8031單片機的接口設計 9.914位A/D轉換器AD679/1679與MCS-51單片機的接口設計 9.9.1AD679/AD1679的應用特性及引腳功能 9.9.2AD679/1679與8031單片機的接口設計 9.9.3AD679/1679的調試說明 9.1016位ADC-ADC1143與MCS-51單片機的接口設計 9.10.1ADC1143的應用特性及引腳功能 9.10.2ADC1143與8031單片機的接口設計 9.113位半積分A/D轉換器5G14433與MCS-51單片機的接口設計 9.11.15G14433的內部結構及引腳功能 9.11.25G14433的外部電路連接與元件參數選擇 9.11.35G14433與8031單片機的接口設計 9.11.45G14433的應用舉例 9.124位半積分A/D轉換器ICL7135與MCS—51單片機的接口設計 9.12.1ICL7135的內部結構及芯片引腳功能 9.12.2ICL7135的外部電路連接與元件參數選擇 9.12.3ICL7135與8031單片機的硬件接口設計 9.124ICL7135的應用舉例 9.1312位雙積分A/D轉換器ICL7109與MCS—51單片機的接口設計 9.13.1ICL7109的內部結構與芯片引腳功能 9.13.2ICL7109的外部電路連接與元件參數選擇 9.13.3ICL7109與8031單片機的硬件接口設計 9.1416位積分型ADC一ICL7104與MCS-51單片機的接口設計 9.14.1ICL7104的主要應用特性及引腳功能 9.14.2ICL7104與8031單片機的接口設計 9.14.3其它積分型A/D轉換器簡介 第十章V/F轉換器接口技術 10.1V/F轉換的特點及應用環境 10.2V/F轉換原理及用V/F轉換器實現A/D轉換的方法 10.2.1V/F轉換原理 10.2.2用V/F轉換器實現A/D轉換的方法 10.3常用V/F轉換器簡介 10.3.1VFC32 10.3.2LMX31系列V/F轉換器 10.3.3AD650 10.3.4AD651 10.4V/F轉換應用系統中的通道結構 10.5LM331應用實例 10.5.1線路原理 10.5.2軟件設計 10.6AD650應用實例 10.6.1AD650外圍電路設計 10.6.2定時/計數器(8253—5簡介) 10.6.3線路原理 10.6.4軟件設計 第十一章串行通訊接口技術 11.1串行通訊基礎 11.1.1異步通訊和同步通訊 11.1.2波特率和接收/發送時鐘 11.1.3單工、半雙工、全雙工通訊方式 11.14信號的調制與解調 11.1.5通訊數據的差錯檢測和校正 11.1.6串行通訊接口電路UART、USRT和USART 11.2串行通訊總線標準及其接口 11.2.1串行通訊接口 11.2.2RS-232C接口 11.2.3RS-449、RS-422、RS-423及RS485 11.2.420mA電流環路串行接口 11.3MCS-51單片機串行接口 11.3.1串行口的結構 11.3.2串行接口的工作方式 11.3.3串行通訊中波特率設置 11.4MCS-51單片機串行接口通訊技術 11.4.1單片機雙機通訊技術 11.4.2單片機多機通訊技術 11.5IBMPC系列機與單片機的通訊技術 11.5.1異步通訊適配器 11.5.2IBM-PC機與8031雙機通訊技術 11.5.3IBM—PC機與8031多機通訊技術 11.6MCS-51單片機串行接口的擴展 11.6.1Intel8251A可編程通訊接口 11.6.2擴展多路串行口的硬件設計 11.6.3通訊軟件設計 第十二章應用系統設計中的實用技術 12.1MCS-51單片機低功耗系統設計 12.1.1CHMOS型單片機80C31/80C51/87C51的組成與使用要點 12.1.2CHMOS型單片機的空閑、掉電工作方式 12.1.3CHMOS型單片機的I/O接口及應用系統實例 12.1.4HMOS型單片機的節電運行方式 12.2邏輯電平接口技術 12.2.1集電極開路門輸出接口 12.2.2TTL、HTL、ECL、CMOS電平轉換接口 12.3電壓/電流轉換 12.3.1電壓/0~10mA轉換 12.3.2電壓1~5V/4~20mA轉換 12.3.30~10mA/0~5V轉換 12.344~20mA/0~5V轉換 12.3.5集成V/I轉換電路 12.4開關量輸出接口技術 12.4.1輸出接口隔離技術 12.4.2低壓開關量信號輸出技術 12.4.3繼電器輸出接口技術 12.4.4可控硅(晶閘管)輸出接口技術 12.4.5固態繼電器輸出接口 12.4.6集成功率電子開關輸出接口 12.5集成穩壓電路 12.5.1電源隔離技術 12.5.2三端集成穩壓器 12.5.3高精度電壓基準 12.6量程自動轉換技術 12.6.1自動轉換量程的硬件電路 12.6.2自動轉換量程的軟件設計 附錄AMCS-51單片機指令速查表 附錄B常用EPROM固化電壓參考表 參考文獻
上傳時間: 2013-10-15
上傳用戶:himbly
PSHLY-B回路電阻測試儀介紹
上傳時間: 2013-11-05
上傳用戶:木子葉1
針對目前使用的RS232接口數字化B超鍵盤存在PC主機啟動時不能設置BIOS,提出一種PS2鍵盤的設計方法。基于W78E052D單片機,采用8通道串行A/D轉換器設計了8個TGC電位器信息采集電路,電位器位置信息以鍵盤掃描碼序列形式發送,正交編碼器信號通過XC9536XL轉換為單片機可接收的中斷信號,軟件接收到中斷信息后等效處理成按鍵。結果表明,在滿足開機可設置BIOS同時,又可實現超聲特有功能,不需要專門設計驅動程序,接口簡單,成本低。 Abstract: Aiming at the problem of the digital ultrasonic diagnostic imaging system keyboard with RS232 interface currently used couldn?蒺t set the BIOS when the PC boot, this paper proposed a design method of PS2 keyboards. Based on W78E052D microcontroller,designed eight TGC potentiometers information acquisition circuit with 8-channel serial A/D converter, potentiometer position information sent out with keyboard scan code sequentially.The control circuit based on XC9536 CPLD is used for converting the mechanical actions of the encoders into the signals that can be identified by the MCU, software received interrupt information and equivalently treatmented as key. The results show that the BIOS can be set to meet the boot, ultrasound specific functionality can be achieved at the same time, it does not require specially designed driver,the interface is simple and low cost.
上傳時間: 2013-10-10
上傳用戶:asdfasdfd
單片機指令系統原理 51單片機的尋址方式 學習匯編程序設計,要先了解CPU的各種尋址法,才能有效的掌握各個命令的用途,尋址法是命令運算碼找操作數的方法。在我們學習的8051單片機中,有6種尋址方法,下面我們將逐一進行分析。 立即尋址 在這種尋址方式中,指令多是雙字節的,一般第一個字節是操作碼,第二個字節是操作數。該操作數直接參與操作,所以又稱立即數,有“#”號表示。立即數就是存放在程序存儲器中的常數,換句話說就是操作數(立即數)是包含在指令字節中的。 例如:MOV A,#3AH這條指令的指令代碼為74H、3AH,是雙字節指令,這條指令的功能是把立即數3AH送入累加器A中。MOV DPTR,#8200H在前面學單片機的專用寄存器時,我們已學過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數的高8位(即82H)送入DPH寄存器,把立即數的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在80C51單片機的指令系統中,僅有一條指令的操作數是16位的立即數,其功能是向地址指針DPTR傳送16位的地址,即把立即數的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數直接以單元地址的形式給出,也就是在這種尋址方式中,操作數項給出的是參加運算的操作數的地址,而不是操作數。例如:MOV A,30H 這條指令中操作數就在30H單元中,也就是30H是操作數的地址,并非操作數。 在80C51單片機中,直接地址只能用來表示特殊功能寄存器、內部數據存儲器以及位地址空間,具體的說就是:1、內部數據存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令 MOV IE,#85H 前面的學習我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 關于數據存儲器RAM的內部情況,請查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來分析下面幾條指令:MOV 65H,A ;將A的內容送入內部RAM的65H單元地址中MOV A,direct ;將直接地址單元的內容送入A中MOV direct,direct;將直接地址單元的內容送直接地址單元MOV IE,#85H ;將立即數85H送入中斷允許寄存器IE 前面我們已學過,數據前面加了“#”的,表示后面的數是立即數(如#85H,就表示85H就是一個立即數),數據前面沒有加“#”號的,就表示后面的是一個地址地址(如,MOV 65H,A這條指令的65H就是一個單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個工作寄存器組共有32個通用寄存器,但在指令中只能使用當前寄存器組(工作寄存器組的選擇在前面專用寄存器的學習中,我們已知道,是由程序狀態字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對PSW中的RS1、RS0位的狀態設置,來進行對當前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進位位CY。 寄存器尋址方式是指操作數在寄存器中,因此指定了寄存器名稱就能得到操作數。例如:MOV A,R0這條指令的意思是把寄存器R0的內容傳送到累加器A中,操作數就在R0中。INC R3這條指令的意思是把寄存器R3中的內容加1 從前面的學習中我產應可以理解到,其實寄存器尋址方式就是對由PSW程序狀態字確定的工作寄存器組的R0-R7進行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數的地址,即操作數是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機規定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內部或外部數據存儲器的256個單元。為什么會是256個單元呢?我們知道,R0或者R1都是一個8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV R0,#30H ;將值30H加載到R0中 MOV A,@R0 ;把內部RAM地址30H內的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H內的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數據存儲器時,我們通常就用DPTR做為間址寄存器。例:MOV DPTR,#1234H ;將DPTR值設為1234H(16位) MOVX A,@DPTR ;將外部RAM或I/O地址1234H內的值放到累加器A中 在執行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH 30H ;把內部RAM地址30H內的值放到堆棧區中堆棧區是由SP寄存器指定的,如果執行上面這條命令前,SP為60H,命令執行后會把內部RAM地址30H內的值放到RAM的61H內。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP 寄存器間接尋址范圍總結:1、內部RAM低128單元。對內部RAM低128單元的間接尋址,應使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對外部RAM64KB的間接尋址,應使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區,除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內容送入累加器A。 堆棧操作指令(PUSH和POP)也應算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號的形式表示,為了區別寄存器尋址我寄存器間接尋址的區別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計數器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時,把兩者的內容相加,所得到的結果作為操作數的地址。這種方式常用于訪問程序存儲器ROM中的數據表格,即查表操作。變址尋址只能讀出程序內存入的值,而不能寫入,也就是說變址尋址這種方式只能對程序存儲器進行尋址,或者說它是專門針對程序存儲器的尋址方式。例:MOVC A,@A+DPTR這條指令的功能是把DPTR和A的內容相加,再把所得到的程序存儲器地址單元的內容送A假若指令執行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數地址就是54H+3F21H=3F75H。如果3F75H單元中的內容是7FH,則執行這條指令后,累加器A中的內容就是7FH。 變址尋址的指令只有三條,分別如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一條指令JMP @A+DPTR這是一條無條件轉移指令,這條指令的意思就是DPTR加上累加器A的內容做為一個16位的地址,執行JMP這條指令是,程序就轉移到A+DPTR指定的地址去執行。 第二、三條指令MOVC A,@A+DPTR和MOVC A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現詳細說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個16位的數據指針寄存器,按理,它們的尋址范圍都應是64K。我們在學習特殊功能寄存器時已知道,程序計數器PC是始終跟蹤著程序的執行的。也就是說,PC的值是隨程序的執行情況自動改變的,我們不可以隨便的給PC賦值。而DPTR是一個數據指針,我們就可以給空上數據指針DPTR進行賦值。我們再看指令MOVC A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個地址,而PC是固定的,累加器A是一個8位的寄存器,它的尋址范圍是256個地址單元。講到這里,大家應可明白,MOVC A,@A+PC這條指令的尋址范圍其實就是只能在當前指令下256個地址單元。所在,這在我們實際應用中,可能就會有一個問題,如果我們需要查詢的數據表在256個地址單元之內,則可以用MOVC A,@A+PC這條指令進行查表操作,如果超過了256個單元,則不能用這條指令進行查表操作。剛才我們已說到,DPTR是一個數據指針,這個數據指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC A,@A+DPTR這條指令的尋址范圍達到64K。這就是這兩條指令在實際應用當中要注意的問題。 變址尋址方式是MCS-51單片機所獨有的一種尋址方式。 位尋址 80C51單片機有位處理功能,可以對數據位進行操作,因此就有相應的位尋址方式。所謂位尋址,就是對內部RAM或可位尋址的特殊功能寄存器SFR內的某個位,直接加以置位為1或復位為0。 位尋址的范圍,也就是哪些部份可以進行位尋址: 1、我們在第十二課學習51單片機的存儲器結構時,我們已知道在單片機的內部數據存儲器RAM的低128單元中有一個區域叫位尋址區。它的單元地址是20H-2FH。共有16個單元,一個單元是8位,所以位尋址區共有128位。這128位都單獨有一個位地址,其位地址的名字就是00H-7FH。這里就有一個比較麻煩的問題需要大家理解清楚了。我們在前面的學習中00H、01H。。。。7FH等等,所表示的都是一個字節(或者叫單元地址),而在這里,這些數據都變成了位地址。我們在指令中,或者在程序中如何來區分它是一個單元地址還是一個位地址呢?這個問題,也就是我們現在正在研究的位尋址的一個重要問題。其實,區分這些數據是位地址還是單元地址,我們都有相應的指令形式的。這個問題我們在后面的指令系統學習中再加以論述。 2、對專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請大家回頭去看看我們前面關于專用寄存器的相關文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進行位尋址,當然并不是全部,大家在應用當中應引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態字PSW來進行說明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H MOV C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示 MOV C,F0 3、單元(字節)地址加位表示:D0H單元位5,表示為DOH.5 MOV C,D0H.5 4、專用寄存器符號加位表示:例如PSW.5 MOV C,PSW.5 這四種方法實現的功能都是相同的,只是表述的方式不同而已。 例題: 1. 說明下列指令中源操作數采用的尋址方式。 MOV R5,R7 答案:寄存器尋址方式 MOV A,55H 直接尋址方式 MOV A,#55H 立即尋址方式 JMP @A+DPTR 變址尋址方式 MOV 30H,C 位尋址方式 MOV A,@R0 間接尋址方式 MOVX A,@R0 間接尋址方式 改錯題 請判斷下列的MCS-51單片機指令的書寫格式是否有錯,若有,請說明錯誤原因。 MOV R0,@R3 答案:間址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。 ADD R0,R1 運算指令中目的操作數必須為累加器A,不可為R0。 MUL AR0 乘法指令中的乘數應在B寄存器中,即乘法指令只可使用AB寄存器組合。
上傳時間: 2013-11-11
上傳用戶:caozhizhi
at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
含原理圖+電路圖+程序的波形發生器:在工作中,我們常常會用到波形發生器,它是使用頻度很高的電子儀器。現在的波形發生器都采用單片機來構成。單片機波形發生器是以單片機核心,配相應的外圍電路和功能軟件,能實現各種波形發生的應用系統,它由硬件部分和軟件部分組成,硬件是系統的基礎,軟件則是在硬件的基礎上,對其合理的調配和使用,從而完成波形發生的任務。 波形發生器的技術指標:(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
設計了一種由直接數字頻率合成(DDS)、倍頻鏈構成的三次變頻直接頻率合成方案,實現了低相噪捷變頻高分辨率毫米波雷達頻率合成器設計。利用直接頻率合成器的倍頻輸出取代傳統三次變頻毫米波頻率源的鎖相環(PLL),同時提供線性調頻(LFM)信號,優化DDS和變頻方案的頻率配置關系。利用FPGA電路進行高速控制,較好地解決了毫米波頻率合成器各技術指標之間的矛盾。實測結果表明,采用該方案的毫米波頻率合成器在本振跳頻帶寬為160 MHz時,線性調頻頻率分辨率可達0.931 Hz,最大頻率轉換時間小于2 ?滋s,最大雜散低于-60 dBc,相位噪聲優于-90 dBc/Hz。
上傳時間: 2014-01-06
上傳用戶:brain kung