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

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

MINI四軸飛行器

  • AVR單片機(jī)技術(shù)原理

    AVR單片機(jī)技術(shù)原理 AVR單片機(jī)介紹   單片機(jī)又稱單片微控制器,它是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上,概括的講:一塊芯片就成了一臺計(jì)算機(jī)。單片機(jī)技術(shù)是計(jì)算機(jī)技術(shù)的一個(gè)分支,是簡易機(jī)器人的核心元件。  1997年,由ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生利用ATMEL公司的Flash新技術(shù), 共同研發(fā)出RISC精簡指令集的高速8位單片機(jī),簡稱AVR。[編輯本段]AVR單片機(jī)的優(yōu)勢特征  單片機(jī)已廣泛地應(yīng)用于軍事、工業(yè)、家用電器、智能玩具、便攜式智能儀表和機(jī)器人制作等領(lǐng)域,使產(chǎn)品功能、精度和質(zhì)量大幅度提升,且電路簡單,故障率低,可靠性高,成本低廉。單片機(jī)種類很多,在簡易機(jī)器人制作和創(chuàng)新中,為什么選用AVR單片機(jī)呢?  一、簡便易學(xué),費(fèi)用低廉  首先,對于非專業(yè)人員來說,選擇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è)界號稱“一線打天下”。  其次,AVR單片機(jī)便于升級。AVR程序?qū)懭胧侵苯釉陔娐钒迳线M(jìn)行程序修改、燒錄等操作,這樣便于產(chǎn)品升級。  再次,AVR單片機(jī)費(fèi)用低廉。學(xué)習(xí)AVR單片機(jī)可使用ISP在線下載編程方式(即把PC機(jī)上編譯好的程序?qū)懙絾纹瑱C(jī)的程序存儲(chǔ)器中),不需購買仿真器、編程器、擦抹器和芯片適配器等,即可進(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)來,使得指令可以在一個(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ī)耗能低。對于典型功耗情況,WDT關(guān)閉時(shí)為100nA,更適用于電池供電的應(yīng)用設(shè)備。有的器件最低1.8 V即可工作。  再次,AVR單片機(jī)保密性能好。它具有不可破解的位加密鎖Lock Bit技術(shù),保密位單元深藏于芯片內(nèi)部,無法用電子顯微鏡看到。  三、I/O口功能強(qiáng),具有A/D轉(zhuǎn)換等電路  1. AVR單片機(jī)的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實(shí)情況。工業(yè)級產(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ī)無外加元器件即可工作,簡單方便,成本又低。  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)用于控制輸出,某些型號的AVR單片機(jī)有3~4個(gè)PWM,是作電機(jī)無級調(diào)速的理想器件。  AVR單片機(jī)有串行異步通訊UART接口,不占用定時(shí)器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標(biāo)準(zhǔn)整數(shù)頻率下,而波特率可達(dá)576K。

    標(biāo)簽: AVR 單片機(jī)技術(shù)

    上傳時(shí)間: 2013-10-18

    上傳用戶:二十八號

  • I/O 型單片機(jī)使用手冊

    I/O 型單片機(jī)使用手冊 目錄 間接尋址寄存器 – IAR, IAR0, IAR1 .............................................35間接尋址指針 – MP, MP0, MP1 ......................................................35存儲(chǔ)區(qū)指針 – BP .........................................................................36累加器 – ACC...................................................................................37程序計(jì)數(shù)器低字節(jié)寄存器 – PCL....................................................37表格寄存器 – TBLP,TBHP,TBLH....................................................37看門狗定時(shí)寄存器 – WDTS............................................................38狀態(tài)寄存器 – STATUS.....................................................................38中斷控制寄存器 – INTC,INTC0,INTC1 .........................................39定時(shí)/計(jì)數(shù)寄存器...............................................................................39輸入/輸出端口和控制寄存器...........................................................40UART 寄存器 .USR,UCR1,UCR2,TXR/RXR,BRG.......................40輸入/輸出端口..........................................................................................41上拉電阻............................................................................................41PA 口的喚醒......................................................................................41輸入/輸出端口控制寄存器...............................................................41引腳共享功能....................................................................................42編程注意事項(xiàng)....................................................................................45定時(shí)/計(jì)數(shù)器..............................................................................................46配置定時(shí)/計(jì)數(shù)器輸入時(shí)鐘源...........................................................47定時(shí)/計(jì)數(shù)寄存器 – TMR, TMR0,TMR0L/TMR0H,TMR1L/TMR1H,TMR2.....................................................................49定時(shí)/計(jì)數(shù)控制寄存器 – TMRC,TMR0C,TMR1C,TMR2C............50定時(shí)器模式........................................................................................53事件計(jì)數(shù)器模式................................................................................53脈沖寬度測量模式............................................................................54可編程分頻器(PFD)和蜂鳴器的應(yīng)用..............................................55預(yù)分頻器(Prescaler)...........................................................................56輸入/輸出接口...................................................................................56編程注意事項(xiàng)....................................................................................57定時(shí)/計(jì)數(shù)器應(yīng)用范例.......................................................................57中斷............................................................................................................59中斷寄存器........................................................................................59中斷優(yōu)先權(quán)........................................................................................62外部中斷............................................................................................63定時(shí)/計(jì)數(shù)器中斷...............................................................................64UART 中斷........................................................................................64編程注意事項(xiàng)....................................................................................65復(fù)位和初始化............................................................................................66復(fù)位....................................................................................................66目錄iii異步串行口——UART............................................................................74UART 特性..........................................................................................74UART 外部引腳..................................................................................74數(shù)據(jù)發(fā)送.............................................................................................75UART 狀態(tài)控制寄存器......................................................................75波特率發(fā)生器.....................................................................................79UART 設(shè)置與控制..............................................................................81UART 發(fā)送器......................................................................................83UART 接收器......................................................................................84接收錯(cuò)誤處理.....................................................................................85接收中斷圖解.....................................................................................86地址檢測模式.....................................................................................86暫停模式下的UART 功能.................................................................87UART 應(yīng)用范例.................................................................................87振蕩器........................................................................................................89系統(tǒng)時(shí)鐘配置....................................................................................89系統(tǒng)晶體/陶瓷振蕩器.......................................................................89系統(tǒng)電阻電容振蕩器........................................................................90內(nèi)部系統(tǒng)電阻電容振蕩器................................................................90RTC 振蕩器........................................................................................91看門狗定時(shí)振蕩器............................................................................91暫停和喚醒................................................................................................92暫停.....................................................................................................92進(jìn)入暫停.............................................................................................92靜態(tài)電流.............................................................................................92喚醒....................................................................................................92看門狗定時(shí)器............................................................................................94掩膜選項(xiàng)....................................................................................................96應(yīng)用電路....................................................................................................97第二部份 程序語言.....................................................................99第二章 指令集介紹.................................................................................101指令集......................................................................................................101指令周期..........................................................................................101數(shù)據(jù)的傳送......................................................................................101算術(shù)運(yùn)算..........................................................................................102邏輯和移位運(yùn)算..............................................................................102分支和控制的轉(zhuǎn)換..........................................................................102位運(yùn)算..............................................................................................102查表運(yùn)算..........................................................................................103其它運(yùn)算..........................................................................................103指令設(shè)定一覽表......................................................................................104慣例..................................................................................................104I/O 型單片機(jī)使用手冊iv第三章 指令定義.....................................................................................107第四章 匯編語言和編譯器.....................................................................121常用符號..................................................................................................121語句語法..................................................................................................122名稱..................................................................................................122操作項(xiàng)..............................................................................................122操作數(shù)項(xiàng)..........................................................................................122注解..................................................................................................122編譯偽指令..............................................................................................123條件編譯偽指令..............................................................................123文件控制偽指令..............................................................................124程序偽指令......................................................................................126數(shù)據(jù)定義偽指令..............................................................................130宏指令..............................................................................................132匯編語言指令..........................................................................................136名稱..................................................................................................136助記符..............................................................................................136操作數(shù)、運(yùn)算子和表達(dá)式..............................................................136其它..........................................................................................................139前置引用..........................................................................................139局部標(biāo)號..........................................................................................139匯編語言保留字..............................................................................140編譯器選項(xiàng)..............................................................................................141編譯列表文件格式..................................................................................141源程序列表......................................................................................141編譯總結(jié)..........................................................................................142其它..................................................................................................142第三部份 開發(fā)工具................................................................... 145第五章 單片機(jī)開發(fā)工具.........................................................................147HT-IDE 集成開發(fā)環(huán)境............................................................................147盛群單片機(jī)仿真器(HT-ICE) ..................................................................149HT-ICE 接口卡.................................................................................149OTP 燒寫器.....................................................................................149OTP 適配卡.....................................................................................149系統(tǒng)配置..................................................................................................150HT-ICE 接口卡設(shè)置........................................................................151安裝..........................................................................................................153系統(tǒng)要求..........................................................................................153硬件安裝..........................................................................................153軟件安裝..........................................................................................154目錄v第六章 快速開始.....................................................................................159步驟一:建立一個(gè)新項(xiàng)目..............................................................159步驟二:將源程序文件加到項(xiàng)目中..............................................159步驟三:編譯項(xiàng)目..........................................................................159步驟四:燒寫OTP 單片機(jī).............................................................160步驟五:傳送程序與掩膜選項(xiàng)單至Holtek ..................................160附錄............................................................................................... 161附錄A 特性曲線圖...................................................................................163附錄B 封裝信息.......................................................................................173

    標(biāo)簽: 單片機(jī) 使用手冊

    上傳時(shí)間: 2013-10-18

    上傳用戶:blacklee

  • 單片機(jī)串行口

    單片機(jī)串行口 單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。

    標(biāo)簽: 單片機(jī) 串行口

    上傳時(shí)間: 2014-12-27

    上傳用戶:x18010875091

  • 單片機(jī)串行通信發(fā)射機(jī)

    單片機(jī)串行通信發(fā)射機(jī) 我所做的單片機(jī)串行通信發(fā)射機(jī)主要在實(shí)驗(yàn)室完成,參考有關(guān)的書籍和資料,個(gè)人完成電路的設(shè)計(jì)、焊接、檢查、調(diào)試,再根據(jù)自己的硬件和通信協(xié)議用匯編語言編寫發(fā)射和顯示程序,然后加電調(diào)試,最終達(dá)到準(zhǔn)確無誤的發(fā)射和顯示。在這過程中需要選擇適當(dāng)?shù)脑侠淼碾娐穲D扎實(shí)的焊接技術(shù),基本的故障排除和糾正能力,會(huì)使用基本的儀器對硬件進(jìn)行調(diào)試,會(huì)熟練的運(yùn)用匯編語言編寫程序,會(huì)用相關(guān)的軟件對自己的程序進(jìn)行翻譯,并燒進(jìn)芯片中,要與對方接收機(jī)統(tǒng)一通信協(xié)議,要耐心的反復(fù)檢查、修改和調(diào)試,直到達(dá)到預(yù)期目的。單片機(jī)串行通信發(fā)射機(jī)采用串行工作方式,發(fā)射并顯示兩位數(shù)字信息,既顯示00-99,使數(shù)據(jù)能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個(gè)按鍵組成的控制模塊,包括時(shí)鐘電路、控制信號電路,時(shí)鐘采用6MHZ晶振和30pF的電容來組成內(nèi)部時(shí)鐘方式,控制信號用手動(dòng)開關(guān)來控制,P1口來控制,P2、P3口產(chǎn)生信號并通過共陽極數(shù)碼管來顯示,軟件采用匯編語言來編寫,發(fā)射程序在通信協(xié)議一致的情況下完成數(shù)據(jù)的發(fā)射,同時(shí)顯示程序?qū)Πl(fā)射的數(shù)據(jù)加以顯示。畢業(yè)設(shè)計(jì)的目的是了解基本電路設(shè)計(jì)的流程,豐富自己的知識和理論,鞏固所學(xué)的知識,提高自己的動(dòng)手能力和實(shí)驗(yàn)?zāi)芰Γ瑥亩邆湟欢ǖ脑O(shè)計(jì)能力。我做得的畢業(yè)設(shè)計(jì)注重于對單片機(jī)串行發(fā)射的理論的理解,明白發(fā)射機(jī)的工作原理,以便以后單片機(jī)領(lǐng)域的開發(fā)和研制打下基礎(chǔ),提高自己的設(shè)計(jì)能力,培養(yǎng)創(chuàng)新能力,豐富自己的知識理論,做到理論和實(shí)際結(jié)合。本課題的重要意義還在于能在進(jìn)一步層次了解單片機(jī)的工作原理,內(nèi)部結(jié)構(gòu)和工作狀態(tài)。理解單片機(jī)的接口技術(shù),中斷技術(shù),存儲(chǔ)方式,時(shí)鐘方式和控制方式,這樣才能更好的利用單片機(jī)來做有效的設(shè)計(jì)。我的畢業(yè)設(shè)計(jì)分為兩個(gè)部分,硬件部分和軟件部分。硬件部分介紹:單片機(jī)串行通信發(fā)射機(jī)電路的設(shè)計(jì),單片機(jī)AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結(jié)構(gòu)和每個(gè)管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節(jié)可編程閃爍存儲(chǔ)器,壽命:1000次可擦,數(shù)據(jù)保存10年,全靜態(tài)工作:0HZ-24HZ,三級程序存儲(chǔ)器鎖定,128*8 位內(nèi)部RAM,32 跟可編程I/O 線,兩個(gè)16 位定時(shí)/計(jì)數(shù)器,5 個(gè)中斷源,5 個(gè)可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)震蕩和時(shí)鐘電路,P0和P1 可作為串行輸入口,P3口因?yàn)槠涔苣_有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時(shí)鐘電路采用內(nèi)時(shí)鐘工作方式,控制信號采用手動(dòng)控制。數(shù)據(jù)的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數(shù)碼顯示管的工作方式、組成,共陽極和共陰極數(shù)碼顯示管的電路組成,有動(dòng)態(tài)和靜態(tài)顯示兩種方式,說明了不同顯示方法與單片機(jī)的連接。再后來還介紹了硬件的焊接過程,及在焊接時(shí)遇到的問題和應(yīng)該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設(shè)計(jì)原理后,根據(jù)原理和目的畫出電路流程圖,列出數(shù)碼顯示的斷碼表,計(jì)算波特率,設(shè)置串行口,在與接受機(jī)設(shè)置相同的通信協(xié)議的基礎(chǔ)上編寫顯示和發(fā)射程序。編寫完程序還要進(jìn)行編譯,這就必須會(huì)使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調(diào)試,及遇到的問題,在沒問題后與接受機(jī)連接,發(fā)射數(shù)據(jù),直到對方準(zhǔn)確接收到。在軟件調(diào)試過程中將詳細(xì)介紹調(diào)試遇到的問題,例如:通信協(xié)議是否相同,數(shù)碼管是否與芯片連接對應(yīng),計(jì)數(shù)器是否開始計(jì)數(shù)等。

    標(biāo)簽: 單片機(jī) 串行通信 發(fā)射機(jī)

    上傳時(shí)間: 2013-10-19

    上傳用戶:uuuuuuu

  • 單片機(jī)入門基礎(chǔ)知識大全免費(fèi)下載

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

    標(biāo)簽: 單片機(jī) 免費(fèi)下載 基礎(chǔ)知識

    上傳時(shí)間: 2013-10-13

    上傳用戶:3294322651

  • MCS-51系列單片機(jī)芯片結(jié)構(gòu)

    MCS-51系列單片機(jī)芯片結(jié)構(gòu):2.1  MCS—51系列單片機(jī)的結(jié)構(gòu)原理2.1.1  MCS-51單片機(jī)邏輯結(jié)構(gòu)          MCS-51單片機(jī)的系統(tǒng)結(jié)構(gòu)框圖如圖2.1所示。 圖2.1    MCS-51單片機(jī)的系統(tǒng)結(jié)構(gòu)框圖由圖2.1可以看出,單片機(jī)內(nèi)部主要包含下列幾個(gè)部件:u       一個(gè)8位CPU;u       一個(gè)時(shí)鐘電路;u       4Kbyte程序存儲(chǔ)器;u       128byte數(shù)據(jù)存儲(chǔ)器;u       兩個(gè)16位定時(shí)/計(jì)數(shù)器;u       64Kbyte擴(kuò)展總線控制電路;u       四個(gè)8-bit并行I/O端口;u       一個(gè)可編程串行接口;五個(gè)中斷源,其中包括兩個(gè)優(yōu)先級嵌套中斷 1.  CPU        CPU即中央處理器的簡稱,是單片機(jī)的核心部件,它完成各種運(yùn)算和控制操作,CPU由運(yùn)算器和控制器兩部分電路組成。(1)運(yùn)算器電路     運(yùn)算器電路包括ALU(算術(shù)邏輯單元)、ACC(累加器)、B寄存器、狀態(tài)寄存器、暫存器1和暫存器2等部件,運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。 (2)控制器電路    控制器電路包括程序計(jì)數(shù)器PC、PC加1寄存器、指令寄存器、指令譯碼器、數(shù)據(jù)指針DPTR、堆棧指針SP、緩沖器以及定時(shí)與控制電路等。控制電路完成指揮控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。

    標(biāo)簽: MCS 51 單片機(jī) 芯片結(jié)構(gòu)

    上傳時(shí)間: 2013-10-27

    上傳用戶:tianyi223

  • S51編程器制作包

    S51編程器制作包:自制AT89S51編程器教程AT89S51芯片的日漸流行,對我們單片機(jī)初學(xué)者來說是一個(gè)大好消息。因?yàn)樽鰝€(gè)AT89S51編程器非常容易,而且串行編程模式更便于做成在線編程器,給頻繁燒片,調(diào)試帶來了巨大的方便。 電路: 只要焊13根線就可以搞定這個(gè)電路。基本原理:RST置高電平,然后向單片機(jī)串行發(fā)送 編程命令。P1.7(SCK)輸入移位脈沖,P1.6(MISO)串行輸出,P1.5(MOSI)串行輸入(要了解詳細(xì)編程原理可以去看AT89S51的數(shù)據(jù)手冊)。使用并口發(fā)出控制信號,74373只是用于信號轉(zhuǎn)換,因?yàn)椴⒖谥苯虞敵龈唠娖降碾妷河悬c(diǎn)沒到位,使用其他芯片也可以,還有人提出直接接電阻。并口引腳1控制P1.7,引腳14控制P1.5,引腳15讀P1.6,引腳16控制RST,引腳17接74373 LE(鎖存允許),18-25這些引腳都可以接地。建議在你的單片機(jī)系統(tǒng)板上做個(gè)6芯的接口。注意:被燒寫的單片機(jī)一定是最小系統(tǒng)(單片機(jī)已經(jīng)接好電源,晶振,可以運(yùn)行),VCC,GND是給74373提供電源的。 還有一個(gè)方案:使用串口+單片機(jī),這個(gè)方案已經(jīng)用了半年了。電路稍微麻煩一點(diǎn),速度比較快,而且可以燒AT89C51等等。其實(shí)許多器件編程原理差不多,由于我沒太多時(shí)間研究器件手冊,更沒有MONEY買一堆芯片來測試,所以只實(shí)現(xiàn)了幾個(gè)最常用單片機(jī)編程功能(AT89C51,C52,C55,AT89S51,S52,S53)。如果要燒寫其他單片機(jī),你可以直接編寫底層控制子程序(例如,寫一個(gè)單元,讀一個(gè)單元,擦除ROM的子程序)。如果有需要,我可以在器件選擇欄提供一個(gè)“X-CHIP”的選擇,“X-CHIP”的編程細(xì)節(jié)將由用戶自己去實(shí)現(xiàn)。當(dāng)你仔細(xì)閱讀器件手冊后,會(huì)發(fā)現(xiàn)實(shí)現(xiàn)這些子程序其實(shí)好容易,這也是初學(xué)者學(xué)單片機(jī)編程的好課題。如果成功了會(huì)極大的提高你學(xué)單片機(jī)的積極性。 軟件: 這個(gè)軟件的通信,控制部分早在半年前就完成了,這回只是換了個(gè)界面和加入并口下載線的功能,希望你看到這個(gè)軟件不會(huì)想吐。使用很簡當(dāng),有一點(diǎn)特別,當(dāng)你用鼠標(biāo)右鍵點(diǎn)擊按鈕后,可以把相關(guān)操作設(shè)置為自動(dòng)模式(只有打開文件,擦除芯片,寫FLASH ROM,讀FLASH ROM,效驗(yàn)數(shù)據(jù) 可以設(shè)置),點(diǎn)擊‘自動(dòng)完成’后會(huì)依次完成這些操作,并在開始時(shí)檢測芯片。當(dāng)“打開文件”設(shè)為自動(dòng)后,第2次燒寫同一個(gè)文件時(shí)不必再去打開文件,軟件會(huì)自動(dòng)刷新緩沖。軟件在WIN XP,WIN 2000可以使用(管理員登陸的),在WIN 98 ,WIN ME使用并口模式時(shí)會(huì)更快些。這個(gè)軟件同時(shí)支持串口編程器和并口下載線。操作正常結(jié)束后會(huì)有聲音提示。如果沒有聲卡或聲卡爛了,則聲音會(huì)從機(jī)箱揚(yáng)聲器中發(fā)出。注意:記得在CMOS設(shè)置中把并口設(shè)為ECP模式。就這些東西,應(yīng)該夠詳細(xì)吧,還有什么問題或遇到什么困難可以聯(lián)系我,軟件出現(xiàn)什么問題一定要通知我修正。祝你一次就搞定。  

    標(biāo)簽: S51 編程器

    上傳時(shí)間: 2014-01-24

    上傳用戶:13162218709

  • 自動(dòng)檢測80C51串行通訊中的波特率

    自動(dòng)檢測80C51串行通訊中的波特率:本文介紹一種在80C51 串行通訊應(yīng)用中自動(dòng)檢測波特率的方法。按照經(jīng)驗(yàn),程序起動(dòng)后所接收到的第1 個(gè)字符用于測量波特率。這種方法可以不用設(shè)定難于記憶的開關(guān),還可以免去在有關(guān)應(yīng)用中使用多種不同波特率的煩惱。人們可以設(shè)想:一種可靠地實(shí)現(xiàn)自動(dòng)波特檢測的方法是可能的,它無須嚴(yán)格限制可被確認(rèn)的字符。問題是:在各種的條件下,如何可以在大量允許出現(xiàn)的字符中找出波特率定時(shí)間隔。顯然,最快捷的方法是檢測一個(gè)單獨(dú)位時(shí)間(single bit time),以確定接收波特率應(yīng)該是多少。可是,在RS-232 模式下,許多ASCII 字符并不能測量出一個(gè)單獨(dú)位時(shí)間。對于大多數(shù)字符來說,只要波特率存在合理波動(dòng)(這里的波特率是指標(biāo)準(zhǔn)波特率),從起始位到最后一位“可見”位的數(shù)據(jù)傳輸周期就會(huì)在一定范圍內(nèi)發(fā)生變化。此外,許多系統(tǒng)采用8 位數(shù)據(jù)、無奇偶校驗(yàn)的格式傳輸ASCII 字符。在這種格式里,普通ASCII 字節(jié)不會(huì)有MSB 設(shè)定,并且,UART總是先發(fā)送數(shù)據(jù)低位(LSB),后發(fā)送數(shù)據(jù)高位(MSB),我們總會(huì)看見數(shù)據(jù)的停止位。在下面的波特率檢測程序中,先等待串行通訊輸入管腳的起始信號(下降沿),然后起動(dòng)定時(shí)器T0。在其后的串行數(shù)據(jù)的每一個(gè)上升沿,將定時(shí)器T0 的數(shù)值捕獲并保存。當(dāng)定時(shí)器T0溢出時(shí),其最后一次捕獲的數(shù)值即為從串行數(shù)據(jù)起始位到最后一個(gè)上升沿(我們假設(shè)是停止位)過程所持續(xù)的時(shí)間。

    標(biāo)簽: 80C51 自動(dòng)檢測 串行通訊 波特率

    上傳時(shí)間: 2014-08-22

    上傳用戶:dajin

  • 高速AD轉(zhuǎn)換器AD7654與單片機(jī)接口電路設(shè)計(jì)

    模/數(shù)轉(zhuǎn)換是現(xiàn)代測控電路中非常重要的環(huán)節(jié),它有并行和串行兩種數(shù)據(jù)輸出形式。目前,模/數(shù)轉(zhuǎn)換器ADC已被做成大規(guī)模集成電路,并有多種型號和種類可供選擇。本文介紹了AD7654的性能特點(diǎn),并設(shè)計(jì)了AD7654與單片機(jī)ADuC848的接口電路,同時(shí)給出了軟件流程和相應(yīng)的匯編源程序。

    標(biāo)簽: 7654 AD 高速AD轉(zhuǎn)換器 單片機(jī)接口

    上傳時(shí)間: 2014-01-25

    上傳用戶:hanhanj

  • PC MCU串行通信的應(yīng)用設(shè)計(jì)方法

    RS232C串行通信在控制領(lǐng)域里應(yīng)用得很廣泛但在實(shí)際應(yīng)用中又會(huì)因所控制的對象所解決的問題不同而各具特點(diǎn)本文所涉及的是傳輸距離不超過15米所傳輸數(shù)據(jù)量較小的PC機(jī)和單片機(jī)的通信如PC機(jī)對IC卡的讀寫PC機(jī)對單片機(jī)燒寫器的數(shù)據(jù)轉(zhuǎn)輸以及其它一些具有類似特點(diǎn)的智能化儀器和儀表中的數(shù)據(jù)通信

    標(biāo)簽: MCU PC 串行通信 應(yīng)用設(shè)計(jì)

    上傳時(shí)間: 2014-12-28

    上傳用戶:6546544

主站蜘蛛池模板: 马山县| 鸡西市| 曲周县| 富宁县| 新巴尔虎右旗| 剑川县| 葫芦岛市| 即墨市| 嘉黎县| 伽师县| 温泉县| 克什克腾旗| 南乐县| 大埔区| 西平县| 石嘴山市| 临高县| 儋州市| 陇川县| 简阳市| 灵丘县| 吉木乃县| 镇康县| 交城县| 眉山市| 云龙县| 连山| 北票市| 梁平县| 新宁县| 玉田县| 武宣县| 广汉市| 吐鲁番市| 泰顺县| 古田县| 英山县| 秦皇岛市| 怀化市| 乐陵市| 偃师市|