我們今天的時代,已經進入了一個無線無處不在的時代,出門,我們使用手機打電話,發短信,在家,我們使用無繩電話;開車,我們使用GPS導航找路;上班,我們使用無線網卡上網,辦公…..但是,現在我們很難將這些“高檔”的無線應用和低價格,低功率消耗,小體積的8位單片機聯系起來,雖然8位單片機已經在各行各業廣泛的使用大顯聲威,是目前工業用嵌入式單片機的主流,在工業控制,家電工業,住宅自動化等許多方面有廣泛應用;目前我們接觸到的這些無線應用例如手機,BB機,802.11標準的網卡/路由器等都具有一個共同的特點是:1/功率消耗較大,需要較大電池支持;2/價格較高,動輒幾十到幾百美元3/需要一定體積,不能做到像一個紐扣那么小;然而,正是這些特點,限制了無線產品向更廣闊的應用空間發展,而能夠突破這個無線應用得瓶頸的關鍵,確正是這個小小的其貌不揚8位單片機;
上傳時間: 2013-10-28
上傳用戶:GHF
設計了一種多路智能遙控節電器。該節電器通過檢測各路用電器的工作電流來判斷各路上的用電器是否處于待機狀態,同時通過遙控器為每路用電器的待機時長設定一個限制時間t,在t時間內自動控制該路用電器電源的斷開與閉合。該節電器功能靈活、適用范圍廣、造價低、實用性強。
上傳時間: 2013-10-28
上傳用戶:sz_hjbf
Keil C251設計軟件V3.11(4k代碼限制) keil c251 v3.11 demo版的安裝說明:安裝方法是先將V3.11安裝程序用winzip解壓縮到某個目錄下。(不要直接點擊setup.exe安裝),比如解壓縮到c:\c251然后執行c:\c251\setup\setup.exe 安裝程序,這個程序會讓你選擇安裝Eval Version版還是Full Version版,選擇Eval Version版進行安裝 安裝好之后就可以使用,但有代碼大小的限制。需要無限制的版本,請購買正版軟件。 C251是intel公司的16位單片機,指令兼容51的單片機。8位單片機風靡了20年,下一個20年應該是16位單片機的世界。
上傳時間: 2014-01-23
上傳用戶:yanqie
該器件可橋接SMBus(350μA)、3.3V邏輯器件,15V電平及低阻抗導線可以延長通信距離,增加抗干擾能力。該器件對I2C總線協議和時鐘速率沒有特殊要求。P82B96能增加I2C總線節點上掛接的最小負載數、新總線負載數和遠程I2C總線器件數,且不會對本地節點造成影響。掛接器件數目和物理上的限制也會大大減小。通過平衡傳輸線(雙絞線)或光耦隔離(光纖)發送信號,Tx、Rx結構上的分隔使其發送變得簡單,且Tx和Rx信號直接相連時而不會鎖死。
上傳時間: 2013-10-27
上傳用戶:sxdtlqqjl
自動檢測80C51串行通訊中的波特率:本文介紹一種在80C51 串行通訊應用中自動檢測波特率的方法。按照經驗,程序起動后所接收到的第1 個字符用于測量波特率。這種方法可以不用設定難于記憶的開關,還可以免去在有關應用中使用多種不同波特率的煩惱。人們可以設想:一種可靠地實現自動波特檢測的方法是可能的,它無須嚴格限制可被確認的字符。問題是:在各種的條件下,如何可以在大量允許出現的字符中找出波特率定時間隔。顯然,最快捷的方法是檢測一個單獨位時間(single bit time),以確定接收波特率應該是多少。可是,在RS-232 模式下,許多ASCII 字符并不能測量出一個單獨位時間。對于大多數字符來說,只要波特率存在合理波動(這里的波特率是指標準波特率),從起始位到最后一位“可見”位的數據傳輸周期就會在一定范圍內發生變化。此外,許多系統采用8 位數據、無奇偶校驗的格式傳輸ASCII 字符。在這種格式里,普通ASCII 字節不會有MSB 設定,并且,UART總是先發送數據低位(LSB),后發送數據高位(MSB),我們總會看見數據的停止位。在下面的波特率檢測程序中,先等待串行通訊輸入管腳的起始信號(下降沿),然后起動定時器T0。在其后的串行數據的每一個上升沿,將定時器T0 的數值捕獲并保存。當定時器T0溢出時,其最后一次捕獲的數值即為從串行數據起始位到最后一個上升沿(我們假設是停止位)過程所持續的時間。
上傳時間: 2014-08-22
上傳用戶:dajin
S51下載線的制作-單片機實用技術探討:在微電腦技術發展的今天,人們整天都在和單片機打交道,但作為一個電子愛好者,盡管我對微電腦非常感興趣,但我卻怎末也入不了門。在此,我將自己的學習體會寫出來,與大家共賞,希望大家能更好的了解單片機,了解單片機或微電腦的工作方式,了解單片機周圍元件的作用和接口電路,為以后的維修之路打好基礎,如果有興趣,還可以編寫一些符合自己要求的程序,要它根據要求做一些事情。因為它無處不在,手機,電視,VC D ,D VD ,M P3,空調,冰箱,全自動洗衣機,電扇等,我們都可以在其電路板上看到C PU ,當然,我不會在此講述所有的C PU ,只介紹S52的簡單電路,希望大家對C PU 有一個初步的解。為了便于初學者學習,我盡量講的詳細些。便于理解,依實用為目的,讓大家更好的理解單片機,應用單片機。
上傳時間: 2013-12-26
上傳用戶:3到15
智能直流高頻開關電源系統微機監控模塊的研制:摘要:智能直流高頻開關電源系統以其高精度、低紋波、高效率等特性而正在逐步取代傳統的可控硅整流裝置。文章介紹了智能直流高頻開關電源系統的特點及功能。給出一種雙微機監控直流系統的構成方法以及微機監控模塊的工作原理。關鍵詞:單片機; 監控; 直流電源; 蓄電池2 高性能、高可靠性和高效率的直流電源系統在電力、電信、石化以及冶金等諸多領域中都有著相當廣泛的應用。隨著高頻開關電源技術、應用電子技術和計算機技術的高速發展,直流高頻開關電源系統依靠它的高精度、低紋波、高效率及功率因數等優越性能,正在逐步取代傳統的可控硅整流裝置。隨著閥控式蓄電池(免維護蓄電池)越來越多地應用于直流電源系統,以及對直流系統的苛刻要求,高頻開關電源的應用也日益廣泛。同時,高頻開關電源系統的高速響應性能、輸出短路電流限制及穩壓和穩流等優點也使閥控式蓄電池的使用壽命大大增加。此外,由于智能直流高頻開關電源系統可以完全處于微機的智能化控制之下而不需要人為干預便可完成對整個系統的測量和控制。因此,采用智能高頻開關電源可以最大限度地提高系統的性能。下面介紹智能直流高頻開關電源系統及其微機監控模塊的工作原理。
上傳時間: 2014-12-28
上傳用戶:gokk
通用的多電源總線,如VME、VXI 和PCI 總線,都可提供功率有限的3.3V、5V 和±12V(或±24V)電源,如果在這些系統中添加設備(如插卡等),則需要額外的3.3V或5V電源,這個電源通常由負載較輕的-12V電源提供。圖1 電路,將-12V 電壓升壓到15.3V(相對于-12V 電壓),進而得到3.3V 的電源電壓,輸出電流可達300mA。Q2 將3.3V 電壓轉換成適當的電壓(-10.75V)反饋給IC1 的FB 引腳,PWM 升壓控制器可提供1W 的輸出功率,轉換效率為83%。整個電路大約占6.25Cm2的線路板尺寸,適用于依靠臺式PC機電源供電,需要提供1W輸出功率的應用,這種應用中,由于-12V總線電壓限制在1.2W以內,因此需要保證高于83%的轉換效率。由于限流電阻(RSENSE)將峰值電流限制在120mA,N 溝道MOSFET(Q1)可選用廉價的邏輯電平驅動型場效應管,R1、R2 設置輸出電壓(3.3V 或5V)。IC1 平衡端(Pin5)的反饋電壓高于PGND引腳(Pin7)1.25V,因此:VFB = -12V + 1.25V = - 10.75V選擇電阻R1后,可確定:I2 = 1.25V / R1 = 1.25V / 12.1kΩ = 103μA可由下式確定R2:R2 = (VOUT - VBE)/ I2 =(3.3V - 0.7V)/ 103μA = 25.2 kΩ圖1 中,IC1 的開關頻率允許通過外部電阻設置,頻率范圍為100kHz 至500kHz,有利于RF、數據采集模塊等產品的設計。當選擇較高的開關頻率時,能夠保證較高的轉換效率,并可選用較小的電感和電容。為避免電流倒流,可在電路中增加一個與R1串聯的二極管。
上傳時間: 2013-10-17
上傳用戶:jixingjie
用C 語言來開發單片機系統軟件最大的好處是編寫代碼效率高、軟件調試直觀、維護升級方便、代碼的重復利用率高、便于跨平臺的代碼移植等等,因此C 語言編程在單片機系統設計中已得到越來越廣泛的運用。針對PIC 單片機的軟件開發,同樣可以用C 語言實現。但在單片機上用C 語言寫程序和在PC 機上寫程序絕對不能簡單等同。現在的PC 機資源十分豐富,運算能力強大,因此程序員在寫PC 機的應用程序時幾乎不用關心編譯后的可執行代碼在運行過程中需要占用多少系統資源,也基本不用擔心運行效率有多高。寫單片機的C 程序最關鍵的一點是單片機內的資源非常有限,控制的實時性要求又很高,因此,如果沒有對單片機體系結構和硬件資源作詳盡的了解,以筆者的愚見認為是無法寫出高質量實用的C 語言程序。這就是為什么前面所有章節中的的示范代碼全部用基礎的匯編指令實現的原因,希望籍此能使讀者對PIC 單片機的指令體系和硬件資源有深入了解,在這基礎之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機來展開討論,Microchip 公司自己沒有針對中低檔系列PIC單片機的C 語言編譯器,但很多專業的第三方公司有眾多支持PIC 單片機的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC編譯器,它穩定可靠,編譯生成的代碼效率高,在用PIC 單片機進行系統設計和開發的工程師群體中得到廣泛認可。其正式完全版軟件需要購置,但在其網站上有限時的試用版供用戶評估。另外,Hitech 公司針對廣大PIC 的業余愛好者和初學者還提供了完全免費的學習版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機型號限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機因其所具備的豐富的片上資源而最適用于單片機學習入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機的C 語言編程。
上傳時間: 2013-11-17
上傳用戶:aa54
三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058