介紹了一種用單片機控制的智能微波信號源發生器,以美國國家半導體公司的低功率,高性能的δ-Σ小數分頻數字鎖相環電路LMX2485和YTO為核心構成.微波信號源的工作頻率范圍為8~14GHz,頻率分辨率為40GHz.分析了設計方案及實現過程中的關鍵技術,給出了部分實驗結果.
上傳時間: 2013-10-20
上傳用戶:banlangen
為了解決磁放大器性能測試過程中,需要對其供給不同數值恒定電流的問題,設計了一種基于DAC7512和單片機的數控恒流源系統。該系統采用AT89C51作為主控器件,將計算機發送的電流控制字命令轉換為D/A轉換器控制字,通過模擬SPI通信接口,寫D/A控制字到DAC7512,從而控制其輸出相應數字電壓值,經差動縮放電路、電壓/電路變換電路和功率驅動電路,最后輸出恒定電流。實驗結果表明,恒流源輸出電流調節范圍為-45~+45 mA、精度為±0.1 mA,分辨率達0.024 4 mA,具有應用靈活,外圍電路簡單,可靠性高的特點。該數控直流恒流源也可為相關產品的測試系統研發提供參考。 Abstract: In order to solve the need to supply different values constant current for the magnetic amplifier in testing process, numerical control constant current source system was designed based on DAC7512 chip and microcontroller technology. The system used the AT89C51 as the main chip, which can convert the current control word from computer into to D/A control words. And the system wrote D/A control word into the DAC7512 chip to control the output voltage value by the SPI communication interface, which can output corresponding constant current figures by scaling circuit, the V/I converter and power drive circuit. Experimental results show that the current source output current adjustment range is -45~+45mA, accuracy is ± 0.1mA, and resolution ratio is 0.024 4mA
上傳時間: 2014-12-27
上傳用戶:invtnewer
介紹了反電勢控制理論,并論述應用S12X單片機在反電勢理論基礎上控制直流無刷電機的方法,并對在此控制方式下的直流無刷電機起動問題進行討論。經試驗證明,在此種控制方式下直流無刷電機能夠穩定運行并能正常起動。
上傳時間: 2014-12-27
上傳用戶:aix008
摘要:本文給出了一種基于單片機AT90PWM2B的BOOST升壓型臨界電流模式有源功率因數校正的實現方法。在70W可調光熒光燈電子鎮流器上的實用結果驗證了該方法的可行性和有效性。該方法可以推廣到電子鎮流器和開關電源等對功率因數要求較高的電力電子產品。關鍵詞:有源功率因數校正;BOOST升壓;臨界電流模式;AT90PWM2B;PSC
上傳時間: 2013-11-12
上傳用戶:Vici
在一些需要高頻分辨率、設置轉換度的應用場合,直接數字頻率合成器(DDS)技術具有其他頻率合成方法無法比擬的優勢。在介紹DDS的基本原理及其典型器件AD9858的結構和功能的基礎上,詳細論述了采用單片機+CPLD來控制AD9858實現寬帶雷達信號源的設計過程。實際應用證明,該系統設計分辨率高,轉換速度快,在窄帶時無雜散動態范圍SFDR優于75 dBc,寬帶無雜散動態范圍SFDR優于55 dBC。
上傳時間: 2014-12-27
上傳用戶:ming52900
最強萬年歷源碼(支持24節氣、支持所有單片機、ARM)
上傳時間: 2013-10-21
上傳用戶:bjgaofei
單片機反匯編工具包 單片機反匯編 單片機反匯編即寫入單片機的bin文件或是hex文件,經過人工處理或是反匯編軟件處理成匯編語言。這些匯編語言里面變量名,標號名,程序名都是簡單的數字字母符號,沒有實際意義。所以一般的單片機程序員都不愿意看,也很難看懂。單片機反匯編看懂需要比較有經驗的軟件工程師。但是研究反匯編程序是學習和吸收外國先進技術的非常好的途徑。目前國內也有不少工程師在研究單片機反匯編技術
上傳時間: 2013-12-19
上傳用戶:1417818867
單片機串行通信發射機 我所做的單片機串行通信發射機主要在實驗室完成,參考有關的書籍和資料,個人完成電路的設計、焊接、檢查、調試,再根據自己的硬件和通信協議用匯編語言編寫發射和顯示程序,然后加電調試,最終達到準確無誤的發射和顯示。在這過程中需要選擇適當的元件,合理的電路圖扎實的焊接技術,基本的故障排除和糾正能力,會使用基本的儀器對硬件進行調試,會熟練的運用匯編語言編寫程序,會用相關的軟件對自己的程序進行翻譯,并燒進芯片中,要與對方接收機統一通信協議,要耐心的反復檢查、修改和調試,直到達到預期目的。單片機串行通信發射機采用串行工作方式,發射并顯示兩位數字信息,既顯示00-99,使數據能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個按鍵組成的控制模塊,包括時鐘電路、控制信號電路,時鐘采用6MHZ晶振和30pF的電容來組成內部時鐘方式,控制信號用手動開關來控制,P1口來控制,P2、P3口產生信號并通過共陽極數碼管來顯示,軟件采用匯編語言來編寫,發射程序在通信協議一致的情況下完成數據的發射,同時顯示程序對發射的數據加以顯示。畢業設計的目的是了解基本電路設計的流程,豐富自己的知識和理論,鞏固所學的知識,提高自己的動手能力和實驗能力,從而具備一定的設計能力。我做得的畢業設計注重于對單片機串行發射的理論的理解,明白發射機的工作原理,以便以后單片機領域的開發和研制打下基礎,提高自己的設計能力,培養創新能力,豐富自己的知識理論,做到理論和實際結合。本課題的重要意義還在于能在進一步層次了解單片機的工作原理,內部結構和工作狀態。理解單片機的接口技術,中斷技術,存儲方式,時鐘方式和控制方式,這樣才能更好的利用單片機來做有效的設計。我的畢業設計分為兩個部分,硬件部分和軟件部分。硬件部分介紹:單片機串行通信發射機電路的設計,單片機AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結構和每個管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節可編程閃爍存儲器,壽命:1000次可擦,數據保存10年,全靜態工作:0HZ-24HZ,三級程序存儲器鎖定,128*8 位內部RAM,32 跟可編程I/O 線,兩個16 位定時/計數器,5 個中斷源,5 個可編程串行通道,低功耗的閑置和掉電模式,片內震蕩和時鐘電路,P0和P1 可作為串行輸入口,P3口因為其管腳有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時鐘電路采用內時鐘工作方式,控制信號采用手動控制。數據的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數碼顯示管的工作方式、組成,共陽極和共陰極數碼顯示管的電路組成,有動態和靜態顯示兩種方式,說明了不同顯示方法與單片機的連接。再后來還介紹了硬件的焊接過程,及在焊接時遇到的問題和應該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設計原理后,根據原理和目的畫出電路流程圖,列出數碼顯示的斷碼表,計算波特率,設置串行口,在與接受機設置相同的通信協議的基礎上編寫顯示和發射程序。編寫完程序還要進行編譯,這就必須會使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調試,及遇到的問題,在沒問題后與接受機連接,發射數據,直到對方準確接收到。在軟件調試過程中將詳細介紹調試遇到的問題,例如:通信協議是否相同,數碼管是否與芯片連接對應,計數器是否開始計數等。
上傳時間: 2013-10-19
上傳用戶:uuuuuuu
NCV4269是一款精準的低功耗5V穩壓源,它的輸出電流負載為150mA。輸出電壓的精確度為±2.0%,在輸出電流為100mA時輸出電壓的最大紋波電壓為0.5V。NCV4269的最大特點就是靜態電流小,在輸出電流為1.0mA時靜態電流只有240μA。這一特點非常適合應用與利用電池供電的微處理器設備。
上傳時間: 2013-11-08
上傳用戶:yimoney
AT89C2051驅動步進電機的電路和源碼:AT89C2051驅動步進電機的電路和源碼 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上傳時間: 2013-11-21
上傳用戶:boyaboy