C8051Fxxx 系列單片機是完全集成的混合信號系統級芯片,具有與8051 兼容的微控制器內核,與MCS-51 指令集完全兼容。除了具有標準8052 的數字外設部件之外,片內還集成了數據采集和控制系統中常用的模擬部件和其它數字外設及功能部件。參見表1.1 的產品選擇指南可快速查看每個MCU 的特性。 MCU 中的外設或功能部件包括模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準、溫度傳感器、SMBus/ I2C、UART、SPI、可編程計數器/定時器陣列(PCA)、定時器、數字I/O 端口、電源監視器、看門狗定時器(WDT)和時鐘振蕩器等。所有器件都有內置的FLASH 程序存儲器和256 字節的內部RAM,有些器件內部還有位于外部數據存儲器空間的RAM,即XRAM。C8051Fxxx 單片機采用流水線結構,機器周期由標準的12 個系統時鐘周期降為1 個系統時鐘周期,處理能力大大提高,峰值性能可達25MIPS。C8051Fxxx 單片機是真正能獨立工作的片上系統(SOC)。每個MCU 都能有效地管理模擬和數字外設,可以關閉單個或全部外設以節省功耗。FLASH 存儲器還具有在系統重新編程能力,可用于非易失性數據存儲,并允許現場更新8051 固件。應用程序可以使用MOVC 和MOVX 指令對FLASH 進行讀或改寫,每次讀或寫一個字節。這一特性允許將程序存儲器用于非易失性數據存儲以及在軟件控制下更新程序代碼。片內JTAG 調試支持功能允許使用安裝在最終應用系統上的產品MCU 進行非侵入式(不占用片內資源)、全速、在系統調試。該調試系統支持觀察和修改存儲器和寄存器,支持斷點、單步、運行和停機命令。在使用JTAG 調試時,所有的模擬和數字外設都可全功能運行。每個MCU 都可在工業溫度范圍(-45℃到+85℃)內用2.7V-3.6V(F018/019 為2.8V-3.6V)的電壓工作。端口I/O、/RST 和JTAG 引腳都容許5V 的輸入信號電壓。
上傳時間: 2013-11-14
上傳用戶:jiangshandz
為了滿足家居智能化和網絡化的發展需求,提出了一種基于Zigbee和電容觸控技術的燈光控制器的設計方案,并完成了系統設計。重點描述了系統的電源驅動電路、觸摸感應電路以及CC2530片上系統的實現。實際應用表明,該系統具有安全可靠、操控精準、組網方便的特點,達到了設計要求。
上傳時間: 2013-11-08
上傳用戶:tfyt
一、傳感器的定義信息處理技術取得的進展以及微處理器和計算機技術的高速發展,都需要在傳感器的開發方面有相應的進展。微處理器現在已經在測量和控制系統中得到了廣泛的應用。隨著這些系統能力的增強,作為信息采集系統的前端單元,傳感器的作用越來越重要。傳感器已成為自動化系統和機器人技術中的關鍵部件,作為系統中的一個結構組成,其重要性變得越來越明顯。最廣義地來說,傳感器是一種能把物理量或化學量轉變成便于利用的電信號的器件。國際電工委員會(IEC:International Electrotechnical Committee)的定義為:“傳感器是測量系統中的一種前置部件,它將輸入變量轉換成可供測量的信號”。按照Gopel等的說法是:“傳感器是包括承載體和電路連接的敏感元件”,而“傳感器系統則是組合有某種信息處理(模擬或數字)能力的傳感器”。傳感器是傳感器系統的一個組成部分,它是被測量信號輸入的第一道關口。傳感器系統的原則框圖示于圖1-1,進入傳感器的信號幅度是很小的,而且混雜有干擾信號和噪聲。為了方便隨后的處理過程,首先要將信號整形成具有最佳特性的波形,有時還需要將信號線性化,該工作是由放大器、濾波器以及其他一些模擬電路完成的。在某些情況下,這些電路的一部分是和傳感器部件直接相鄰的。成形后的信號隨后轉換成數字信號,并輸入到微處理器。德國和俄羅斯學者認為傳感器應是由二部分組成的,即直接感知被測量信號的敏感元件部分和初始處理信號的電路部分。按這種理解,傳感器還包含了信號成形器的電路部分。傳感器系統的性能主要取決于傳感器,傳感器把某種形式的能量轉換成另一種形式的能量。有兩類傳感器:有源的和無源的。有源傳感器能將一種能量形式直接轉變成另一種,不需要外接的能源或激勵源(參閱圖1-2(a))。有源(a)和無源(b)傳感器的信號流程無源傳感器不能直接轉換能量形式,但它能控制從另一輸入端輸入的能量或激勵能傳感器承擔將某個對象或過程的特定特性轉換成數量的工作。其“對象”可以是固體、液體或氣體,而它們的狀態可以是靜態的,也可以是動態(即過程)的。對象特性被轉換量化后可以通過多種方式檢測。對象的特性可以是物理性質的,也可以是化學性質的。按照其工作原理,傳感器將對象特性或狀態參數轉換成可測定的電學量,然后將此電信號分離出來,送入傳感器系統加以評測或標示。各種物理效應和工作機理被用于制作不同功能的傳感器。傳感器可以直接接觸被測量對象,也可以不接觸。用于傳感器的工作機制和效應類型不斷增加,其包含的處理過程日益完善。常將傳感器的功能與人類5大感覺器官相比擬: 光敏傳感器——視覺;聲敏傳感器——聽覺;氣敏傳感器——嗅覺;化學傳感器——味覺;壓敏、溫敏、流體傳感器——觸覺。與當代的傳感器相比,人類的感覺能力好得多,但也有一些傳感器比人的感覺功能優越,例如人類沒有能力感知紫外或紅外線輻射,感覺不到電磁場、無色無味的氣體等。對傳感器設定了許多技術要求,有一些是對所有類型傳感器都適用的,也有只對特定類型傳感器適用的特殊要求。針對傳感器的工作原理和結構在不同場合均需要的基本要求是: 高靈敏度,抗干擾的穩定性(對噪聲不敏感),線性,容易調節(校準簡易),高精度,高可靠性,無遲滯性,工作壽命長(耐用性) ,可重復性,抗老化,高響應速率,抗環境影響(熱、振動、酸、堿、空氣、水、塵埃)的能力 ,選擇性,安全性(傳感器應是無污染的),互換性 低成本 ,寬測量范圍,小尺寸、重量輕和高強度,寬工作溫度范圍 。二、傳感器的分類可以用不同的觀點對傳感器進行分類:它們的轉換原理(傳感器工作的基本物理或化學效應);它們的用途;它們的輸出信號類型以及制作它們的材料和工藝等。根據傳感器工作原理,可分為物理傳感器和化學傳感器二大類:傳感器工作原理的分類物理傳感器應用的是物理效應,諸如壓電效應,磁致伸縮現象,離化、極化、熱電、光電、磁電等效應。被測信號量的微小變化都將轉換成電信號?;瘜W傳感器包括那些以化學吸附、電化學反應等現象為因果關系的傳感器,被測信號量的微小變化也將轉換成電信號。有些傳感器既不能劃分到物理類,也不能劃分為化學類。大多數傳感器是以物理原理為基礎運作的。化學傳感器技術問題較多,例如可靠性問題,規模生產的可能性,價格問題等,解決了這類難題,化學傳感器的應用將會有巨大增長。常見傳感器的應用領域和工作原理列于表1.1。按照其用途,傳感器可分類為: 壓力敏和力敏傳感器 ,位置傳感器 , 液面傳感器 能耗傳感器 ,速度傳感器 ,熱敏傳感器,加速度傳感器,射線輻射傳感器 ,振動傳感器,濕敏傳感器 ,磁敏傳感器,氣敏傳感器,真空度傳感器,生物傳感器等。以其輸出信號為標準可將傳感器分為: 模擬傳感器——將被測量的非電學量轉換成模擬電信號。數字傳感器——將被測量的非電學量轉換成數字輸出信號(包括直接和間接轉換)。膺數字傳感器——將被測量的信號量轉換成頻率信號或短周期信號的輸出(包括直接或間接轉換)。開關傳感器——當一個被測量的信號達到某個特定的閾值時,傳感器相應地輸出一個設定的低電平或高電平信號。
上傳時間: 2013-10-11
上傳用戶:zhangdebiao
在WCDMA 網絡建設初期、網絡發展期,為了節省投資,一般不會形成全國性連續覆蓋網絡,這時可以使用WCDMA 和GSM 雙模終端, 充分利用GSM 網絡的連續覆蓋,避免WCDMA 用戶的覆蓋盲區,同時又能保證GSM 用戶可以很好的享受3G 高端業務的服務,因此未來WCDMA和GSM 商用網絡共存是必然趨勢。為了節省WCDMA 網絡的投資和加快網絡建設速度,在未來的WCDMA 網絡建設中, 可以考慮WCDMA 和GSM 基站共站點。
上傳時間: 2014-01-09
上傳用戶:z1191176801
《萬用電表使用技巧60例》分為兩章:第1章介紹萬用電表基本知識,用7個小標題介紹了目前流行使用的模擬萬用電表、數字萬用電表、雙顯萬用電表的技術特性、操作面板、讀數裝置以及萬用電表的選擇和使用須知。第2章介紹萬用電表使用技巧與實例,通過60個小標題介紹了怎樣使用萬用電表測試電路參數、檢查電路故障、檢測電器元件等,資料翔實,非常實用。
上傳時間: 2014-12-31
上傳用戶:786334970
注:1.這篇文章斷斷續續寫了很久,畫圖技術也不精,難免錯漏,大家湊合看.有問題可以留言. 2.論壇排版把我的代碼縮進全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調制波,通過調整輸出信號占空比,從而達到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調制波。分辨率8 位即2 的8 次方等于 256 級精度。但是有時候我們會覺得6 個PWM 引腳不夠用。比如我們做一個10 路燈調光, 就需要有10 個PWM 腳。Arduino Duemilanove 2009 有13 個數字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調壓原理:PWM 有好幾種方法。而Arduino 因為電源和實現難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調整一個周期里面輸出腳高/低電平的時間比(即是占空比)去獲得給一個用電器不同 的平均功率。 如圖所示,假設PWM 波形周期1ms(即1kHz),分辨率1000 級。那么需要一個信號時間 精度1ms/1000=1us 的信號源,即1MHz。所以說,PWM 的實現難點在于需要使用很高頻的 信號源,才能獲得快速與高精度。下面先由一個簡單的PWM 程序開始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 這是一個軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測試此代碼。 程序解析:由for 循環可以看出,完成一個PWM 周期,共循環255 次。 假設bright=100 時候,在第0~100 次循環中,i 等于1 到99 均小于bright,于是輸出PWMPin 高電平; 然后第100 到255 次循環里面,i 等于100~255 大于bright,于是輸出PWMPin 低電平。無 論輸出高低電平都保持30us。 那么說,如果bright=100 的話,就有100 次循環是高電平,155 次循環是低電平。 如果忽略指令執行時間的話,這次的PWM 波形占空比為100/255,如果調整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設置了每次for 循環之后,將bright 加一,并且當bright 加到255 時歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應該是大家想的比較多的想法。 然后介紹一個簡單一點的。思維風格完全不同。不過對于驅動一個LED 來說,效果與上面 的程序一樣。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,這段代碼少了一個For 循環。它先輸出一個高電平,然后維持(bright*30)us。然 后輸出一個低電平,維持時間((255-bright)*30)us。這樣兩次高低就能完成一個PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運行起來不占CPU 時間,所以軟件模擬一個引腳的PWM 完全沒有實用意義。我們軟件模擬的價值在于:他能將任意的數字IO 口變成PWM 引腳。 當一片Arduino 要同時控制多個PWM,并且沒有其他重任務的時候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個引腳的初始亮度,可以隨意設置 int StartPWMPin = 0, EndPWMPin = 13; //設置D0~D13為PWM 引腳 int PWMResolution = 255; //設置PWM 占空比分辨率 void setup() { //定義所有IO 端輸出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //隨便定義個初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環是為14盞燈做漸亮的。每次Arduino loop()循環, //brights 自增一次。直到brights=255時候,將brights 置零重新計數。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是計數一個PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個PWM 周期均遍歷所有引腳 { if(i < brights[j])\ 所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調整LED 亮度的話,我們用64 級精度就行。這樣速度就是2x32x64=4ms。就不會閃了。
上傳時間: 2013-10-08
上傳用戶:dingdingcandy
摘要:介紹用一片GAL16V8實現的模≤2n可編程計數器。它是基于“最大長度移位寄存器式計數器”的原理設計而成的.電路簡單可靠.同時介紹一種由它組成的實用電路——由GAL實現時、分、秒計時的數字鐘電路。 關鍵詞:GAL 最大長度移位寄存器式計數器
上傳時間: 2013-11-12
上傳用戶:comua
萬用表的選擇和應用,內容格式為PDG格式。請大家使用PDG閱讀器查看
上傳時間: 2013-11-17
上傳用戶:boyaboy
對于電子初學者,建議使用指針式萬用表,因為它對我們熟悉一些電子知識原理很有幫助。下面我們介紹一些機械指針式萬用表的原理和使用方法。
標簽: 指針式萬用表
上傳時間: 2013-10-31
上傳用戶:oooool
以SPI總線技術為基礎,用微控制器S3C2450X和電平轉換芯片MAX3088設計了一個RS-422接口電路,將SPI單端非平衡傳輸信號轉換為RS-422差分信號。在保證SPI同步傳輸的高效性和高速性的同時,還增強了信號的抗干擾能力。 主要使用9 個信號主機輸入G從機輸出C 主機輸出從機輸入 串行時鐘C 或外設片選或從機選擇信號由從機在主機的控制下產生信號用于禁止或使能外設的收發功能為高電平時\" 禁止外設接收和發送數據為低電平時\" 允許外設接收和發送數據! 圖1 所示是微處理器通過與外設連接的示意圖!
上傳時間: 2014-03-21
上傳用戶:lizhen9880