亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

移相法

  • 基于單片機的旋轉編碼器鑒相方法

    摘要! 就如何使用單片機對旋轉增量編碼器鑒相進行了研究! 給出了常用的鑒相算法以及識 別"毛刺#的方法!并通過在!AVR單片機上編程驗證了所給出的鑒相方法$ 更多編碼器知識請訪問http://www.elecfans.com/zhuanti/20111111242149.html  

    標簽: 單片機 旋轉編碼器 鑒相

    上傳時間: 2013-11-16

    上傳用戶:wojiaohs

  • 基于ATmega48的3相無刷電機的控制方法

    介紹了采用ATmega48單片機實現三相無刷直流電機控制器的方法。利用Atmega48獲得帶死區(qū)的脈寬調制(PWM)、霍爾傳感器的換相處理、正弦驅動信號的產生和電機轉速的控制等功能。采用該方法的優(yōu)點是所需的外圍器件少,成本低。 Abstract:  The method of 3-phase brushless DC motor control based on ATmega48 is presented in this paper.The system uses ATmega48 to generate PWM signals with dead-time, hall sensors signals commutation,sine driving signal and rotational speed of motor.Using this method,the needed external devices are few, the cost is low.

    標簽: ATmega 48 無刷電機 控制方法

    上傳時間: 2013-12-09

    上傳用戶:330402686

  • 文字轉發(fā)音單片處理器WTS701的原理及應用

    WTS701是華邦公司推出的內建喇叭驅動功能的“文字轉發(fā)音”單芯片集成電路。該芯片將連續(xù)運算法與華邦專有的多層次儲存技術相結合,從而實現了真正將“文字轉發(fā)音”的完整功能。文中介紹了該芯片的原理及典型應用,給出了Cygnal F120 MPU與WTS701 的接口電路,并根據相應的芯片指令給出了其控制軟件的代碼程序。 Abstract:  WTS701 is really a single chip on “text-to-speech” produced by Winbond company building-in algorithm with the company's patented multi-level storageMLS technology熏 different from other chips that “text-to-speech” on the market at present. The principle and typical application of this chip are introduced in this article the interface circuit of Cygnal F120 MPU and WTS701 is presented. The corresponding? control software is provided.

    標簽: WTS 701 發(fā)音 單片處理

    上傳時間: 2013-10-08

    上傳用戶:旗魚旗魚

  • AVR單片機實用程序設計

    清單1 LSDAA:  ADC     R16,R16      ;十進制數(在R16中)左移調整子程序 ADDAA:  IN      R6,SREG      ;bcd碼相加調整子程序,先保存相加后的         LDI     R17,$66      ;狀態(tài)the old status         ADD     R16,R17      ;再將和預加立即數$66         IN      R17,SREG     ;輸入相加后新狀態(tài)(the new status)         OR      R6,R17       ;新舊狀態(tài)相或         SBRS    R6,0         ;相或后進位置位則跳行         SUBI    R16,$60      ;否則減去$60(十位bcd不滿足調整條件)         SBRS    R6,5         ;半進位置位則跳行         SUBI    R16,6        ;否則減去$06(個位bcd不滿足調整條件)         ROR     R6           ;向高位BCD返還進位位!         RET

    標簽: AVR 單片機實用 程序設計

    上傳時間: 2013-10-08

    上傳用戶:zh_901

  • FE427單相多功能電表DEMO板指導書--ESP模塊應用

    MSP430FE42X為MSP430系列的一新的品種,它是美國德州儀器針對單相電能表設計研制的。該芯片不擔繼承MSP430系列產品的具有超低功耗,集成高度而且還具有128段LCD驅動器,并帶有3個捕獲/比較寄存的16位定時器。

    標簽: DEMO 427 ESP FE

    上傳時間: 2013-11-14

    上傳用戶:diets

  • 單片機控制的氣相色譜熱導檢測器研究

    摘要:針對氣相色譜熱導檢測器的弱信號失真問題,研究與設計熱導檢測器的弱信號測量電路及其單片機控制系統,進一步提高氣相色譜熱導檢測系統的靈敏度和可靠性。關鍵詞:熱導檢測 單片機控制 弱信號測量

    標簽: 單片機控制 色譜 熱導檢測

    上傳時間: 2014-12-27

    上傳用戶:stella2015

  • C8051F330低成本智能單相交流電壓表方案(取代傳統動圈

    C8051F330低成本智能單相交流電壓表方案(取代傳統動圈表) 該方案采用的http://www.elecfans.com/soft/33/2010/單片機集成度高,資源豐富。與其它類型的http://www.elecfans.com/soft/33/2010/單片機相比,所需要外加的外圍器件最少,是做智能單相電流電壓表最理想的一款http://www.elecfans.com/soft/33/2010/單片機。

    標簽: C8051F330 單相交流 動圈 電壓表

    上傳時間: 2013-10-27

    上傳用戶:z754970244

  • 單片機入門基礎知識大全免費下載

    單片機入門基礎知識大全免費下載 單片機第八課(尋址方式與指令系統) 通過前面的學習,我們已經了解了單片機內部的結構,并且也已經知道,要控制單片機,讓它為我們干學,要用指令,我們已學了幾條指令,但很零散,從現在開始,我們將要系統地學習8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計算機做事,就得給計算機以指令,并且我們已知,計算機很“笨”,只能懂得數字,如前面我們寫進機器的75H,90H,00H等等,所以指令的第一種格式就是機器碼格式,也說是數字的形式。但這種形式實在是為難我們人了,太難記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關系呢,我們不難理解,本質上它們完全等價,只是形式不一樣而已。 2、匯編 我們寫指令使用匯編格式,而計算機只懂機器碼格式,所以要將我們寫的匯編格式的指令轉換為機器碼格式,這種轉換有兩種方法:手工匯編和機器匯編。手工匯編實際上就是查表,因為這兩種格式純粹是格式不同,所以是一一對應的,查一張表格就行了。不過手工查表總是嫌麻煩,所以就有了計算機軟件,用計算機軟件來替代手工查表,這就是機器匯編。 二、尋址 讓我們先來復習一下我們學過的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數據送到相應的位置中去,為什么要送數據呢?第一個因為送入的數可以讓燈全滅掉,第二個是為了要實現延時,從這里我們可以看出來,在用單片機的編程語言編程時,經常要用到數據的傳遞,事實上數據傳遞是單片機編程時的一項重要工作,一共有28條指令(單片機共111條指令)。下面我們就從數據傳遞類指令開始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結論,第一個詞MOV是命令動詞,也就是決定做什么事情的,MOV是MOVE少寫了一個E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數,分析一下,數據傳遞必須要有一個“源”也就是你要送什么數,必須要有一個“目的”,也就是你這個數要送到什么地方去,顯然在上面那條指令中,要送的數(源)就是0FFH,而要送達的地方(目的地)就是P1這個寄存器。在數據傳遞類指令中,均將目的地寫在指令的后面,而將源寫在最后。 這條指令中,送給P1是這個數本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時候都可以直接給出數本身的。例如,在我們前面給出的延時程序例是這樣寫的: MAIN: SETB P1.0    ??;(1)    LCALL DELAY ;(2)     CLR P1.0      ;(3)    LCALL DELAY   ;(4)     AJMP MAIN   ??;(5) ;以下子程序 DELAY: MOV R7,#250  ?。唬ǎ叮?D1: MOV R6,#250  ??;(7) D2: DJNZ R6,D2   ??;(8)    DJNZ R7,D1   ;(9)    RET       ??;(10)    END       ??;(11)     表1  MAIN: SETB P1.0     ;(1)    MOV 30H,#255     LCALL DELAY ;     CLR P1.0      ;(3)     MOV 30H,#200     LCALL DELAY  ??;(4)     AJMP MAIN   ??;(5) ;以下子程序 DELAY: MOV R7,30H  ??;(6) D1: MOV R6,#250  ??;(7) D2: DJNZ R6,D2   ??;(8)    DJNZ R7,D1   ;(9)    RET       ??;(10)    END        ;(11) 表2    這樣一來,我每次調用延時程序延時的時間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時時間為0.13S燈滅,燈滅后延時0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時程序改成這樣(見表2):調用則見表2中的主程,也就是先把一個數送入30H,在子程序中R7中的值并不固定,而是根據30H單元中傳過來的數確定。這樣就可以滿足要求。 從這里我們可以得出結論,在數據傳遞中要找到被傳遞的數,很多時候,這個數并不能直接給出,需要變化,這就引出了一個概念:如何尋找操作數,我們把尋找操作數所在單元的地址稱之為尋址。在這里我們直接使用數所在單元的地址找到了操作數,所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數放在工作寄存器中,從工作寄存器中尋找數據,則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數據送到累加器A中去。提一個問題:我們知道,工作寄存器就是內存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來,MOV A,00H,和MOV A,R0不就沒什么區(qū)別了嗎?為什么要加以區(qū)分呢?的確,這兩條指令執(zhí)行的結果是完全相同的,都是將00H單元中的內容送到A中去,但是執(zhí)行的過程不同,執(zhí)行第一條指令需要2個周期,而第二條則只需要1個周期,第一條指令變成最終的目標碼要兩個字節(jié)(E5H 00H),而第二條則只要一個字節(jié)(E8h)就可以了。 這么斤斤計較!不就差了一個周期嗎,如果是12M的晶振的話,也就1個微秒時間了,一個字節(jié)又能有多少? 不對,如果這條指令只執(zhí)行一次,也許無所謂,但一條指令如果執(zhí)行上1000次,就是1毫秒,如果要執(zhí)行1000000萬次,就是1S的誤差,這就很可觀了,單片機做的是實時控制的事,所以必須如此“斤斤計較”。字節(jié)數同樣如此。 再來提一個問題,現在我們已知,尋找操作數可以通過直接給的方式(立即尋址)和直接給出數所在單元地址的方式(直接尋址),這就夠了嗎? 看這個問題,要求從30H單元開始,取20個數,分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數,就用MOV A,30H,那么下一個數呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個數,不是得20條指令才能寫完嗎?這里只有20個數,如果要送200個或2000個數,那豈不要寫上200條或2000條命令?這未免太笨了吧。為什么會出現這樣的狀況?是因為我們只會把地址寫在指令中,所以就沒辦法了,如果我們不是把地址直接寫在指令中,而是把地址放在另外一個寄存器單元中,根據這個寄存器單元中的數值決定該到哪個單元中取數據,比如,當前這個寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個問題了。怎么個解決法呢?既然是看的寄存器中的值,那么我們就可以通過一定的方法讓這里面的值發(fā)生變化,比如取完一個數后,將這個寄存器單元中的值加1,還是執(zhí)行同一條指令,可是取數的對象卻不一樣了,不是嗎。通過例子來說明吧。    MOV R7,#20    MOV R0,#30H LOOP:MOV A,@R0    INC R0    DJNZ R7,LOOP 這個例子中大部份指令我們是能看懂的,第一句,是將立即數20送到R7中,執(zhí)行完后R7中的值應當是20。第二句是將立即數30H送入R0工作寄存器中,所以執(zhí)行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個值作為地址,取這個地址單元的內容送入A中,此時,執(zhí)行這條指令的結果就相當于MOV A,30H。第四句,沒學過,就是把R0中的值加1,因此執(zhí)行完后,R0中的值就是31H,第五句,學過,將R7中的值減1,看是否等于0,不等于0,則轉到標號LOOP處繼續(xù)執(zhí)行,因此,執(zhí)行完這句后,將轉去執(zhí)行MOV A,@R0這句話,此時相當于執(zhí)行了MOV A,31H(因為此時的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環(huán)20次為止,就實現了我們的要求:從30H單元開始將20個數據送入A中。 這也是一種尋找數據的方法,由于數據是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數據。 二、指令 數據傳遞類指令 1) 以累加器為目的操作數的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過的。第四條指令是將立即數data送到A中。 下面我們通過一些例子加以說明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個值作為地址,并將這個地址單元中的值送入A中。如執(zhí)行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數34H送入A中,執(zhí)行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A   MOV Rn,direct   MOV Rn,#data 這組指令功能是把源地址單元中的內容送入工作寄存器,源操作數不變。

    標簽: 單片機 免費下載 基礎知識

    上傳時間: 2013-10-13

    上傳用戶:3294322651

  • 基于芯片ADE7755單相電能計量電路的設計

    本文主要是針對家庭用戶設計了一單相電能計量電路。此電路采用一款高精度單相電能計量芯片ADE7755來采集用戶所使用的電量,并使用高性能的單片機AT89C51來作為整個電能采集電路的控制中心。文中給出了整個電能計量電路的組成框圖、單相電能測量電路圖以及軟件流程圖,最后介紹了試驗情況并對試驗結果進行了分析比較,通過實驗表明該電能計量電路具有較高的測量精度。

    標簽: 7755 ADE 芯片 單相電

    上傳時間: 2013-10-16

    上傳用戶:一天睡三次

  • 基于AT89C2051單片機的無環(huán)流靜止進相器

    介紹一種以AT89C51單片機為核心器件,采用晶閘管實現交一交變頻的無環(huán)流靜止進相器。論述了這種靜止進相器的硬件結構,I:作原理,補償方法。這種進相器進相補償效果明顯,具有很好的實用價值。

    標簽: C2051 2051 89C AT

    上傳時間: 2013-11-23

    上傳用戶:leixinzhuo

主站蜘蛛池模板: 耒阳市| 怀宁县| 镇江市| 嘉鱼县| 芦溪县| 萍乡市| 湖州市| 古交市| 托克逊县| 沙坪坝区| 亳州市| 永兴县| 武胜县| 淮阳县| 眉山市| 嘉鱼县| 开原市| 天峻县| 遵义市| 玛沁县| 洪江市| 扬州市| 百色市| 罗城| 陆良县| 衡阳市| 福鼎市| 遵义市| 广南县| 衡山县| 瑞安市| 湖州市| 澎湖县| 漠河县| 寿阳县| 泰安市| 安新县| 万源市| 公主岭市| 三原县| 佳木斯市|