摘 要:從應(yīng)用角度介紹了具有11個輸入端的12位A/D轉(zhuǎn)換器TLC2543的結(jié)構(gòu)與編程要點(diǎn),探討了TLC2543與51系列單片機(jī)的接口方法,用軟件合成SPI操作,給出了接口電路與A/D采集程序設(shè)計(jì)實(shí)例,并對實(shí)際應(yīng)用時應(yīng)注意的問題進(jìn)行了探討。關(guān)鍵詞:A/D轉(zhuǎn)換;TLC2543芯片;51系列單片機(jī);接口技術(shù)
標(biāo)簽: 2543 TLC 轉(zhuǎn)換器 51系列
上傳時間: 2013-11-22
上傳用戶:瓦力瓦力hong
CAN通訊模塊 聯(lián)系 楊迪 15336417867 0531-55508458 QQ:1347978253 htp://www.easyele.cn 產(chǎn)品關(guān)鍵特點(diǎn): CAN通訊模塊包括了所有模擬和數(shù)字元件、RS232電平變換、CAN-bus接口等。該產(chǎn)品可以很方便地嵌入到具有UART接口的設(shè)備中,在不需改變原 有硬件結(jié)構(gòu)的前提下使設(shè)備獲得CAN-bus通訊接口,實(shí)現(xiàn)具有UART設(shè)備和CAN-bus網(wǎng)絡(luò)之間的數(shù)據(jù)通訊。 產(chǎn)品簡介: CAN通訊模塊模塊體積小巧,實(shí)現(xiàn)CAN-bus網(wǎng)絡(luò)單芯片解決方案。 電源鏈接:CAN通訊模塊供電電壓DC5V±5%,CAN通訊模塊本身無穩(wěn)壓措施,請務(wù)必注意供電電壓范圍,低于4.5V或高于5.5V時,系統(tǒng)無法保證正常工作。產(chǎn)品的16、17腳為+5V輸入(正),14、15腳為電源地(負(fù))。CAN-bus網(wǎng)絡(luò)連接:芯片實(shí)現(xiàn)UART數(shù)據(jù)與CAN-bus總線數(shù)據(jù)的雙向透明轉(zhuǎn)換。兩個設(shè)備的CAN_H與CAN_H相連,CAN_L與CAN_L相連。CAN-bus網(wǎng)絡(luò)的兩個端點(diǎn)需要安裝終端電阻。 CAN通訊模塊是公認(rèn)的穩(wěn)定可靠的通訊模式,產(chǎn)品系統(tǒng)采用汽車級CPU,更保障其穩(wěn)定性,廣泛應(yīng)用于消防安防、智能樓宇、酒店門鎖、煤礦通 訊、船舶運(yùn)輸?shù)葢?yīng)用領(lǐng)域。CAN通訊模塊通過UART轉(zhuǎn)CAN可以幫助用戶快速實(shí)現(xiàn)具有CAN-bus通訊接口的儀器、儀表設(shè)備的項(xiàng)目設(shè)計(jì)。模塊集成了8bit微處理器、CAN控制器、CAN收發(fā)器、總線保護(hù)于一身,所有元器件布置在一個微型的封裝模塊之內(nèi),用戶只需要知道RS232的通訊即可實(shí)現(xiàn)CAN通訊。提供上位機(jī)設(shè)計(jì),可以工作于透明傳輸模式和透明數(shù)據(jù)模式。 CAN通訊模塊價(jià)格性價(jià)比高,大大降低了用戶的使用成本。歡迎咨詢選購。
上傳時間: 2013-10-10
上傳用戶:mqien
嵌入式CAN模塊 聯(lián)系 楊迪 15336417867 0531-55508458 QQ:1347978253 htp://www.easyele.cn CAN (Controller Area Network)即控制器局域網(wǎng)絡(luò),屬于工業(yè)現(xiàn)場總線的范疇。與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性 、實(shí)時性和靈活性。嵌入式CAN模塊控制器功能強(qiáng),通信效率高,是公認(rèn)的穩(wěn)定可靠的通訊模式,廣泛應(yīng)用于消防安防、智能樓宇、酒店門鎖、 煤礦通訊、船舶運(yùn)輸?shù)葢?yīng)用領(lǐng)域。本系統(tǒng)采汽車級CPU,更保障其穩(wěn)定性。客戶可以放心使用。 嵌入式CAN模塊 轉(zhuǎn) RS232 RS485 TTL ,可以幫助用戶快速實(shí)現(xiàn)具有CAN-bus通訊接口的儀器、儀表設(shè)備的項(xiàng)目設(shè)計(jì),模塊集成了8bit微處理器 CAN控制器、CAN收發(fā)器、總線保護(hù)于一身,所有元器件布置在一個微型的封裝模塊之內(nèi),用戶只需要知道RS232的通訊即可實(shí)現(xiàn)CAN通訊。客戶 可以方便使用。 在使用過程中,嵌入式CAN模塊可以工作于二種模式:透明傳輸模式和透明數(shù)據(jù)模式。并且提供上位機(jī)設(shè)計(jì),UART輸出時可以為TTL電平,RS232 或RS485,對應(yīng)訂貨型號為 CAN-module-ttl / rs232 / 485。客戶應(yīng)注意。 嵌入式CAN模塊可以在CAN與RS232間精確的轉(zhuǎn)換信息,讓您更方便的通過PC或帶RS232端口的設(shè)備與CAN設(shè)備通訊。歡迎大家咨詢選購嵌入式CAN 模塊,是我公司自主研發(fā)生產(chǎn),完全擁有知識產(chǎn)權(quán),專業(yè)的產(chǎn)品包裝,詳細(xì)的資料光盤,性價(jià)比高,專業(yè)公司操作,及時的技術(shù)支持,完善的 售后服務(wù),解決客戶的后顧之憂。
上傳時間: 2013-11-28
上傳用戶:13925096126
學(xué)習(xí)單片機(jī)實(shí)在不是件易事,一來要購買高價(jià)格的編程器,仿真器,二來要學(xué)習(xí)編程語言,還有眾多種類的單片機(jī)選擇真是件讓人頭痛的事。在眾多單片機(jī)中51 架構(gòu)的芯片風(fēng)行很久,學(xué)習(xí)資料也相對很多,是初學(xué)的較好的選擇之一。51 的編程語言常用的有二種,一種是匯編語言,一種是C 語言。匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而C 語言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且C 語言還可以嵌入?yún)R編來解決高時效性的代碼編寫問題。對于開發(fā)周期來說,中大型的軟件編寫用C 語言的開發(fā)周期通常要小于匯編語言很多。綜合以上C 語言的優(yōu)點(diǎn),我在學(xué)習(xí)時選擇了C 語言。以后的教程也只是我在學(xué)習(xí)過程中的一些學(xué)習(xí)筆記和隨筆,在這里加以整理和修改,希望和大家一起分享,一起交流,一起學(xué)習(xí),一起進(jìn)步。
標(biāo)簽: Keil 51單片機(jī) C語言 入門教程
上傳時間: 2013-10-07
上傳用戶:pompey
學(xué)習(xí)單片機(jī)總結(jié)寶典 基于本人學(xué)習(xí)單片機(jī)的痛苦經(jīng)歷,特編寫本教程,以此獻(xiàn)給廣大 的單片機(jī)初學(xué)者,希望您能從中受益。 作者提示:本教程乃最通俗易懂之單片機(jī)教材也,如果您還是看 不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_* 拿到這本教程您首先就會想,什么是 IAP 教學(xué)法?是不是一種什么全新的教學(xué)方法?當(dāng)然不是, 我可沒有那么大的本事,其實(shí)這只是我杜撰的一個新名詞,意思就是In Applications Program(在應(yīng) 用中編程),當(dāng)然這只是針對單片機(jī)教學(xué),說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學(xué)習(xí)電子技術(shù)是一件非常無聊和枯燥 的事情,為什么會有這種想法,就是因?yàn)槲覀儌鹘y(tǒng)的教學(xué)方法只重理論而忽略了實(shí)踐,要一個人記住那 些空洞而有無聊的理論知識實(shí)在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的 學(xué)習(xí)了一些電子基礎(chǔ)知識。 接下來我們應(yīng)該進(jìn)一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機(jī)。不過這可 不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而實(shí)在是我們身邊很難找到一本專為單片機(jī)入門者而編 寫的教材。翻一下傳統(tǒng)的單片機(jī)教材,都好象是為已經(jīng)懂單片機(jī)的人而寫的,一般總是以單片機(jī)的結(jié)構(gòu) 為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統(tǒng)擴(kuò)展和外圍器件,最后舉一些實(shí)例(隨 便說一點(diǎn):很多書中的實(shí)例都是有錯誤的),很少涉及單片機(jī)的基礎(chǔ)知識,如果按照此種學(xué)習(xí)方法,想 進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。孰不知,單片機(jī)不象模擬電路 和數(shù)字電路那樣,只要搞懂了電路原理,再按照產(chǎn)品要求設(shè)計(jì)好相應(yīng)的電路就可以了。它是一種以簡單 的硬件結(jié)構(gòu),復(fù)雜而有靈活的軟件系統(tǒng)來完成設(shè)計(jì)的通用性產(chǎn)品,不同的設(shè)計(jì)者只會使用其不同的功能, 幾乎沒有人會把它的全部指令都使用起來,所以學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累,而不可能先把 它全部掌握了再去做產(chǎn)品開發(fā)(當(dāng)然天才就例外了*_*)。
上傳時間: 2013-10-15
上傳用戶:小碼農(nóng)lz
單片機(jī)原理及綜合設(shè)計(jì) 第一章:MCS-51系列單片機(jī)的存儲結(jié)構(gòu)(4學(xué)時)① 掌握內(nèi)部數(shù)據(jù)寄存器RAM的結(jié)構(gòu)、用途和特點(diǎn);② 程序存儲器ROM的結(jié)構(gòu)特點(diǎn),編程中應(yīng)注意的問題;③ 片內(nèi)、外程序存儲器的確定方法。 第二章:MCS-51單片機(jī)指令系統(tǒng)及時序(4學(xué)時)① 111條指令的功能分類;② 指令的尋址方式;③ 偽指令及匯編語言源程序的格式;④ 與指令的相關(guān)時序。第三章:MCS-51單片機(jī)內(nèi)部模塊的功能介紹(8學(xué)時)① 內(nèi)部并行I/O端口的結(jié)構(gòu)特點(diǎn)、使用中的注意事項(xiàng);② 定時/計(jì)數(shù)器的2種工作方式、4種計(jì)數(shù)模式;③ 串行接口的4種工作模式的設(shè)定及波特率的計(jì)算;④ 中斷系統(tǒng)的結(jié)構(gòu)、中斷響應(yīng)的過程和編程方法。 第四章:MCS-51單片機(jī)系統(tǒng)的擴(kuò)展及應(yīng)用(8學(xué)時);① 系統(tǒng)擴(kuò)展的幾種方法;② 外部程序、數(shù)據(jù)存儲器的擴(kuò)展;③ A/D、D/A轉(zhuǎn)換器與單片機(jī)的接口電路及編程方法;④ 鍵盤掃描/動態(tài)顯示接口電路;⑤ 單片機(jī)的監(jiān)控電路等。
標(biāo)簽: 單片機(jī)原理 綜合設(shè)計(jì)
上傳時間: 2013-10-28
上傳用戶:ydd3625
STC12C5410AD 系列單片機(jī)器件手冊 STC12C5412, STC12C5412ADSTC12C5410, STC12C5410ADSTC12C5408, STC12C5408ADSTC12C5406, STC12C5406ADSTC12C5404, STC12C5404ADSTC12C5402, STC12C5402ADSTC12C5410AD 系列單片機(jī)器件手冊技術(shù)支援: 宏晶科技( 深圳)www.MCU-Memory.com support@MCU-Memory.comUpdate date: 2006-4-15 (請隨時注意更新)--- 高速,高可靠--- 低功耗,超低價(jià)--- 無法解密--- 強(qiáng)抗靜電,強(qiáng)抗干擾STC12LE5412, STC12LE5412ADSTC12LE5410, STC12LE5410ADSTC12LE5408, STC12LE5408ADSTC12LE5406, STC12LE5406ADSTC12LE5404, STC12LE5404ADSTC12LE5402, STC12LE5402AD
上傳時間: 2014-12-27
上傳用戶:han_zh
51單片機(jī)C語言提升教程 51 單片機(jī)C 語言學(xué)習(xí)雜記學(xué)習(xí)單片機(jī)實(shí)在不是件易事,一來要購買高價(jià)格的編程器,仿真器,二來要學(xué)習(xí)編程語言,還有眾多種類的單片機(jī)選擇真是件讓人頭痛的事。在眾多單片機(jī)中51 架構(gòu)的芯片風(fēng)行很久,學(xué)習(xí)資料也相對很多,是初學(xué)的較好的選擇之一。51 的編程語言常用的有二種,一種是匯編語言,一種是C 語言。匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而C 語言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且C 語言還可以嵌入?yún)R編來解決高時效性的代碼編寫問題。對于開發(fā)周期來說,中大型的軟件編寫用C 語言的開發(fā)周期通常要小于匯編語言很多。綜合以上C 語言的優(yōu)點(diǎn),我在學(xué)習(xí)時選擇了C 語言。以后的教程也只是我在學(xué)習(xí)過程中的一些學(xué)習(xí)筆記和隨筆,在這里加以整理和修改,希望和大家一起分享,一起交流,一起學(xué)習(xí),一起進(jìn)步。
標(biāo)簽: 51單片機(jī)C語言 教程
上傳時間: 2013-10-14
上傳用戶:aa7821634
I/O 型單片機(jī)使用手冊 目錄 間接尋址寄存器 – IAR, IAR0, IAR1 .............................................35間接尋址指針 – MP, MP0, MP1 ......................................................35存儲區(qū)指針 – BP .........................................................................36累加器 – ACC...................................................................................37程序計(jì)數(shù)器低字節(jié)寄存器 – PCL....................................................37表格寄存器 – TBLP,TBHP,TBLH....................................................37看門狗定時寄存器 – WDTS............................................................38狀態(tài)寄存器 – STATUS.....................................................................38中斷控制寄存器 – INTC,INTC0,INTC1 .........................................39定時/計(jì)數(shù)寄存器...............................................................................39輸入/輸出端口和控制寄存器...........................................................40UART 寄存器 .USR,UCR1,UCR2,TXR/RXR,BRG.......................40輸入/輸出端口..........................................................................................41上拉電阻............................................................................................41PA 口的喚醒......................................................................................41輸入/輸出端口控制寄存器...............................................................41引腳共享功能....................................................................................42編程注意事項(xiàng)....................................................................................45定時/計(jì)數(shù)器..............................................................................................46配置定時/計(jì)數(shù)器輸入時鐘源...........................................................47定時/計(jì)數(shù)寄存器 – TMR, TMR0,TMR0L/TMR0H,TMR1L/TMR1H,TMR2.....................................................................49定時/計(jì)數(shù)控制寄存器 – TMRC,TMR0C,TMR1C,TMR2C............50定時器模式........................................................................................53事件計(jì)數(shù)器模式................................................................................53脈沖寬度測量模式............................................................................54可編程分頻器(PFD)和蜂鳴器的應(yīng)用..............................................55預(yù)分頻器(Prescaler)...........................................................................56輸入/輸出接口...................................................................................56編程注意事項(xiàng)....................................................................................57定時/計(jì)數(shù)器應(yīng)用范例.......................................................................57中斷............................................................................................................59中斷寄存器........................................................................................59中斷優(yōu)先權(quán)........................................................................................62外部中斷............................................................................................63定時/計(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接收錯誤處理.....................................................................................85接收中斷圖解.....................................................................................86地址檢測模式.....................................................................................86暫停模式下的UART 功能.................................................................87UART 應(yīng)用范例.................................................................................87振蕩器........................................................................................................89系統(tǒng)時鐘配置....................................................................................89系統(tǒng)晶體/陶瓷振蕩器.......................................................................89系統(tǒng)電阻電容振蕩器........................................................................90內(nèi)部系統(tǒng)電阻電容振蕩器................................................................90RTC 振蕩器........................................................................................91看門狗定時振蕩器............................................................................91暫停和喚醒................................................................................................92暫停.....................................................................................................92進(jìn)入暫停.............................................................................................92靜態(tài)電流.............................................................................................92喚醒....................................................................................................92看門狗定時器............................................................................................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步驟一:建立一個新項(xiàng)目..............................................................159步驟二:將源程序文件加到項(xiàng)目中..............................................159步驟三:編譯項(xiàng)目..........................................................................159步驟四:燒寫OTP 單片機(jī).............................................................160步驟五:傳送程序與掩膜選項(xiàng)單至Holtek ..................................160附錄............................................................................................... 161附錄A 特性曲線圖...................................................................................163附錄B 封裝信息.......................................................................................173
上傳時間: 2013-10-18
上傳用戶:blacklee
單片機(jī)指令系統(tǒng)原理 51單片機(jī)的尋址方式 學(xué)習(xí)匯編程序設(shè)計(jì),要先了解CPU的各種尋址法,才能有效的掌握各個命令的用途,尋址法是命令運(yùn)算碼找操作數(shù)的方法。在我們學(xué)習(xí)的8051單片機(jī)中,有6種尋址方法,下面我們將逐一進(jìn)行分析。 立即尋址 在這種尋址方式中,指令多是雙字節(jié)的,一般第一個字節(jié)是操作碼,第二個字節(jié)是操作數(shù)。該操作數(shù)直接參與操作,所以又稱立即數(shù),有“#”號表示。立即數(shù)就是存放在程序存儲器中的常數(shù),換句話說就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。 例如:MOV A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOV DPTR,#8200H在前面學(xué)單片機(jī)的專用寄存器時,我們已學(xué)過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數(shù)的高8位(即82H)送入DPH寄存器,把立即數(shù)的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在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ī)中,直接地址只能用來表示特殊功能寄存器、內(nèi)部數(shù)據(jù)存儲器以及位地址空間,具體的說就是:1、內(nèi)部數(shù)據(jù)存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令 MOV IE,#85H 前面的學(xué)習(xí)我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 關(guān)于數(shù)據(jù)存儲器RAM的內(nè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就是一個立即數(shù)),數(shù)據(jù)前面沒有加“#”號的,就表示后面的是一個地址地址(如,MOV 65H,A這條指令的65H就是一個單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個工作寄存器組共有32個通用寄存器,但在指令中只能使用當(dāng)前寄存器組(工作寄存器組的選擇在前面專用寄存器的學(xué)習(xí)中,我們已知道,是由程序狀態(tài)字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對PSW中的RS1、RS0位的狀態(tài)設(shè)置,來進(jìn)行對當(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í)寄存器尋址方式就是對由PSW程序狀態(tài)字確定的工作寄存器組的R0-R7進(jìn)行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數(shù)的地址,即操作數(shù)是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機(jī)規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內(nèi)部或外部數(shù)據(jù)存儲器的256個單元。為什么會是256個單元呢?我們知道,R0或者R1都是一個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是一個16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數(shù)據(jù)存儲器時,我們通常就用DPTR做為間址寄存器。例:MOV DPTR,#1234H ;將DPTR值設(shè)為1234H(16位) MOVX A,@DPTR ;將外部RAM或I/O地址1234H內(nèi)的值放到累加器A中 在執(zhí)行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH 30H ;把內(nèi)部RAM地址30H內(nèi)的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會把內(nèi)部RAM地址30H內(nèi)的值放到RAM的61H內(nèi)。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP 寄存器間接尋址范圍總結(jié):1、內(nèi)部RAM低128單元。對內(nèi)部RAM低128單元的間接尋址,應(yīng)使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對外部RAM64KB的間接尋址,應(yīng)使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內(nèi)容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區(qū),除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內(nèi)容送入累加器A。 堆棧操作指令(PUSH和POP)也應(yīng)算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標(biāo)志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計(jì)數(shù)器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時,把兩者的內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。這種方式常用于訪問程序存儲器ROM中的數(shù)據(jù)表格,即查表操作。變址尋址只能讀出程序內(nèi)存入的值,而不能寫入,也就是說變址尋址這種方式只能對程序存儲器進(jìn)行尋址,或者說它是專門針對程序存儲器的尋址方式。例:MOVC A,@A+DPTR這條指令的功能是把DPTR和A的內(nèi)容相加,再把所得到的程序存儲器地址單元的內(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這是一條無條件轉(zhuǎn)移指令,這條指令的意思就是DPTR加上累加器A的內(nèi)容做為一個16位的地址,執(zhí)行JMP這條指令是,程序就轉(zhuǎn)移到A+DPTR指定的地址去執(zhí)行。 第二、三條指令MOVC A,@A+DPTR和MOVC A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現(xiàn)詳細(xì)說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個16位的數(shù)據(jù)指針寄存器,按理,它們的尋址范圍都應(yīng)是64K。我們在學(xué)習(xí)特殊功能寄存器時已知道,程序計(jì)數(shù)器PC是始終跟蹤著程序的執(zhí)行的。也就是說,PC的值是隨程序的執(zhí)行情況自動改變的,我們不可以隨便的給PC賦值。而DPTR是一個數(shù)據(jù)指針,我們就可以給空上數(shù)據(jù)指針DPTR進(jìn)行賦值。我們再看指令MOVC A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個地址,而PC是固定的,累加器A是一個8位的寄存器,它的尋址范圍是256個地址單元。講到這里,大家應(yīng)可明白,MOVC A,@A+PC這條指令的尋址范圍其實(shí)就是只能在當(dāng)前指令下256個地址單元。所在,這在我們實(shí)際應(yīng)用中,可能就會有一個問題,如果我們需要查詢的數(shù)據(jù)表在256個地址單元之內(nèi),則可以用MOVC A,@A+PC這條指令進(jìn)行查表操作,如果超過了256個單元,則不能用這條指令進(jìn)行查表操作。剛才我們已說到,DPTR是一個數(shù)據(jù)指針,這個數(shù)據(jù)指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC A,@A+DPTR這條指令的尋址范圍達(dá)到64K。這就是這兩條指令在實(shí)際應(yīng)用當(dāng)中要注意的問題。 變址尋址方式是MCS-51單片機(jī)所獨(dú)有的一種尋址方式。 位尋址 80C51單片機(jī)有位處理功能,可以對數(shù)據(jù)位進(jìn)行操作,因此就有相應(yīng)的位尋址方式。所謂位尋址,就是對內(nèi)部RAM或可位尋址的特殊功能寄存器SFR內(nèi)的某個位,直接加以置位為1或復(fù)位為0。 位尋址的范圍,也就是哪些部份可以進(jìn)行位尋址: 1、我們在第十二課學(xué)習(xí)51單片機(jī)的存儲器結(jié)構(gòu)時,我們已知道在單片機(jī)的內(nèi)部數(shù)據(jù)存儲器RAM的低128單元中有一個區(qū)域叫位尋址區(qū)。它的單元地址是20H-2FH。共有16個單元,一個單元是8位,所以位尋址區(qū)共有128位。這128位都單獨(dú)有一個位地址,其位地址的名字就是00H-7FH。這里就有一個比較麻煩的問題需要大家理解清楚了。我們在前面的學(xué)習(xí)中00H、01H。。。。7FH等等,所表示的都是一個字節(jié)(或者叫單元地址),而在這里,這些數(shù)據(jù)都變成了位地址。我們在指令中,或者在程序中如何來區(qū)分它是一個單元地址還是一個位地址呢?這個問題,也就是我們現(xiàn)在正在研究的位尋址的一個重要問題。其實(shí),區(qū)分這些數(shù)據(jù)是位地址還是單元地址,我們都有相應(yīng)的指令形式的。這個問題我們在后面的指令系統(tǒng)學(xué)習(xí)中再加以論述。 2、對專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請大家回頭去看看我們前面關(guān)于專用寄存器的相關(guān)文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進(jìn)行位尋址,當(dāng)然并不是全部,大家在應(yīng)用當(dāng)中應(yīng)引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態(tài)字PSW來進(jìn)行說明 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、專用寄存器符號加位表示:例如PSW.5 MOV C,PSW.5 這四種方法實(shí)現(xiàn)的功能都是相同的,只是表述的方式不同而已。 例題: 1. 說明下列指令中源操作數(shù)采用的尋址方式。 MOV R5,R7 答案:寄存器尋址方式 MOV A,55H 直接尋址方式 MOV A,#55H 立即尋址方式 JMP @A+DPTR 變址尋址方式 MOV 30H,C 位尋址方式 MOV A,@R0 間接尋址方式 MOVX A,@R0 間接尋址方式 改錯題 請判斷下列的MCS-51單片機(jī)指令的書寫格式是否有錯,若有,請說明錯誤原因。 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)原理
上傳時間: 2013-11-11
上傳用戶:caozhizhi
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1