STC12系列單片機(jī)與PC機(jī)在數(shù)據(jù)采集系
標(biāo)簽: STC 12 PC機(jī) 單片機(jī)
上傳時(shí)間: 2013-11-03
上傳用戶:shirleyYim
atmega128串行操作lcd12864,另有ADC,PWM波,定時(shí)器的使用程序
標(biāo)簽: atmega 12864 128 lcd
上傳時(shí)間: 2013-10-18
上傳用戶:zm7516678
ARM處理器雙串口POP文本顯示器的特點(diǎn): * 同時(shí)支持兩種不同通訊協(xié)議的串口設(shè)備連接 * 超大畫面存儲(chǔ)容量,最高可達(dá)3Mb * 支持報(bào)警時(shí)間記錄掉電保存,可記錄512條報(bào)警信息(含時(shí)間信息) * 工作頻率更高、速度更快 *萬(wàn)年歷實(shí)時(shí)時(shí)鐘、配方等功能 * 電源、串行端口背部引出 * 支持多種串口標(biāo)準(zhǔn): COM1: 支持RS232/RS485/RS422 COM2: 支持RS232/RS485 * 功能強(qiáng)大的畫面組態(tài)軟件:JB_HMI_D * 支持位(字)動(dòng)態(tài)文本顯示與設(shè)定功能 * 支持ASICC字符串顯示、浮點(diǎn)數(shù)顯示功能 * 支持PLC多種寄存器訪問和設(shè)置,地址輸入方式與各廠PLC地址格式兼容 * 交替選擇"畫面列表"和"元件列表"功能,便于用戶查看和操作 持屏保密碼保護(hù)功能 * HMI工作狀態(tài)顯示(三位LED燈) * 工程文件下載進(jìn)度PC和HMI均有顯示
上傳時(shí)間: 2013-11-16
上傳用戶:caozhizhi
摘要:互操作性是一個(gè)系統(tǒng)經(jīng)過很少甚至無(wú)需系統(tǒng)操作員介入而實(shí)現(xiàn)與其它系統(tǒng)協(xié)同工作的能力。系統(tǒng)的互操作性使其有可能為其它系統(tǒng)提供服務(wù)或接受其它系統(tǒng)的服務(wù),使得不同廠商的系統(tǒng)能夠協(xié)同工作。本應(yīng)用筆記介紹如何設(shè)置DS34S132 TDM-over-Packet (TDMoP) IC,使其與其它TDMoP器件實(shí)現(xiàn)互操作。 引言 毋庸諱言,當(dāng)今的通信系統(tǒng)需要不同設(shè)備和設(shè)備之間的復(fù)雜交互。隨著技術(shù)的進(jìn)步,互操作性也變得更加重要。互操作性是一個(gè)系統(tǒng)經(jīng)過很少甚至無(wú)需系統(tǒng)操作員介入而實(shí)現(xiàn)與其它系統(tǒng)協(xié)同工作的能力。系統(tǒng)的互操作性使其有可能為其它系統(tǒng)提供服務(wù)或接受其它系統(tǒng)的服務(wù),從而使不同廠商的系統(tǒng)能夠協(xié)同工作。 本應(yīng)用筆記著重介紹Maxim TDM-over-Packet (TDMoP) IC,DS34S132。文章介紹了在DS34S132與其他廠商TDMoP器件之間實(shí)現(xiàn)互操作性的設(shè)置要求。
上傳時(shí)間: 2013-10-27
上傳用戶:angle
【摘要】通過對(duì)基于AVR 的SD 卡數(shù)據(jù)導(dǎo)出接口設(shè)計(jì)的描述,在系統(tǒng)總體結(jié)構(gòu)思路基礎(chǔ)上,提出系統(tǒng)的硬 件構(gòu)成,詳細(xì)分析了軟件各部分的功能及實(shí)現(xiàn)。本設(shè)計(jì)在數(shù)據(jù)存儲(chǔ)和交換領(lǐng)域具有很好的應(yīng)用前景。 【關(guān)鍵詞】SD 卡嵌入式系統(tǒng)SPI FAT32 數(shù)據(jù)庫(kù) SD 卡存儲(chǔ)介質(zhì)是一種新的大容量、非易失性外部存儲(chǔ)系 統(tǒng),它的出現(xiàn)提供了一個(gè)便宜的、結(jié)實(shí)的、卡片式的存儲(chǔ)媒介。 SD 卡的容量從16 MB 到最高32 GB 不等。容量范圍如此之 寬,可為眾多應(yīng)用提供充足的外部存儲(chǔ)空間。 SD 卡作為各種消費(fèi)電子產(chǎn)品外部存儲(chǔ)的應(yīng)用、開發(fā)技術(shù) 己經(jīng)非常成熟、廣泛。本設(shè)計(jì)嘗試在AVR 單片機(jī)上實(shí)現(xiàn)對(duì)SD 卡讀寫操作,進(jìn)而實(shí)現(xiàn)對(duì)SD 卡上數(shù)據(jù)庫(kù)進(jìn)行讀寫操作
標(biāo)簽: AVR SD卡 數(shù)據(jù)導(dǎo)出 接口設(shè)計(jì)
上傳時(shí)間: 2013-11-13
上傳用戶:13925096126
MSP430的FLASH存儲(chǔ)器是可位/字節(jié)/字尋址和編和的存儲(chǔ)器,該模塊由一個(gè)集成控制器來(lái)控制編程和擦除的操作。控制器包括三個(gè)寄存器,一個(gè)時(shí)序發(fā)生器及一個(gè)提供編程/擦除電壓的電壓發(fā)生器。
上傳時(shí)間: 2013-10-29
上傳用戶:yuhaihua_tony
簡(jiǎn)答題:1.指令是指示計(jì)算機(jī)執(zhí)行某種操作的命令。指令是以一組二進(jìn)制碼表示的,稱為機(jī)器指令。2.指令包含操作碼和操作數(shù)兩個(gè)部分。操作碼用來(lái)表示執(zhí)行什么樣的操作,操作數(shù)用以指出參加操作的數(shù)據(jù)或數(shù)據(jù)的存儲(chǔ)地址。3.一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令的集合稱為指令系統(tǒng)。4.半導(dǎo)體存儲(chǔ)器具有速度快、體積小、集成度高、成本低等優(yōu)點(diǎn)。5.總線是計(jì)算機(jī)中各個(gè)功能部件之間傳送信息的公用通道,是連接各個(gè)功能部件并為它們服務(wù)的一組信息傳遞導(dǎo)線。6.并行的傳送信息代碼的位數(shù)稱為總線的寬度。總線的寬度一般和計(jì)算機(jī)的字長(zhǎng)一致。7.將組成微機(jī)的基本功能部件CPU、存儲(chǔ)器和I/O接口集成在一片大規(guī)模集成電路芯片上的計(jì)算機(jī)叫單片機(jī)。8.給單片機(jī)配上適當(dāng)?shù)耐鈬O(shè)備和軟件,便可構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)。9.主要應(yīng)用在智能儀表、機(jī)電一體化、實(shí)時(shí)控制、分布式多機(jī)系統(tǒng)、家用電器等領(lǐng)域。10.單片機(jī)具有體積小、可靠性高、控制功能強(qiáng)、使用方便、性能價(jià)格比高、容易產(chǎn)品化等特點(diǎn)。
標(biāo)簽: 單片機(jī)技術(shù)
上傳時(shí)間: 2013-10-20
上傳用戶:sclyutian
PIC16F877 單片機(jī)的鍵盤和LED 數(shù)碼顯示接口 1 PIC16F877單片機(jī)與鍵盤和LED數(shù)碼顯示的硬件接口電路單片機(jī)的許多應(yīng)用都需要進(jìn)行人機(jī)對(duì)話,最簡(jiǎn)單的人機(jī)對(duì)話需要LED 數(shù)碼管顯示數(shù)字和少量字符;鍵盤是解決計(jì)算機(jī)輸入的簡(jiǎn)單手段;借此可以向計(jì)算機(jī)輸入程序、置數(shù)、送操作命令、控制程序的執(zhí)行等等,所以使用非常廣泛。圖1 鍵盤、LED數(shù)碼顯示與PIC16F877 單片機(jī)的接口電路本例中采用8 個(gè)按鍵組成的小鍵盤,4 只共陰極的LED 數(shù)碼管,采用4 片74LS373 驅(qū)動(dòng)數(shù)碼管,采用的驅(qū)動(dòng)方法是靜態(tài)方式。使用1 片74LS245 作為鍵盤的接口;這些外圍器件與PIC16F877 單片機(jī)的接口電路如圖1 所示,這種連接方法與51 系列的單片機(jī)連接方法一樣,其他的連接方法還有好幾種,PIC16F877 單片機(jī)的鍵盤輸入接法還有其他特殊而十分方便好用的方式。8 鍵鍵盤通過74LS245 與單片機(jī)相連,鍵盤按鍵狀態(tài)的數(shù)據(jù)輸入由RC3 輸出腳控制;當(dāng)RC3=“0”時(shí),鍵盤狀態(tài)從74LS245 的A 端輸出到單片機(jī)的PORTB口,此時(shí)讀PORTB口的數(shù)據(jù)即為鍵盤狀態(tài)。為了及時(shí)地響應(yīng)鍵盤操作,需要經(jīng)常對(duì)鍵盤進(jìn)行掃描;掃描的方式有許多種,我們將鍵盤的掃描程序安排在主程序的循環(huán)執(zhí)行過程中的方式,并采用20ms延遲來(lái)消除按鍵的抖動(dòng)問題,此外,為了實(shí)現(xiàn)每按鍵一次只響應(yīng)一次的功能,在執(zhí)行相應(yīng)的按鍵程序之前,必須確保按鍵已經(jīng)松開;在本例中這一措施有效的防止了數(shù)據(jù)抖動(dòng)過快的問題。LED 數(shù)碼顯示有動(dòng)態(tài)掃描和靜態(tài)顯示兩種方式(圖1 采取的方式為靜態(tài)方式),在動(dòng)態(tài)掃描方式中,各數(shù)碼顯示是輪流點(diǎn)亮的,即控制數(shù)碼顯示的位選信號(hào)和相應(yīng)的要顯示的數(shù)碼的字形代碼同時(shí)逐一送出,反復(fù)不已,由于視覺的暫留現(xiàn)象,卻好象全都點(diǎn)亮著,這種電路的接法以后再介紹。在靜態(tài)方式中,只要將數(shù)據(jù)送出鎖存以后,各數(shù)碼顯示的數(shù)據(jù)不需要刷新,只要數(shù)據(jù)不需改變,就可以不去管他,所以稱為靜態(tài)顯示。在圖1 電路中,輸出顯示的操作簡(jiǎn)化為對(duì)74LS373 的并口操作而已。由于靜態(tài)方式的工作原理比較簡(jiǎn)單,編程也比較直觀簡(jiǎn)單,程序間的相互關(guān)聯(lián)很少。因此編程容易,但要增加硬件,成本較高;與之相比,動(dòng)態(tài)掃描的編程雖然要復(fù)雜一些,但因其所用硬件少,成本低。由數(shù)碼轉(zhuǎn)化為字形代碼可采用軟件譯碼、硬件譯碼等兩種方式。軟件譯碼是將各數(shù)碼的字形代碼構(gòu)成一個(gè)表格存儲(chǔ)于內(nèi)存之中,在顯示數(shù)碼時(shí),通過執(zhí)行查表程序而得到相應(yīng)的字形代碼,再將之送入數(shù)碼顯示輸出電路進(jìn)行顯示,本例即采用這種方式,這種方式的編程與單片機(jī)有關(guān),在程序中給出了PIC16F877 的編程例程,對(duì)需要熟悉PIC16F877 單片機(jī)的人員有一定的參考價(jià)值。硬件譯碼則采用CD4511、74LS46、74LS47、74LS48、74LS49等BCD 碼—7段鎖存、譯碼、驅(qū)動(dòng)芯片直接譯出字形代碼,點(diǎn)亮LED。74LS373 由LE 端對(duì)要顯示的數(shù)據(jù)進(jìn)行鎖存控制,實(shí)現(xiàn)LED 的靜態(tài)顯示。采用了PIC16F877 的端口輸出操作,模擬74LS373 的數(shù)據(jù)鎖存時(shí)序,即由軟件實(shí)現(xiàn)數(shù)據(jù)鎖存,這種方法可以十分容易的改變時(shí)序和延遲長(zhǎng)短,使高速設(shè)備可以與低速設(shè)備聯(lián)系配合好,設(shè)計(jì)簡(jiǎn)單方便,不好的地方是編程較長(zhǎng)和稍微復(fù)雜一點(diǎn)。這種編程方法在下面的程序中有很好的體現(xiàn)。
上傳時(shí)間: 2013-10-29
上傳用戶:cuiyashuo
I/O 型單片機(jī)使用手冊(cè) 目錄 間接尋址寄存器 – 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脈沖寬度測(cè)量模式............................................................................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地址檢測(cè)模式.....................................................................................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第二部份 程序語(yǔ)言.....................................................................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ī)使用手冊(cè)iv第三章 指令定義.....................................................................................107第四章 匯編語(yǔ)言和編譯器.....................................................................121常用符號(hào)..................................................................................................121語(yǔ)句語(yǔ)法..................................................................................................122名稱..................................................................................................122操作項(xiàng)..............................................................................................122操作數(shù)項(xiàng)..........................................................................................122注解..................................................................................................122編譯偽指令..............................................................................................123條件編譯偽指令..............................................................................123文件控制偽指令..............................................................................124程序偽指令......................................................................................126數(shù)據(jù)定義偽指令..............................................................................130宏指令..............................................................................................132匯編語(yǔ)言指令..........................................................................................136名稱..................................................................................................136助記符..............................................................................................136操作數(shù)、運(yùn)算子和表達(dá)式..............................................................136其它..........................................................................................................139前置引用..........................................................................................139局部標(biāo)號(hào)..........................................................................................139匯編語(yǔ)言保留字..............................................................................140編譯器選項(xiàng)..............................................................................................141編譯列表文件格式..................................................................................141源程序列表......................................................................................141編譯總結(jié)..........................................................................................142其它..................................................................................................142第三部份 開發(fā)工具................................................................... 145第五章 單片機(jī)開發(fā)工具.........................................................................147HT-IDE 集成開發(fā)環(huán)境............................................................................147盛群?jiǎn)纹瑱C(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
上傳時(shí)間: 2013-10-18
上傳用戶:blacklee
單片機(jī)指令系統(tǒng)原理 51單片機(jī)的尋址方式 學(xué)習(xí)匯編程序設(shè)計(jì),要先了解CPU的各種尋址法,才能有效的掌握各個(gè)命令的用途,尋址法是命令運(yùn)算碼找操作數(shù)的方法。在我們學(xué)習(xí)的8051單片機(jī)中,有6種尋址方法,下面我們將逐一進(jìn)行分析。 立即尋址 在這種尋址方式中,指令多是雙字節(jié)的,一般第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是操作數(shù)。該操作數(shù)直接參與操作,所以又稱立即數(shù),有“#”號(hào)表示。立即數(shù)就是存放在程序存儲(chǔ)器中的常數(shù),換句話說(shuō)就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。 例如:MOV A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOV DPTR,#8200H在前面學(xué)單片機(jī)的專用寄存器時(shí),我們已學(xué)過,DPTR是一個(gè)16位的寄存器,它由DPH及DPL兩個(gè)8位的寄存器組成。這條指令的意思就是把立即數(shù)的高8位(即82H)送入DPH寄存器,把立即數(shù)的低8位(即00H)送入DPL寄存器。這里也特別說(shuō)明一下:在80C51單片機(jī)的指令系統(tǒng)中,僅有一條指令的操作數(shù)是16位的立即數(shù),其功能是向地址指針DPTR傳送16位的地址,即把立即數(shù)的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數(shù)直接以單元地址的形式給出,也就是在這種尋址方式中,操作數(shù)項(xiàng)給出的是參加運(yùn)算的操作數(shù)的地址,而不是操作數(shù)。例如:MOV A,30H 這條指令中操作數(shù)就在30H單元中,也就是30H是操作數(shù)的地址,并非操作數(shù)。 在80C51單片機(jī)中,直接地址只能用來(lái)表示特殊功能寄存器、內(nèi)部數(shù)據(jù)存儲(chǔ)器以及位地址空間,具體的說(shuō)就是:1、內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個(gè)單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號(hào)形式給出。例如下面我們分析的一條指令 MOV IE,#85H 前面的學(xué)習(xí)我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 關(guān)于數(shù)據(jù)存儲(chǔ)器RAM的內(nèi)部情況,請(qǐng)查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來(lái)分析下面幾條指令:MOV 65H,A ;將A的內(nèi)容送入內(nèi)部RAM的65H單元地址中MOV A,direct ;將直接地址單元的內(nèi)容送入A中MOV direct,direct;將直接地址單元的內(nèi)容送直接地址單元MOV IE,#85H ;將立即數(shù)85H送入中斷允許寄存器IE 前面我們已學(xué)過,數(shù)據(jù)前面加了“#”的,表示后面的數(shù)是立即數(shù)(如#85H,就表示85H就是一個(gè)立即數(shù)),數(shù)據(jù)前面沒有加“#”號(hào)的,就表示后面的是一個(gè)地址地址(如,MOV 65H,A這條指令的65H就是一個(gè)單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個(gè)工作寄存器組共有32個(gè)通用寄存器,但在指令中只能使用當(dāng)前寄存器組(工作寄存器組的選擇在前面專用寄存器的學(xué)習(xí)中,我們已知道,是由程序狀態(tài)字PSW中的RS1和RS0來(lái)確定的),因此在使用前常需要通過對(duì)PSW中的RS1、RS0位的狀態(tài)設(shè)置,來(lái)進(jìn)行對(duì)當(dāng)前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進(jìn)位位CY。 寄存器尋址方式是指操作數(shù)在寄存器中,因此指定了寄存器名稱就能得到操作數(shù)。例如:MOV A,R0這條指令的意思是把寄存器R0的內(nèi)容傳送到累加器A中,操作數(shù)就在R0中。INC R3這條指令的意思是把寄存器R3中的內(nèi)容加1 從前面的學(xué)習(xí)中我產(chǎn)應(yīng)可以理解到,其實(shí)寄存器尋址方式就是對(duì)由PSW程序狀態(tài)字確定的工作寄存器組的R0-R7進(jìn)行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數(shù)的地址,即操作數(shù)是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機(jī)規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內(nèi)部或外部數(shù)據(jù)存儲(chǔ)器的256個(gè)單元。為什么會(huì)是256個(gè)單元呢?我們知道,R0或者R1都是一個(gè)8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV R0,#30H ;將值30H加載到R0中 MOV A,@R0 ;把內(nèi)部RAM地址30H內(nèi)的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H內(nèi)的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個(gè)16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數(shù)據(jù)存儲(chǔ)器時(shí),我們通常就用DPTR做為間址寄存器。例:MOV DPTR,#1234H ;將DPTR值設(shè)為1234H(16位) MOVX A,@DPTR ;將外部RAM或I/O地址1234H內(nèi)的值放到累加器A中 在執(zhí)行PUSH(壓棧)和POP(出棧)指令時(shí),采用堆棧指針SP作寄存器間接尋址。例:PUSH 30H ;把內(nèi)部RAM地址30H內(nèi)的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會(huì)把內(nèi)部RAM地址30H內(nèi)的值放到RAM的61H內(nèi)。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個(gè),R0、R1、DPTR、SP 寄存器間接尋址范圍總結(jié):1、內(nèi)部RAM低128單元。對(duì)內(nèi)部RAM低128單元的間接尋址,應(yīng)使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對(duì)外部RAM64KB的間接尋址,應(yīng)使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內(nèi)容送入累加器A中。外部RAM的低256單元是一個(gè)特殊的尋址區(qū),除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內(nèi)容送入累加器A。 堆棧操作指令(PUSH和POP)也應(yīng)算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號(hào)的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標(biāo)志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計(jì)數(shù)器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時(shí),把兩者的內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。這種方式常用于訪問程序存儲(chǔ)器ROM中的數(shù)據(jù)表格,即查表操作。變址尋址只能讀出程序內(nèi)存入的值,而不能寫入,也就是說(shuō)變址尋址這種方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址,或者說(shuō)它是專門針對(duì)程序存儲(chǔ)器的尋址方式。例:MOVC A,@A+DPTR這條指令的功能是把DPTR和A的內(nèi)容相加,再把所得到的程序存儲(chǔ)器地址單元的內(nèi)容送A假若指令執(zhí)行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數(shù)地址就是54H+3F21H=3F75H。如果3F75H單元中的內(nèi)容是7FH,則執(zhí)行這條指令后,累加器A中的內(nèi)容就是7FH。 變址尋址的指令只有三條,分別如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一條指令JMP @A+DPTR這是一條無(wú)條件轉(zhuǎn)移指令,這條指令的意思就是DPTR加上累加器A的內(nèi)容做為一個(gè)16位的地址,執(zhí)行JMP這條指令是,程序就轉(zhuǎn)移到A+DPTR指定的地址去執(zhí)行。 第二、三條指令MOVC A,@A+DPTR和MOVC A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來(lái)卻有一定的差別,現(xiàn)詳細(xì)說(shuō)明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個(gè)16位的數(shù)據(jù)指針寄存器,按理,它們的尋址范圍都應(yīng)是64K。我們?cè)趯W(xué)習(xí)特殊功能寄存器時(shí)已知道,程序計(jì)數(shù)器PC是始終跟蹤著程序的執(zhí)行的。也就是說(shuō),PC的值是隨程序的執(zhí)行情況自動(dòng)改變的,我們不可以隨便的給PC賦值。而DPTR是一個(gè)數(shù)據(jù)指針,我們就可以給空上數(shù)據(jù)指針DPTR進(jìn)行賦值。我們?cè)倏粗噶頜OVC A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個(gè)地址,而PC是固定的,累加器A是一個(gè)8位的寄存器,它的尋址范圍是256個(gè)地址單元。講到這里,大家應(yīng)可明白,MOVC A,@A+PC這條指令的尋址范圍其實(shí)就是只能在當(dāng)前指令下256個(gè)地址單元。所在,這在我們實(shí)際應(yīng)用中,可能就會(huì)有一個(gè)問題,如果我們需要查詢的數(shù)據(jù)表在256個(gè)地址單元之內(nèi),則可以用MOVC A,@A+PC這條指令進(jìn)行查表操作,如果超過了256個(gè)單元,則不能用這條指令進(jìn)行查表操作。剛才我們已說(shuō)到,DPTR是一個(gè)數(shù)據(jù)指針,這個(gè)數(shù)據(jù)指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC A,@A+DPTR這條指令的尋址范圍達(dá)到64K。這就是這兩條指令在實(shí)際應(yīng)用當(dāng)中要注意的問題。 變址尋址方式是MCS-51單片機(jī)所獨(dú)有的一種尋址方式。 位尋址 80C51單片機(jī)有位處理功能,可以對(duì)數(shù)據(jù)位進(jìn)行操作,因此就有相應(yīng)的位尋址方式。所謂位尋址,就是對(duì)內(nèi)部RAM或可位尋址的特殊功能寄存器SFR內(nèi)的某個(gè)位,直接加以置位為1或復(fù)位為0。 位尋址的范圍,也就是哪些部份可以進(jìn)行位尋址: 1、我們?cè)诘谑n學(xué)習(xí)51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)時(shí),我們已知道在單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM的低128單元中有一個(gè)區(qū)域叫位尋址區(qū)。它的單元地址是20H-2FH。共有16個(gè)單元,一個(gè)單元是8位,所以位尋址區(qū)共有128位。這128位都單獨(dú)有一個(gè)位地址,其位地址的名字就是00H-7FH。這里就有一個(gè)比較麻煩的問題需要大家理解清楚了。我們?cè)谇懊娴膶W(xué)習(xí)中00H、01H。。。。7FH等等,所表示的都是一個(gè)字節(jié)(或者叫單元地址),而在這里,這些數(shù)據(jù)都變成了位地址。我們?cè)谥噶钪校蛘咴诔绦蛑腥绾蝸?lái)區(qū)分它是一個(gè)單元地址還是一個(gè)位地址呢?這個(gè)問題,也就是我們現(xiàn)在正在研究的位尋址的一個(gè)重要問題。其實(shí),區(qū)分這些數(shù)據(jù)是位地址還是單元地址,我們都有相應(yīng)的指令形式的。這個(gè)問題我們?cè)诤竺娴闹噶钕到y(tǒng)學(xué)習(xí)中再加以論述。 2、對(duì)專用寄存器位尋址。這里要說(shuō)明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請(qǐng)大家回頭去看看我們前面關(guān)于專用寄存器的相關(guān)文章。一般來(lái)說(shuō),地址單元可以被8整除的專用寄存器,通常都可以進(jìn)行位尋址,當(dāng)然并不是全部,大家在應(yīng)用當(dāng)中應(yīng)引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態(tài)字PSW來(lái)進(jìn)行說(shuō)明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H MOV C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示 MOV C,F(xiàn)0 3、單元(字節(jié))地址加位表示:D0H單元位5,表示為DOH.5 MOV C,D0H.5 4、專用寄存器符號(hào)加位表示:例如PSW.5 MOV C,PSW.5 這四種方法實(shí)現(xiàn)的功能都是相同的,只是表述的方式不同而已。 例題: 1. 說(shuō)明下列指令中源操作數(shù)采用的尋址方式。 MOV R5,R7 答案:寄存器尋址方式 MOV A,55H 直接尋址方式 MOV A,#55H 立即尋址方式 JMP @A+DPTR 變址尋址方式 MOV 30H,C 位尋址方式 MOV A,@R0 間接尋址方式 MOVX A,@R0 間接尋址方式 改錯(cuò)題 請(qǐng)判斷下列的MCS-51單片機(jī)指令的書寫格式是否有錯(cuò),若有,請(qǐng)說(shuō)明錯(cuò)誤原因。 MOV R0,@R3 答案:間址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。 ADD R0,R1 運(yùn)算指令中目的操作數(shù)必須為累加器A,不可為R0。 MUL AR0 乘法指令中的乘數(shù)應(yīng)在B寄存器中,即乘法指令只可使用AB寄存器組合。
標(biāo)簽: 單片機(jī)指令 系統(tǒng)原理
上傳時(shí)間: 2013-11-11
上傳用戶:caozhizhi
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1