摘要:介紹了一種采用單片機(jī)控制溫度的新型電烙鐵,給出了單片機(jī)控制系統(tǒng)的組成及工作原理。通過使用該電烙鐵,可使操作更加便捷、安全,同時(shí)也可節(jié)約一部分能源。關(guān)鍵詞:?jiǎn)纹瑱C(jī);控制;電烙鐵
上傳時(shí)間: 2013-10-15
上傳用戶:moshushi0009
P87LPC767 OTP 單片機(jī)原理 P87LPC767 是20 腳封裝的單片機(jī)適合于許多要求高集成度低成本的場(chǎng)合可以滿足許多方面的性能要求作為Philips 小型封裝系列中的一員P87LPC767 提供高速和低速的晶振和RC 振蕩方式可編程選擇具有較寬的操作電壓范圍可編程I/O 口線輸出模式選擇可選擇施密特觸發(fā)輸入LED 驅(qū)動(dòng)輸出有內(nèi)部看門狗定時(shí)器P87LPC767 采用80C51 加速處理器結(jié)構(gòu)指令執(zhí)行速度是標(biāo)準(zhǔn)80C51 MCU 的兩倍特性 操作頻率為20MHz 時(shí)除乘法和除法指令外加速80C51 指令執(zhí)行時(shí)間為300600ns VDD=4.5 5.5V 時(shí)時(shí)鐘頻率可達(dá)20MHz VDD=2.7 4.5V 時(shí)時(shí)鐘頻率最大為10MHz 4 通道多路8 位A/D 轉(zhuǎn)換器在振蕩器頻率fosc=20MHz 時(shí)轉(zhuǎn)換時(shí)間為9.3μs 用于數(shù)字功能時(shí)操作電壓范圍為2.7 6.0V 4K 字節(jié)OTP 程序存儲(chǔ)器128 字節(jié)的RAM 32Byte 用戶代碼區(qū)可用來(lái)存放序列碼及設(shè)置參數(shù) 2 個(gè)16 位定時(shí)/計(jì)數(shù)器每一個(gè)定時(shí)器均可設(shè)置為溢出時(shí)觸發(fā)相應(yīng)端口輸出 內(nèi)含 2 個(gè)模擬比較器 全雙工通用異步接收/發(fā)送器UART 及I2C 通信接口 八個(gè)鍵盤中斷輸入另加2 路外部中斷輸入 4 個(gè)中斷優(yōu)先級(jí) 看門狗定時(shí)器利用片內(nèi)獨(dú)立振蕩器,無(wú)需外接元件,看門狗定時(shí)器溢出時(shí)間有8 種選擇 低電平復(fù)位使用片內(nèi)上電復(fù)位時(shí)不需要外接元件 低電壓復(fù)位選擇預(yù)設(shè)的兩種電壓之一復(fù)位可在掉電時(shí)使系統(tǒng)安全關(guān)閉也可將其設(shè)置為一個(gè)中斷源 振蕩器失效檢測(cè)看門狗定時(shí)器具有獨(dú)立的片內(nèi)振蕩器因此它可用于振蕩器的失效檢測(cè) 可配置的片內(nèi)振蕩器及其頻率范圍和RC 振蕩器選項(xiàng)(用戶通過對(duì)EPROM 位編程選擇) 選擇RC 振蕩器時(shí)不需外接振蕩器件 可編程 I/O 口輸出模式準(zhǔn)雙向口,開漏輸出,上拉和只有輸入功能可選擇施密特觸發(fā)輸入 所有口線均有20mA 的驅(qū)動(dòng)能力 可控制口線輸出轉(zhuǎn)換速度以降低EMI,輸出最小上升時(shí)間約為10ns 最少 15 個(gè)I/O 口,選擇片內(nèi)振蕩和片內(nèi)復(fù)位時(shí)可多達(dá)18 個(gè)I/O 口 如果選擇片內(nèi)振蕩及復(fù)位時(shí),P87LPC767 僅需要連接電源線和地線 串行 EPROM 編程允許在線編程2 位EPROM 安全碼可防止程序被讀出 空閑和掉電兩種省電模式提供從掉電模式中喚醒功能低電平中斷輸入啟動(dòng)運(yùn)行典型的掉電電流為1μA 低功耗 4MHz-20MHz,1.7-10mA@3.3v 100KHz-4MHz,0.044-1.7mA@3.3v 20KHz-100KHz,9-44μA@3.3v 20 腳DIP 和SO 封裝
上傳時(shí)間: 2013-11-06
上傳用戶:xcy122677
AVR單片機(jī)技術(shù)原理 AVR單片機(jī)介紹 單片機(jī)又稱單片微控制器,它是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上,概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片機(jī)技術(shù)是計(jì)算機(jī)技術(shù)的一個(gè)分支,是簡(jiǎn)易機(jī)器人的核心元件。 1997年,由ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生利用ATMEL公司的Flash新技術(shù), 共同研發(fā)出RISC精簡(jiǎn)指令集的高速8位單片機(jī),簡(jiǎn)稱AVR。[編輯本段]AVR單片機(jī)的優(yōu)勢(shì)特征 單片機(jī)已廣泛地應(yīng)用于軍事、工業(yè)、家用電器、智能玩具、便攜式智能儀表和機(jī)器人制作等領(lǐng)域,使產(chǎn)品功能、精度和質(zhì)量大幅度提升,且電路簡(jiǎn)單,故障率低,可靠性高,成本低廉。單片機(jī)種類很多,在簡(jiǎn)易機(jī)器人制作和創(chuàng)新中,為什么選用AVR單片機(jī)呢? 一、簡(jiǎn)便易學(xué),費(fèi)用低廉 首先,對(duì)于非專業(yè)人員來(lái)說(shuō),選擇AVR單片機(jī)的最主要原因,是進(jìn)入AVR單片機(jī)開發(fā)的門檻非常低,只要會(huì)操作電腦就可以學(xué)習(xí)AVR單片機(jī)的開發(fā)。單片機(jī)初學(xué)者只需一條ISP下載線,把編輯、調(diào)試通過的軟件程序直接在線寫入AVR單片機(jī),即可以開發(fā)AVR單片機(jī)系列中的各種封裝的器件。AVR單片機(jī)因此在業(yè)界號(hào)稱“一線打天下”。 其次,AVR單片機(jī)便于升級(jí)。AVR程序?qū)懭胧侵苯釉陔娐钒迳线M(jìn)行程序修改、燒錄等操作,這樣便于產(chǎn)品升級(jí)。 再次,AVR單片機(jī)費(fèi)用低廉。學(xué)習(xí)AVR單片機(jī)可使用ISP在線下載編程方式(即把PC機(jī)上編譯好的程序?qū)懙絾纹瑱C(jī)的程序存儲(chǔ)器中),不需購(gòu)買仿真器、編程器、擦抹器和芯片適配器等,即可進(jìn)行所有AVR單片機(jī)的開發(fā)應(yīng)用,這可節(jié)省很多開發(fā)費(fèi)用。程序存儲(chǔ)器擦寫可達(dá)10000次以上,不會(huì)產(chǎn)生報(bào)廢品。 二、高速、低耗、保密 首先,AVR單片機(jī)是高速嵌入式單片機(jī): 1、AVR單片機(jī)具有預(yù)取指令功能,即在執(zhí)行一條指令時(shí),預(yù)先把下一條指令取進(jìn)來(lái),使得指令可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行。 2、多累加器型,數(shù)據(jù)處理速度快。AVR單片機(jī)具有32個(gè)通用工作寄存器,相當(dāng)于有32條立交橋,可以快速通行。 3、中斷響應(yīng)速度快。AVR單片機(jī)有多個(gè)固定中斷向量入口地址,可快速響應(yīng)中斷。 其次,AVR單片機(jī)耗能低。對(duì)于典型功耗情況,WDT關(guān)閉時(shí)為100nA,更適用于電池供電的應(yīng)用設(shè)備。有的器件最低1.8 V即可工作。 再次,AVR單片機(jī)保密性能好。它具有不可破解的位加密鎖Lock Bit技術(shù),保密位單元深藏于芯片內(nèi)部,無(wú)法用電子顯微鏡看到。 三、I/O口功能強(qiáng),具有A/D轉(zhuǎn)換等電路 1. AVR單片機(jī)的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實(shí)情況。工業(yè)級(jí)產(chǎn)品,具有大電流(灌電流)10~40 mA,可直接驅(qū)動(dòng)可控硅SCR或繼電器,節(jié)省了外圍驅(qū)動(dòng)器件。 2. AVR單片機(jī)內(nèi)帶模擬比較器,I/O口可用作A/D轉(zhuǎn)換,可組成廉價(jià)的A/D轉(zhuǎn)換器。ATmega48/8/16等器件具有8路10位A/D。 3. 部分AVR單片機(jī)可組成零外設(shè)元件單片機(jī)系統(tǒng),使該類單片機(jī)無(wú)外加元器件即可工作,簡(jiǎn)單方便,成本又低。 4. AVR單片機(jī)可重設(shè)啟動(dòng)復(fù)位,以提高單片機(jī)工作的可靠性。有看門狗定時(shí)器實(shí)行安全保護(hù),可防止程序走亂(飛),提高了產(chǎn)品的抗干擾能力。 四、有功能強(qiáng)大的定時(shí)器/計(jì)數(shù)器及通訊接口 定時(shí)/計(jì)數(shù)器T/C有8位和16位,可用作比較器。計(jì)數(shù)器外部中斷和PWM(也可用作D/A)用于控制輸出,某些型號(hào)的AVR單片機(jī)有3~4個(gè)PWM,是作電機(jī)無(wú)級(jí)調(diào)速的理想器件。 AVR單片機(jī)有串行異步通訊UART接口,不占用定時(shí)器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標(biāo)準(zhǔn)整數(shù)頻率下,而波特率可達(dá)576K。
標(biāo)簽: AVR 單片機(jī)技術(shù)
上傳時(shí)間: 2013-10-18
上傳用戶:二十八號(hào)
C8051F單片機(jī) C8051F系列單片機(jī) 單片機(jī)自20世紀(jì)70年代末誕生至今,經(jīng)歷了單片微型計(jì)算機(jī)SCM、微控制器MCU及片上系統(tǒng)SoC三大階段,前兩個(gè)階段分別以MCS-51和80C51為代表。隨著在嵌入式領(lǐng)域中對(duì)單片機(jī)的性能和功能要求越來(lái)越高,以往的單片機(jī)無(wú)論是運(yùn)行速度還是系統(tǒng)集成度等多方面都不能滿足新的設(shè)計(jì)需要,這時(shí)Silicon Labs 公司推出了C8051F系列單片機(jī),成為SoC的典型代表。 C8051F具有上手快(全兼容8051指令集)、研發(fā)快(開發(fā)工具易用,可縮短研發(fā)周期)和見效快(調(diào)試手段靈活)的特點(diǎn),其性能優(yōu)勢(shì)具體體現(xiàn)在以下方面: 基于增強(qiáng)的CIP-51內(nèi)核,其指令集與MCS-51完全兼容,具有標(biāo)準(zhǔn)8051的組織架構(gòu),可以使用標(biāo)準(zhǔn)的803x/805x匯編器和編譯器進(jìn)行軟件開發(fā)。CIP-51采用流水線結(jié)構(gòu),70%的的指令執(zhí)行時(shí)間為1或2個(gè)系統(tǒng)時(shí)鐘周期,是標(biāo)準(zhǔn)8051指令執(zhí)行速度的12倍;其峰值執(zhí)行速度可達(dá)100MIPS(C8051F120等),是目前世界上速度最快的8位單片機(jī)。 增加了中斷源。標(biāo)準(zhǔn)的8051只有7個(gè)中斷源Silicon Labs 公司 C8051F系列單片機(jī)擴(kuò)展了中斷處理這對(duì)于時(shí)實(shí)多任務(wù)系統(tǒng)的處理是很重要的擴(kuò)展的中斷系統(tǒng)向CIP-51提供22個(gè)中斷源允許大量的模擬和數(shù)字外設(shè)中斷一個(gè)中斷處理需要較少的CPU干預(yù)卻有更高的執(zhí)行效率。 集成了豐富的模擬資源,絕大部分的C8051F系列單片機(jī)都集成了單個(gè)或兩個(gè)ADC,在片內(nèi)模擬開關(guān)的作用下可實(shí)現(xiàn)對(duì)多路模擬信號(hào)的采集轉(zhuǎn)換;片內(nèi)ADC的采樣精度最高可達(dá)24bit,采樣速率最高可達(dá)500ksps,部分型號(hào)還集成了單個(gè)或兩個(gè)獨(dú)立的高分辨率DAC,可滿足絕大多數(shù)混合信號(hào)系統(tǒng)的應(yīng)用并實(shí)現(xiàn)與模擬電子系統(tǒng)的無(wú)縫接口;片內(nèi)溫度傳感器則可以迅速而精確的監(jiān)測(cè)環(huán)境溫度并通過程序作出相應(yīng)處理,提高了系統(tǒng)運(yùn)行的可靠性。 集成了豐富的外部設(shè)備接口。具有兩路UART和最多可達(dá)5個(gè)定時(shí)器及6個(gè)PCA模塊,此外還根據(jù)不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外設(shè)接口在不使用時(shí)可以分別禁止以降低系統(tǒng)功耗。與其他類型的單片機(jī)實(shí)現(xiàn)相同的功能需要多個(gè)芯片的組合才能完成相比,C8051單片機(jī)不僅減少了系統(tǒng)成本,更大大降低了功耗。 增強(qiáng)了在信號(hào)處理方面的性能,部分型號(hào)具有16x16 MAC以及DMA功能,可對(duì)所采集信號(hào)進(jìn)行實(shí)時(shí)有效的算法處理并提高了數(shù)據(jù)傳送能力。 具有獨(dú)立的片內(nèi)時(shí)鐘源(精度最高可達(dá)0.5%),設(shè)計(jì)人員既可選擇外接時(shí)鐘,也可直接應(yīng)用片內(nèi)時(shí)鐘,同時(shí)可以在內(nèi)外時(shí)鐘源之間自如切換。片內(nèi)時(shí)鐘源降低了系統(tǒng)設(shè)計(jì)的復(fù)雜度,提高了系統(tǒng)可靠性,而時(shí)鐘切換功能則有利于系統(tǒng)整體功耗的降低。 提供空閑模式及停機(jī)模式等多種電源管理方式來(lái)降低系統(tǒng)功耗 實(shí)現(xiàn)了I/O從固定方式到交叉開關(guān)配置。固定方式的I/O端口,既占用引腳多,配置又不夠靈活。在C8051F中,則采用開關(guān)網(wǎng)絡(luò)以硬件方式實(shí)現(xiàn)I/O端口的靈活配置,外設(shè)電路單元通過相應(yīng)的配置寄存器控制的交叉開關(guān)配置到所選擇的端口上。 復(fù)位方式多樣化,C8051F把80C51單一的外部復(fù)位發(fā)展成多源復(fù)位,提供了上電復(fù)位、掉電復(fù)位、外部引腳復(fù)位、軟件復(fù)位、時(shí)鐘檢測(cè)復(fù)位、比較器0復(fù)位、WDT復(fù)位和引腳配置復(fù)位。眾多的復(fù)位源為保障系統(tǒng)的安全、操作的靈活性以及零功耗系統(tǒng)設(shè)計(jì)帶來(lái)極大的好處。 從傳統(tǒng)的仿真調(diào)試到基于JTAG接口的在系統(tǒng)調(diào)試。C8051F在8位單片機(jī)中率先配置了標(biāo)準(zhǔn)的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不僅支持Flash ROM的讀/寫操作及非侵入式在系統(tǒng)調(diào)試,它的JTAG邏輯還為在系統(tǒng)測(cè)試提供邊界掃描功能。通過邊界寄存器的編程控制,可對(duì)所有器件引腳、SFR總線和I/O口弱上拉功能實(shí)現(xiàn)觀察和控制。 C8051F系列單片機(jī)型號(hào)齊全,可根據(jù)設(shè)計(jì)需求選擇不同規(guī)模和帶有特定外設(shè)接口的型號(hào),提供從多達(dá)100個(gè)引腳的高性能單片機(jī)到最小3mmX3mm的封裝,滿足不同設(shè)計(jì)的需要。 基于上述特點(diǎn),Silicon Labs 公司C8051F系列單片機(jī)作為SoC芯片的杰出代表能夠滿足絕大部分場(chǎng)合的復(fù)雜功能要求,并在嵌入式領(lǐng)域的各個(gè)場(chǎng)合都得到了廣泛的應(yīng)用:在工業(yè)控制領(lǐng)域,其豐富的模擬資源可用于工業(yè)現(xiàn)場(chǎng)多種物理量的監(jiān)測(cè)、分析及控制和顯示;在便攜式儀器領(lǐng)域,其低功耗和強(qiáng)大的外設(shè)接口也非常適合各種信號(hào)的采集、存儲(chǔ)和傳輸;此外,新型的C8051F5xx系列單片機(jī)也在汽車電子行業(yè)中嶄露頭角。正是這些優(yōu)勢(shì),使得C8051單片機(jī)在進(jìn)入中國(guó)市場(chǎng)的短短幾年內(nèi)就迅速風(fēng)靡,相信隨著新型號(hào)的不斷推出以及推廣力度的不斷加大,C8051系列單片機(jī)將迎來(lái)日益廣闊的發(fā)展空間,成為嵌入式領(lǐng)域的時(shí)代寵兒 此系列單片機(jī)完全兼容MCS-51指令集,容易上手,開發(fā)周期短,大大節(jié)約了開發(fā)成本。C8051F系統(tǒng)集成度高,總線時(shí)鐘可達(dá)25M
上傳時(shí)間: 2013-11-24
上傳用戶:testAPP
使用 LPC2138 的RTC 功能時(shí),RTC 選擇外部晶振且使能操作和利用外設(shè)功率控制寄存器關(guān)閉RTC 的操作有一定的次序,否則會(huì)導(dǎo)致RTC 正常工作、RTC 工作異常。
上傳時(shí)間: 2013-10-13
上傳用戶:彭玖華
為避免在程序運(yùn)行時(shí)向單片機(jī)內(nèi)置的Flash寫入數(shù)據(jù)導(dǎo)致復(fù)位,采用調(diào)用鎖定與關(guān)鍵碼的操作方法對(duì)C8051F35X型單片機(jī)的Flash進(jìn)行擦除、寫入和讀取操作,并提供程序范例。該方法無(wú)需任何接口電路,使用方便,成本低且安全可靠。此方法已應(yīng)用于包裝機(jī)控制器,實(shí)現(xiàn)包裝參數(shù)的保存和修改,效果良好。
標(biāo)簽: C8051F35X Flash 單片機(jī) 存儲(chǔ)器
上傳時(shí)間: 2014-12-27
上傳用戶:363186
電腦 DB9 連接器的2 腳是電腦的接收Rx,3 腳是電腦的發(fā)送Tx,5 腳是GND。通常串行口電纜分“交叉”與“不交叉”兩種,要注意區(qū)分,不可接反。推薦用帶有真正行口的電腦操作,如果是USB 虛擬的串口,則可能會(huì)出現(xiàn)下載失敗的情況。
上傳時(shí)間: 2013-10-28
上傳用戶:落花無(wú)痕
MSP430系列flash型超低功耗16位單片機(jī)MSP430系列單片機(jī)在超低功耗和功能集成等方面有明顯的特點(diǎn)。該系列單片機(jī)自問世以來(lái),頗受用戶關(guān)注。在2000年該系列單片機(jī)又出現(xiàn)了幾個(gè)FLASH型的成員,它們除了仍然具備適合應(yīng)用在自動(dòng)信號(hào)采集系統(tǒng)、電池供電便攜式裝置、超長(zhǎng)時(shí)間連續(xù)工作的設(shè)備等領(lǐng)域的特點(diǎn)外,更具有開發(fā)方便、可以現(xiàn)場(chǎng)編程等優(yōu)點(diǎn)。這些技術(shù)特點(diǎn)正是應(yīng)用工程師特別感興趣的。《MSP430系列FLASH型超低功耗16位單片機(jī)》對(duì)該系列單片機(jī)的FLASH型成員的原理、結(jié)構(gòu)、內(nèi)部各功能模塊及開發(fā)方法與工具作詳細(xì)介紹。MSP430系列FLASH型超低功耗16位單片機(jī) 目錄 第1章 引 論1.1 MSP430系列單片機(jī)1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 結(jié)構(gòu)概述2.1 引 言2.2 CPU2.3 程序存儲(chǔ)器2.4 數(shù)據(jù)存儲(chǔ)器2.5 運(yùn)行控制2.6 外圍模塊2.7 振蕩器與時(shí)鐘發(fā)生器第3章 系統(tǒng)復(fù)位、中斷及工作模式3.1 系統(tǒng)復(fù)位和初始化3.1.1 引 言3.1.2 系統(tǒng)復(fù)位后的設(shè)備初始化3.2 中斷系統(tǒng)結(jié)構(gòu)3.3 MSP430 中斷優(yōu)先級(jí)3.3.1 中斷操作--復(fù)位/NMI3.3.2 中斷操作--振蕩器失效控制3.4 中斷處理 3.4.1 SFR中的中斷控制位3.4.2 中斷向量地址3.4.3 外部中斷3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗應(yīng)用的要點(diǎn)23第4章 存儲(chǔ)空間4.1 引 言4.2 存儲(chǔ)器中的數(shù)據(jù)4.3 片內(nèi)ROM組織4.3.1 ROM 表的處理4.3.2 計(jì)算分支跳轉(zhuǎn)和子程序調(diào)用4.4 RAM 和外圍模塊組織4.4.1 RAM4.4.2 外圍模塊--地址定位4.4.3 外圍模塊--SFR4.5 FLASH存儲(chǔ)器4.5.1 FLASH存儲(chǔ)器的組織4.5.2 FALSH存儲(chǔ)器的數(shù)據(jù)結(jié)構(gòu)4.5.3 FLASH存儲(chǔ)器的控制寄存器4.5.4 FLASH存儲(chǔ)器的安全鍵值與中斷4.5.5 經(jīng)JTAG接口訪問FLASH存儲(chǔ)器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序計(jì)數(shù)器PC5.1.2 系統(tǒng)堆棧指針SP5.1.3 狀態(tài)寄存器SR5.1.4 常數(shù)發(fā)生寄存器CG1和CG25.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號(hào)模式5.2.4 絕對(duì)模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時(shí)鐘周期與長(zhǎng)度5.3 指令組概述5.3.1 雙操作數(shù)指令5.3.2 單操作數(shù)指令5.3.3 條件跳轉(zhuǎn)5.3.4 模擬指令的簡(jiǎn)短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 無(wú)符號(hào)數(shù)相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符號(hào)數(shù)相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 無(wú)符號(hào)數(shù)乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符號(hào)數(shù)乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的軟件限制6.4.1 尋址模式6.4.2 中斷程序6.4.3 MACS第7章 基礎(chǔ)時(shí)鐘模塊7.1 基礎(chǔ)時(shí)鐘模塊7.2 LFXT1與XT27.2.1 LFXT1振蕩器7.2.2 XT2振蕩器7.2.3 振蕩器失效檢測(cè)7.2.4 XT振蕩器失效時(shí)的DCO7.3 DCO振蕩器7.3.1 DCO振蕩器的特性7.3.2 DCO調(diào)整器7.4 時(shí)鐘與運(yùn)行模式7.4.1 由PUC啟動(dòng)7.4.2 基礎(chǔ)時(shí)鐘調(diào)整7.4.3 用于低功耗的基礎(chǔ)時(shí)鐘特性7.4.4 選擇晶振產(chǎn)生MCLK7.4.5 時(shí)鐘信號(hào)的同步7.5 基礎(chǔ)時(shí)鐘模塊控制寄存器7.5.1 DCO時(shí)鐘頻率控制7.5.2 振蕩器與時(shí)鐘控制寄存器7.5.3 SFR控制位第8章 輸入輸出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中斷控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口邏輯第9章 看門狗定時(shí)器WDT9.1 看門狗定時(shí)器9.2 WDT寄存器9.3 WDT中斷控制功能9.4 WDT操作第10章 16位定時(shí)器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定時(shí)器模式控制10.2.2 時(shí)鐘源選擇和分頻10.2.3 定時(shí)器啟動(dòng)10.3 定時(shí)器模式10.3.1 停止模式10.3.2 增計(jì)數(shù)模式10.3.3 連續(xù)模式10.3.4 增/減計(jì)數(shù)模式10.4 捕獲/比較模塊10.4.1 捕獲模式10.4.2 比較模式10.5 輸出單元10.5.1 輸出模式10.5.2 輸出控制模塊10.5.3 輸出舉例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕獲/比較控制寄存器CCTLx10.6.4 Timer_A中斷向量寄存器10.7 Timer_A的UART應(yīng)用 第11章 16位定時(shí)器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定時(shí)器長(zhǎng)度11.2.2 定時(shí)器模式控制11.2.3 時(shí)鐘源選擇和分頻11.2.4 定時(shí)器啟動(dòng)11.3 定時(shí)器模式11.3.1 停止模式11.3.2 增計(jì)數(shù)模式11.3.3 連續(xù)模式11.3.4 增/減計(jì)數(shù)模式11.4 捕獲/比較模塊11.4.1 捕獲模式11.4.2 比較模式11.5 輸出單元11.5.1 輸出模式11.5.2 輸出控制模塊11.5.3 輸出舉例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕獲/比較控制寄存器CCTLx11.6.4 Timer_B中斷向量寄存器第12章 USART通信模塊的UART功能12.1 異步模式12.1.1 異步幀格式12.1.2 異步通信的波特率發(fā)生器12.1.3 異步通信格式12.1.4 線路空閑多機(jī)模式12.1.5 地址位多機(jī)通信格式12.2 中斷和中斷允許12.2.1 USART接收允許12.2.2 USART發(fā)送允許12.2.3 USART接收中斷操作12.2.4 USART發(fā)送中斷操作12.3 控制和狀態(tài)寄存器12.3.1 USART控制寄存器UCTL12.3.2 發(fā)送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調(diào)整控制寄存器12.3.5 USART接收數(shù)據(jù)緩存URXBUF12.3.6 USART發(fā)送數(shù)據(jù)緩存UTXBUF12.4 UART模式,低功耗模式應(yīng)用特性12.4.1 由UART幀啟動(dòng)接收操作12.4.2 時(shí)鐘頻率的充分利用與UART的波特率12.4.3 多處理機(jī)模式對(duì)節(jié)約MSP430資源的支持12.5 波特率計(jì)算 第13章 USART通信模塊的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的從模式13.2 中斷與控制功能 13.2.1 USART接收/發(fā)送允許位及接收操作13.2.2 USART接收/發(fā)送允許位及發(fā)送操作13.2.3 USART接收中斷操作13.2.4 USART發(fā)送中斷操作13.3 控制與狀態(tài)寄存器13.3.1 USART控制寄存器13.3.2 發(fā)送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調(diào)制控制寄存器13.3.5 USART接收數(shù)據(jù)緩存URXBUF13.3.6 USART發(fā)送數(shù)據(jù)緩存UTXBUF第14章 比較器Comparator_A14.1 概 述14.2 比較器A原理14.2.1 輸入模擬開關(guān)14.2.2 輸入多路切換14.2.3 比較器14.2.4 輸出濾波器14.2.5 參考電平發(fā)生器14.2.6 比較器A中斷電路14.3 比較器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比較器A應(yīng)用14.4.1 模擬信號(hào)在數(shù)字端口的輸入14.4.2 比較器A測(cè)量電阻元件14.4.3 兩個(gè)獨(dú)立電阻元件的測(cè)量系統(tǒng)14.4.4 比較器A檢測(cè)電流或電壓14.4.5 比較器A測(cè)量電流或電壓14.4.6 測(cè)量比較器A的偏壓14.4.7 比較器A的偏壓補(bǔ)償14.4.8 增加比較器A的回差第15章 模數(shù)轉(zhuǎn)換器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC內(nèi)核15.2.2 參考電平15.3 模擬輸入與多路切換15.3.1 模擬多路切換15.3.2 輸入信號(hào)15.3.3 熱敏二極管的使用15.4 轉(zhuǎn)換存儲(chǔ)15.5 轉(zhuǎn)換模式15.5.1 單通道單次轉(zhuǎn)換模式15.5.2 序列通道單次轉(zhuǎn)換模式15.5.3 單通道重復(fù)轉(zhuǎn)換模式15.5.4 序列通道重復(fù)轉(zhuǎn)換模式15.5.5 轉(zhuǎn)換模式之間的切換15.5.6 低功耗15.6 轉(zhuǎn)換時(shí)鐘與轉(zhuǎn)換速度15.7 采 樣15.7.1 采樣操作15.7.2 采樣信號(hào)輸入選擇15.7.3 采樣模式15.7.4 MSC位的使用15.7.5 采樣時(shí)序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 轉(zhuǎn)換存儲(chǔ)寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中斷標(biāo)志寄存器ADC12IFG.x和中斷允許寄存器ADC12IEN.x15.8.5 中斷向量寄存器ADC12IV15.9 ADC12接地與降噪第16章 FLASH型芯片的開發(fā)16.1 開發(fā)系統(tǒng)概述16.1.1 開發(fā)技術(shù)16.1.2 MSP430系列的開發(fā)16.1.3 MSP430F系列的開發(fā)16.2 FLASH型的FET開發(fā)方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 標(biāo)準(zhǔn)復(fù)位過程和進(jìn)入BSL過程16.3.2 BSL的UART協(xié)議16.3.3 數(shù)據(jù)格式16.3.4 退出BSL16.3.5 保護(hù)口令16.3.6 BSL的內(nèi)部設(shè)置和資源附錄A 尋址空間附錄B 指令說(shuō)明B.1 指令匯總B.2 指令格式B.3 不增加ROM開銷的模擬指令B.4 指令說(shuō)明(字母順序)B.5 用幾條指令模擬的宏指令附錄C MSP430系列單片機(jī)參數(shù)表附錄D MSP430系列單片機(jī)封裝形式附錄E MSP430系列器件命名
上傳時(shí)間: 2014-04-28
上傳用戶:sssnaxie
這里介紹的一款多功能編程器,功能強(qiáng)大,支持大多數(shù)常用的EPROM, EEPROM, FLASH, I2C,PIC, MCS-51,AVR, 93Cxx等系列芯片(超過400種)。硬件成本較低,性價(jià)比很高。既適合于電子和電腦愛好者使用,也適合家電維修人員維修家電和單片機(jī)開發(fā)人員使用。圖1為多功能編程器的主機(jī),中間是32腳ZIF(零插力)鎖緊插座, 用于27系列、28系列、29系列、39/49系列等BIOS芯片。左邊是25芯并口插座,通過并口電纜連接計(jì)算機(jī)并口。左下方是電源插座。32腳ZIF插座下方是12位的DIP開關(guān),對(duì)EPROM芯片進(jìn)行讀寫等操作前,需將此開關(guān)撥至相應(yīng)位置。具體開關(guān)位置可以參照軟件提示。鎖緊插座右側(cè)依次排列3個(gè)DIP8插座和一個(gè)DIP18插座,分別用于25系列、24系列、93系列存儲(chǔ)器和PIC系列單片機(jī)等;綠色電源指示燈(Power)用于指示編程器電源狀態(tài);紅色指示燈(Vpp)用于指示芯片Vpp電源狀態(tài);黃色指示燈(Vcc)用于指示芯片編程狀態(tài)。 一、 主要功能: ★ 可用此編程器升級(jí)、維修電腦主板,顯卡等BIOS芯片。可支持3.3V低電壓BIOS芯片。 ★ 用來(lái)寫網(wǎng)卡啟動(dòng)芯片:用于組建無(wú)盤站寫網(wǎng)卡啟動(dòng)芯片或制作硬盤還原卡等。 ★ 可用于復(fù)印機(jī)、傳真機(jī)、打印機(jī)主板維護(hù)和維修。★ 可用于讀寫用來(lái)寫汽車儀表、安全氣囊、里程表數(shù)據(jù)。★ 可用于維修顯示器、彩電、VCD、DVD 上面的存儲(chǔ)芯片。可修改開機(jī)畫面。 ★ 用來(lái)開發(fā)單片機(jī): 通過添加不同適配器,可以支持 MCS-51 系列, AVR 系列和 PIC 系列的MCU。 ★ 用來(lái)寫大容量存儲(chǔ)芯片:大容量的存儲(chǔ)芯片,一般在衛(wèi)星接收機(jī)上使用較多,可以用編程器直接來(lái)升級(jí)或改寫。 二、電路簡(jiǎn)介圖2是這臺(tái)編程器的完整電路圖,可以看到編程器電路由完全分離的兩部分組成:串行部分和并行EPROM部分電路。限于篇幅,原理部分不再詳述。對(duì)原理感興趣的讀者可以參考本文配套文件包中的“電路原理參考.PDF”文件。圖2三、電路板設(shè)計(jì)與制作 圖3是編程器參考元件布局圖,雙面PCB尺寸為160X100毫米,厚度1.6毫米。具體的PCB設(shè)計(jì)可以參考配套文件中的“PCB參考設(shè)計(jì).PDF”。這個(gè)文件中包括電路板的頂層和低層布線和頂層絲印層。如果業(yè)余自制電路板,建議使用雙面感光電路板制作,以確保精度。
標(biāo)簽: 多功能編程器
上傳時(shí)間: 2013-10-14
上傳用戶:問題問題
有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個(gè)符號(hào)鏈;2. 通過輸出到一個(gè)接口WDM驅(qū)動(dòng)程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號(hào)鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語(yǔ)言的訪問設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來(lái)調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對(duì)象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對(duì)設(shè)備對(duì)象訪問的第一步就是打開一個(gè)設(shè)備對(duì)象的句柄。 用符號(hào)鏈打開一個(gè)設(shè)備的句柄為了打開一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號(hào)鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號(hào)鏈,以便應(yīng)用程序能夠打開它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個(gè)參數(shù)中前綴后的部分就是這個(gè)符號(hào)鏈的名字。注意:CreatFile中的第一個(gè)參數(shù)不是Windows 98/2000中驅(qū)動(dòng)程序(.sys文件)的路徑。是到設(shè)備對(duì)象的符號(hào)鏈。如果使用DriverWizard產(chǎn)生驅(qū)動(dòng)程序,它通常使用類KunitizedName來(lái)構(gòu)成設(shè)備的符號(hào)鏈。這意味著符號(hào)鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開句柄用這種方式打開一個(gè)句柄會(huì)稍微麻煩一些。DriverWorks庫(kù)提供兩個(gè)助手類來(lái)使獲得對(duì)該接口的訪問容易一些,這兩個(gè)類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個(gè)實(shí)例來(lái)獲得一個(gè)或更多的CdeviceInterface類的實(shí)例。CdeviceInterface類是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來(lái)打開設(shè)備。下面用一個(gè)小例子來(lái)顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface( GUID* pClassGuid, DWORD instance, PDWORD pError){ CDeviceInterfaceClass DevClass(pClassGuid, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; CDeviceInterface DevInterface(&DevClass, instance, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; cout << "The device path is " << DevInterface.DevicePath() << endl; HANDLE hDev; hDev = CreateFile( DevInterface.DevicePath(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDev == INVALID_HANDLE_VALUE) *pError = GetLastError(); return hDev;} 在設(shè)備中執(zhí)行I/O操作一旦應(yīng)用程序獲得一個(gè)有效的設(shè)備句柄,它就能使用Win32 APIs來(lái)產(chǎn)生到設(shè)備對(duì)象的IRPs。下面的表顯示了這種對(duì)應(yīng)關(guān)系。Win32 API DRIVER_FUNCTION_xxxIRP_MJ_xxx KDevice subclass member function CreateFile CREATE Create ReadFile READ Read WriteFile WRITE Write DeviceIoControl DEVICE_CONTROL DeviceControl CloseHandle CLOSECLEANUP CloseCleanUp 需要解釋一下設(shè)備類成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個(gè)新的文件對(duì)象。這使得多個(gè)句柄可以映射同一個(gè)文件對(duì)象。當(dāng)這個(gè)文件對(duì)象的最后一個(gè)用戶級(jí)句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級(jí)和核心級(jí)的對(duì)文件對(duì)象的訪問的時(shí)候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無(wú)效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會(huì)在打開設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒有特權(quán)的用戶企圖打開這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對(duì)象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲(chǔ)器中,并且創(chuàng)建了一個(gè)存儲(chǔ)在IRP中的MDL域。一個(gè)設(shè)備可以通過調(diào)用Kirp::Mdl來(lái)存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對(duì)象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來(lái)對(duì)應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲(chǔ)區(qū)并沒有被鎖住而且地址只對(duì)調(diào)用進(jìn)程有效。驅(qū)動(dòng)程序可以使用KIrp::UserBuffer來(lái)存取IRP域。對(duì)于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對(duì)象的特性中。宏CTL_CODE(在winioctl.h中定義)用來(lái)構(gòu)造控制代碼。這個(gè)宏的其中一個(gè)參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對(duì)應(yīng)的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數(shù):Method Input Buffer Parameter Output Buffer Parameter METHOD_BUFFERED KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統(tǒng)分配一個(gè)單一的緩沖來(lái)作為輸入與輸出。驅(qū)動(dòng)程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動(dòng)程序通過調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時(shí),I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級(jí)調(diào)用者使用的緩沖中。驅(qū)動(dòng)程序必須在結(jié)束前存儲(chǔ)拷貝到IRP的Information成員中的數(shù)據(jù)個(gè)數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個(gè)系統(tǒng)緩沖,這個(gè)緩沖驅(qū)動(dòng)程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對(duì)象,驅(qū)動(dòng)程序?qū)@個(gè)對(duì)象的訪問通過調(diào)用KIrp::Mdl來(lái)實(shí)現(xiàn)。對(duì)于METHOD_OUT_DIRECT,調(diào)用者必須有對(duì)緩沖的寫訪問權(quán)限。注意,對(duì)METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會(huì)做映射來(lái)配置緩沖。虛擬地址只對(duì)調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來(lái)定義一個(gè)IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個(gè)DeviceIoControl調(diào)用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING, NULL, // no input 注意,這里放的是包含有執(zhí)行操作命令的字符串指針 0, FirmwareRev, //這里是output串指針,存放從驅(qū)動(dòng)程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize, NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動(dòng)程序中,代碼看起來(lái)如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){ ULONG fwLength=0; switch ( I.IoctlCode() ) { case IOCTL_MYDEV_GET_FIRMWARE_REV: fwLength = strlen(FIRMWARE_REV)+1; if (I.IoctlOutputBufferSize() >= fwLength) { strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV); I.Information() = fwLength; return I.Complete(STATUS_SUCCESS); } else { } case . . . } }
標(biāo)簽: 驅(qū)動(dòng)程序 應(yīng)用程序 接口
上傳時(shí)間: 2013-10-17
上傳用戶:gai928943
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1