#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上傳時間: 2013-10-21
上傳用戶:13788529953
該應用報告描述了旋轉檢測器的實現,該旋轉檢測器使用一對可檢測磁場的巨磁阻GMR(Giant Magneto-Resistive,)傳感器。傳感器的分布使它們不使用正交信號序列,這提供了討論非正交情況如何配置SIF的機會。討論了調試SIF應用程序的技術,提供了一個設計非正交進程狀態機(processing state machines)的工具。
上傳時間: 2013-10-21
上傳用戶:sammi
a_bit equ 20h ;個位數存放處 b_bit equ 21h ;十位數存放處 temp equ 22h ;計數器寄存器 star: mov temp,#0 ;初始化計數器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重來 mov temp,#0 next: ljmp stlop ;顯示子程序 display: mov a,temp ;將temp中的十六進制數轉換成10進制 mov b,#10 ;10進制/10=10進制 div ab mov b_bit,a ;十位在a mov a_bit,b ;個位在b mov dptr,#numtab ;指定查表啟始地址 mov r0,#4 dpl1: mov r1,#250 ;顯示1000次 dplop: mov a,a_bit ;取個位數 MOVC A,@A+DPTR ;查個位數的7段代碼 mov p0,a ;送出個位的7段代碼
上傳時間: 2013-11-06
上傳用戶:lx9076
置位/復位電路有多種設計方法,應根據成本預算和設置的磁場分辨率來選擇最佳方案。置位脈沖和復位脈沖對傳感器所起的作用是基本一樣的,唯一的區別是傳感器的輸出改變正負號。
上傳時間: 2013-10-17
上傳用戶:名爵少年
工作原理 該裝置電路原理見圖1。由紅外線傳感器、信號放大電路、電壓比較器、延時電路和音響報警電路等組成。紅外線探測傳感器IC1探測到前方人體輻射出的紅外線信號時,由IC1的②腳輸出微弱的電信號,經三極管VT1等組成第一級放大電路放大,再通過C2輸入到運算放大器IC2中進行高增益、低噪聲放大,此時由 IC2①腳輸出的信號已足夠強。IC3作電壓比較器,它的第⑤腳由R10、VD1提供基準電壓,當IC2①腳輸出的信號電壓到達IC3的⑥腳時,兩個輸入端的電壓進行比較, 此時IC3的⑦腳由原來的高電平變為低電平。IC4為報警延時電路,R14和C6組成延時電路,其時間約為1分鐘。當IC3的⑦腳變為低電平時,C6通過VD2放電,此時IC4的②腳變為低電平它與IC4的③腳基準電壓進行比較,當它低于其基準電壓時,IC4的①腳變為高電平,VT2 導通,訊響器BL通電發出報警聲。人體的紅外線信號消失后,IC3的⑦腳又恢復高電平輸出,此時VD2截止。由于C6兩端的電壓不能突變, 故通過R14向 C6緩慢充電,當C6兩端的電壓高于其基準電壓時,IC4的①腳才變為低電平,時間約為1分鐘,即持續1分鐘報警。
上傳時間: 2013-12-19
上傳用戶:Breathe0125
功率變換器是開關磁阻電動機調速系統(SRD)中的重要組成部分,現有的各種功率變換器大都有這樣或那樣的問題與不足,關鍵是不能保證較好的性能價格比。本文通過對兩種常用的四相開關磁阻電動機(SR)功率變換器主電路進行分析,優化、綜合常用的主電路,給出了目前最優的四相SR電機功率變換器主電路型式——最少主開關型,提高了經濟性和實用性。結合作者的研制實踐,又給出了5.5KW 的SR電機新型功率變換器的實際電路、主要器件及其定額的選擇。通過實驗成功地應用此方案,基于降低SR電機轉矩波動的有效手段,同時實現電機實時雙相繞組通電穩定運行。關鍵詞:開關磁阻電動機;功率變換器;最少主開關;繞組雙相運行
上傳時間: 2013-10-08
上傳用戶:jdm439922924
第八章 labview的編程技巧 本章介紹局部變量、全局變量、屬性節點和其他一些有助于提高編程技巧的問題,恰當地運用這些技巧可以提高程序的質量。 8.1 局部變量 嚴格的語法盡管可以保證程序語言的嚴密性,但有時它也會帶來一些使用上的不便。在labview這樣的數據流式的語言中,將變量嚴格地分為控制器(Control)和指示器(Indicator),前者只能向外流出數據,后者只能接受流入的數據,反過來不行。在一般的代碼式語言中,情況不是這樣的。例如我們有變量a、b和c,只要需要我們可以將a的值賦給b,將b的值賦給c等等。前面所介紹的labview內容中,只有移位積存器即可輸入又可輸出。另外,一個變量在程序中可能要在多處用到,在圖形語言中勢必帶來過多連線,這也是一件煩人的事。還有其他需要,因此labview引入了局部變量。
上傳時間: 2013-10-27
上傳用戶:xieguodong1234
Keil C51 V8 專業開發工具(PK51) PK51是為8051系列單片機所設計的開發工具,支持所有8051系列衍生產品,,支持帶擴展存儲器和擴展指令集(例如Dallas390/5240/400,Philips 51MX,Analog Devices MicroConverters)的新設備,以及支持很多公司的一流的設備和IP內核,比如Analog Devices, Atmel, Cypress Semiconductor, Dallas Semiconductor, Goal, Hynix, Infineon, Intel, NXP(founded by Philips), OKI, Silicon Labs,SMSC, STMicroeleectronics,Synopsis, TDK, Temic, Texas Instruments,Winbond等。 通過PK51專業級開發工具,可以輕松地了解8051的On-chip peripherals與及其它關鍵特性。 The PK51專業級開發工具包括… l μVision Ø 集成開發環境 Ø 調試器 Ø 軟件模擬器 l Keil 8051擴展編譯工具 Ø AX51宏匯編程序 Ø ANSI C編譯工具 Ø LX51 連接器 Ø OHX51 Object-HEX 轉換器 l Keil 8051編譯工具 Ø A51宏匯編程序 Ø C51 ANSI C編譯工具 Ø BL51 代碼庫連接器 Ø OHX51 Object-HEX 轉換器 Ø OC51 集合目標轉換器 l 目標調試器 Ø FlashMON51 目標監控器 Ø MON51目標監控器 Ø MON390 (Dallas 390)目標監控器 Ø MONADI (Analog Devices 812)目標監控器 Ø ISD51 在系統調試 l RTX51微實時內核 你應該考慮PK51開發工具包,如果你… l 需要用8051系列單片機來開發 l 需要開發 Dallas 390 或者 Philips 51MX代碼 l 需要用C編寫代碼 l 需要一個軟件模擬器或是沒有硬件仿真器 l 需要在單芯片上基于小實時內核創建復雜的應用
上傳時間: 2013-10-30
上傳用戶:yy_cn
磁阻傳感器為建立羅盤導航系統提供了固態有效的解決辦法!但是我們怎么才能夠從簡單的3 軸數據得到羅盤的方位角呢?下面就將一步步告訴你如何去實現!
上傳時間: 2013-11-10
上傳用戶:潛水的三貢
用途:測量地磁方向,測量物體靜止時候的方向,測量傳感器周圍磁力線的方向。注意,測量地磁時候容易受到周圍磁場影響,主芯片HMC5883 三軸磁阻傳感器特點(抄自網上): 1,數字量輸出:I2C 數字量輸出接口,設計使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封裝,適合大規模量產使用。 3,精度高:1-2 度,內置12 位A/D,OFFSET, SET/RESET 電路,不會出現磁飽和現象,不會有累加誤差。 4,支持自動校準程序,簡化使用步驟,終端產品使用非常方便。 5,內置自測試電路,方便量產測試,無需增加額外昂貴的測試設備。 6,功耗低:供電電壓1.8V, 功耗睡眠模式-2.5uA 測量模式-0.6mA 連接方法: 只要連接VCC,GND,SDA,SDL 四條線。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接線是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = atan2(scaled.YAxis, scaled.XAxis); float yHeading = atan2(scaled.ZAxis, scaled.XAxis); float zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上傳時間: 2013-12-16
上傳用戶:stella2015