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

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

以太網(wǎng)接入

  • STC89C5X單片機“看門狗”原理、詳細說明和演示程序

    “看門狗定時器”是這樣一種東西,從功能上說它可以讓微控制器在意外狀況下(比如程序陷入死循環)重新回復到系統上電狀態,以保證系統出問題的時候重啟一次。就跟我們用電腦一樣,死機了你就按一下reset鍵重啟一次電腦,看門狗就是負責干這個事兒的。它是52單片機增加的一個功能,以前Intel 8031、……、AT89C51時代單片機片內都沒有“看門狗”功能,需要我們外擴看門狗芯片,比如X5045。 很多人初次接觸丌太理解怎么用,書上也講的含含糊糊,故意說的很復雜很玄妙(可能是現在寫書人的通病,生怕寫的簡單的別人覺得他沒水平)。其實要是說明白點:“看門狗”就是一個計數器,由于位數有限計數器能夠裝的數值是有限的(比如8位的最多裝256個數、16位的最多裝65536個數),從開啟“看門狗”那刻起,它就開始丌停的數機器周期,數一個機器周期就計數器加1,加到計數器盛丌下了(術語叫溢出)就就產生一個復位信號,重啟系統。

    標簽: STC 89C 89 5X

    上傳時間: 2013-11-11

    上傳用戶:yepeng139

  • 基于單片機的多I/O節點開發設計

    LonWorks 推廣應用的關鍵在于網絡節點開發, 以TP / FT-10F 模塊和AT89C2051 單片機為核心設計接口電路,開發了一種通用多輸入/ 輸出智能控制節點模塊。通過軟件調整模擬信號采集電路的量程;應用DAC7513 使放大器輸出電壓幾乎等于電源電壓;采用二極管隔離方式簡化數字信號輸入/ 輸出電路;通過在電源引腳和接地引腳之間添加去耦電容,采用多層電路板布局,數字芯片的未用輸入端接入高電平等方法,提高了抗電磁干擾能力;采取模擬、數字電路單元內部分別接模擬地和數字地,再將2 條地線接至一點的措施,有效地降低了靜態放電的影響;提出了節點故障診斷策略流程。該通用多輸入/ 輸出智能控制節點模塊運行可靠。關鍵詞: LonWorks; 多輸入/ 輸出; 節點設計

    標簽: 單片機 節點 開發設計

    上傳時間: 2013-11-23

    上傳用戶:515414293

  • 深入淺出MFC簡體中文版

     MFC 六大技術之簡化仿真(Console 程序) 第㆓篇【欲善工事先利其器】提供給對 Visual C++ 整合環境全然陌生的朋友㆒個導引。 這㆒篇當然不能取代 Visual C++ User's Guide 的㆞位,但對整個軟件開發環境有全盤以 及概觀性的介紹,可以讓初學者迅速了解手㆖掌握的工具,以及它們的主要功能。 第㆔篇【淺出 MFC 程序設計】介紹㆒個 MFC 程序的生死因果。已經有 MFC 程序經 驗的朋友,不見得不會對本篇感到驚艷。根據我的了解,太多㆟使用 MFC 是「只知道 這么做,不知道為什么」;本篇詳細解釋 MFC 程序之來龍去脈,為初入 MFC 領域的 讀者奠定扎實的基礎。說不定本篇會讓你有醍醐灌頂之感。

    標簽: MFC 簡體中文

    上傳時間: 2013-12-16

    上傳用戶:qq527891923

  • 淺談SILABS的FLASH單片機丟失程序的原因及對策

    在8位MCU市場,盡管OTP MCU以其低廉的價格成為市場的主流,但其存在致使的弱點--只能一次編程,這使得研發工程師承擔了太多的研發風險,一旦程序有缺陷,就無法補救,生產出來的產品只能報廢。

    標簽: SILABS FLASH 單片機 程序

    上傳時間: 2013-11-10

    上傳用戶:yeluorag

  • 基于Modem的單片機與PC機遠程數據傳輸設計

    交換機與多個現場單片機連通。現場單片機完成對各物理參量的數據采集,進行數字濾波、數據處理、比值告警、現場顯示及對現場設備進行控制等,并定時或隨機地向中央管理PC機報告過程情況。中央管理PC機定時或隨機地匯集各測試點的信息,進行數據處理、顯示打印、聲光報警,并負責全局的綜合控制、管理調度和策劃指揮等任務。中央PC機可通過電話網依次自動撥號呼叫下屬各現場單片機,單片機收到呼叫并建立聯接后發送數據到中央管理PC機,各現場單片機之間則不能進行呼叫聯絡。由于單片機應用系統的安裝數量和分布范圍不同,與中心站的距離一般為幾公里到幾十公里,在單片機與PC機之間需要傳送的數據量不是很大的情況下,采用調制解調器通過電話線路進行通信較為適用。下位單片機以其所在單位的電話號碼作為其唯一的地址,并由單片機控制電話的使用,可以實現無人值守自動通信。每當電話響鈴一定次數后仍無人接聽,則單片機自動接入線路,通過不同標志來判斷是主機呼叫還是人打電話。若是主機呼叫,表示中心站要求通信,單片機將保持與上位PC機連接,將各種測量數據發送出去并接收主機發來的命令;若是人打電話,則斷開連接繼續進行數據采集,并接通模擬響鈴電路,提醒人們接聽。

    標簽: Modem 單片機 PC機 傳輸設計

    上傳時間: 2014-12-27

    上傳用戶:趙一霞a

  • QL310多功能識別主人電話遙控報警芯片用戶手冊

    □基于來電顯示技術,識別主人,利用手機或固定電話實現免接通,免費用的絕密遙控關及撤防。□單芯片多功能可編程設計,MCU內核,有著十分靈活廣泛的應用(可定制特殊功能)。自動撥號的電話報警器方面:室內手動延時布防,手機或固定電話免接通遙控撤防;撥號報警+現場報警(可選)。電話遙控開關方面:用于開啟電控門鎖,保險柜電控鎖,車庫電動門,電器開關...等。更多應用......。□單芯片最多可存入6組電話號碼(6個主人)不重碼,最后一組號碼可刷新,掉電不丟失,可保100年。□非主人撥入無效,主人需20秒內連續撥通兩次遙控才有效(撤防或開關),操縱成功后會自動回撥遙控者電話一次,以表示遙控成功。絕不影響電話的正常使用。□循環撥打1-6組主人電話號碼報警15次,接聽報警時警聲提示,可同時選擇現場報警。無注冊用戶時,觸發報警將自動轉入連續現場報警1分鐘。□接警處理功能,接聽報警期間,手機或固定電話按"#"鍵退出報警。未接警的號碼繼續打報警。□僅設計兩按鈕實現用戶注冊、信息刪除、室那手動布防撤防、輸出開關控制、報警模式設定,報警期間無法手動撤防。□兩種反復可編程報警模式。掉電不丟失。模式1:報警完畢自動撤防;模式2:報警完畢保持布防。□兩種自適應電路模式:DTMF解碼器接入模式和DTMF解碼器不接入模式。自動實現不同的電路設計實現不同的輸出控制功能。同一電路設計,通過增減硬部件即可實現不同的輸出功能,QL310上電時自動識別DTMF解碼器是否存在。□兩路警聲輸出:其中一路輸出用于操作音提示及報警時加載到電話線路中供監聽用。另一路為現場報警使用(可根據需要選用,這路只有在報警時才有輸出,設計時可通過加大功率提高警聲)。□狀態記憶功能:布撤防狀態都有記憶功能(掉電不丟失)。可避免布撤防期間的偶然的停電再上電是狀態發生變化。比如,當前為布防狀態,掉電再上電后還是保持布防狀態。□手動布撤防提示音,布撤防LED指示燈。□上電開機報警模式提示音,模式1發一聲提示音;模式2發兩聲提示音。□觸發端的信號智能檢測,因此可適應任何觸發信號:或高電平,或低電平,或高/低脈沖信號;無源的開關信號,如繼電器,干簧管或門磁開關等(由于觸發端內部有上拉電阻)。標準的TTL電平,通過外接簡單的限幅電路可實現更高電平或脈沖的輸入(紅外探頭,防火探頭等)。特強抗干擾處理,長距離布線可抗強電磁干擾。□20腳PDIP封裝及20腳SOP封裝。□5V低功耗。使用3.58M晶振。□工業級設計,工作溫度:-40℃~+85℃

    標簽: 310 QL 多功能 識別

    上傳時間: 2013-11-13

    上傳用戶:lacsx

  • 基于PIC30F的E-購系統設計

    第一部分:設計概述隨著現代化進程的逐步加深,數字城市化進一步推進,一方面,超市的規模越來越大,商品的種類日益繁多;另一方面,人們的生活節奏越來越快,時間觀念越來越強,對購物環境的要求也越來越高,如何從眼花繚亂的商品中快速選擇所需物品,如何使購物環境更為舒適便利,讓購物變成一種休閑享受,鑒于上述的需要,我們設計了這款E-購系統。人們在大商場中選購商品時,特別是游客到達一個新的旅游景點超市時,由于對商場的布局不太了解,導致很多的時間浪費在尋找自己所需要的商品上,甚至有時因為找不到商品而失去了購物的心情。有了這款E-購系統,顧客就可以輕松了解商場的布局和自己感興趣商品的位置,購物的同時還可以享受美妙的音樂,增添了購物的樂趣,從而為商家吸引回頭客奠定了基礎。這款系統相較于以往傳統具有類似功用的導購系統有了很大的改進,商品導購方面有同類商品和同廠商品查詢功能,讓顧客獲得更加豐富的信息,購得最適合自己的商品;購物舒適度方面不僅增加了商場環境實時檢測功能,讓顧客對自己所處的環境有理性的認識,同時E-購系統的隨身音樂播放功能,讓顧客從此遠離傳統超市環境的嘈雜,取而代之的是購物過程中輕松的音樂,這一點對于壓力越來越大的城市人群來說,的確是件好事;在快速付賬方面增加了所購商品總價結算模塊,不僅給顧客以購物參考,也為將來的輕松結賬鋪平了道路。本系統可以應用于大中型商場或者超級市場。考慮到需要高系統性能、低系統成本、功能強大易用的開發環境,并可以根據自己的需要來調整嵌入式系統的特性、性能以及成本,我們選用單片機PIC30F,再加上適合軟件系統開發調試的集成開發環境,為開發提供了方便。第一部分:設計概述隨著現代化進程的逐步加深,數字城市化進一步推進,一方面,超市的規模越來越大,商品的種類日益繁多;另一方面,人們的生活節奏越來越快,時間觀念越來越強,對購物環境的要求也越來越高,如何從眼花繚亂的商品中快速選擇所需物品,如何使購物環境更為舒適便利,讓購物變成一種休閑享受,鑒于上述的需要,我們設計了這款E-購系統。人們在大商場中選購商品時,特別是游客到達一個新的旅游景點超市時,由于對商場的布局不太了解,導致很多的時間浪費在尋找自己所需要的商品上,甚至有時因為找不到商品而失去了購物的心情。有了這款E-購系統,顧客就可以輕松了解商場的布局和自己感興趣商品的位置,購物的同時還可以享受美妙的音樂,增添了購物的樂趣,從而為商家吸引回頭客奠定了基礎。這款系統相較于以往傳統具有類似功用的導購系統有了很大的改進,商品導購方面有同類商品和同廠商品查詢功能,讓顧客獲得更加豐富的信息,購得最適合自己的商品;購物舒適度方面不僅增加了商場環境實時檢測功能,讓顧客對自己所處的環境有理性的認識,同時E-購系統的隨身音樂播放功能,讓顧客從此遠離傳統超市環境的嘈雜,取而代之的是購物過程中輕松的音樂,這一點對于壓力越來越大的城市人群來說,的確是件好事;在快速付賬方面增加了所購商品總價結算模塊,不僅給顧客以購物參考,也為將來的輕松結賬鋪平了道路。本系統可以應用于大中型商場或者超級市場。考慮到需要高系統性能、低系統成本、功能強大易用的開發環境,并可以根據自己的需要來調整嵌入式系統的特性、性能以及成本,我們選用單片機PIC30F,再加上適合軟件系統開發調試的集成開發環境,為開發提供了方便。

    標簽: PIC 30F 30 系統設計

    上傳時間: 2013-11-14

    上傳用戶:3294322651

  • 基于單片機嵌入式網絡接入模塊的設計與實現

    摘要:本文主要提出了一種基于普通單片機的網絡接入模塊的設計方案。網絡接入模塊是廉價的測控網絡接入方案,它可以將具有RS-232等接口的測控設備簡單又直接地連接在局域網上,利用豐富現成的局域網資源,組成一系列局域網的分布式測控系統,可以作為一種新的實用測控網絡分布式控制的方法。關鍵詞:網絡接入模塊,TCP,IP,UDP,ARP

    標簽: 單片機 嵌入式 網絡接入模塊

    上傳時間: 2013-11-07

    上傳用戶:assef

  • Keil C51使用詳解

    Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。

    標簽: Keil C51 使用詳解

    上傳時間: 2013-11-01

    上傳用戶:zhouxuepeng1

  • 單片機入門基礎知識大全免費下載

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

    標簽: 單片機 免費下載 基礎知識

    上傳時間: 2013-10-13

    上傳用戶:3294322651

主站蜘蛛池模板: 荣成市| 黄骅市| 清水县| 白水县| 吴江市| 江安县| 竹北市| 永清县| 中卫市| 安溪县| 梧州市| 南宁市| 灵石县| 武隆县| 勃利县| 平果县| 绥芬河市| 讷河市| 安图县| 铁力市| 屏南县| 乐清市| 阿克苏市| 青阳县| 东阿县| 白河县| 柯坪县| 抚顺县| 双柏县| 澎湖县| 西平县| 革吉县| 远安县| 广东省| 山东| 福清市| 铜山县| 民权县| 武强县| 呈贡县| 徐闻县|