『壹』 單片機XCHD指令是怎麼進行交換的
單片機xchd
a,@r0
是半位元組交換指令,累加器a的低4
位和內存的低4
位交換.
是匯編指令,類似於swap,不過有兩個操作數,xchd
rd,
rn
,功能為半位元組交換。
比如:
r1
=
23h,r2
=
45h,那麼
xchd
r1,
r2後,
r1
=
25h,
r2
=
43h,明白了嗎
『貳』 所有單片機,是不是只要修改了程序,就能互相替換使用
並不是所有情況下,都可以任意互換單片機的,你還要考慮單片機的最小系統電路是否通用,晶振是否通用,單片機的處理速度,內存,是否需要帶AD,DA,要用幾個定時器或串口、IO口對不對能不能改動等。
比如你要檢測一個ns級的信號,us級的單片機就不能用了;你需要用單片機自帶的AD,不帶AD的單片機就不能互換。
74HC164不是單片機,是移位寄存器,是為了便於單片機驅動點陣,節約IO口用的
『叄』 加a的高四位和低的四位互換用一條單片機指令實現的是什麼
如果你是指51單片機,那麼通過 SWAP A 指令即可實現高低4位的互換。好纖這條指令是配薯襪吵合BCD運數侍算用的。
『肆』 STc12c5616和STC89C52的區別是什麼這兩個單片機的程序之間可以互換嗎
STc12c5616和STC89C52兩個或攔的封裝是不同的,在硬體上是敬敬不能直互換的。
在指令上,STc12c5616是1T單片機,程序中,有延時程序的,時間會差很多的,特別是有些器件對時間和時序要求很衫稿胡嚴格的,這兩個單片機的程序之間就不能直接互換了,需要調整的。
『伍』 C51單片機 位操作指令 位之間的互換如何實現 如將50H與05H位的內容互換。 要匯編形式的。謝謝!
用SWAP指模攔令就可以進顫碼滾行高低4位進行互換了具體命令格式了。SWAP A 只支持在累加器A中操作,不支持在地址上操作。如想將R0寄存器上的數據0x50進行互換的話,需要這樣來操作。
MOV A,R0
SWAP A
MOV R0,A
那麼R0的茄余數據就從0x50變成了0x05了。
『陸』 單片機怎麼與交換機連接
單片機在程式控制交換機中的應用摘 要:本文介紹單片機在程式控制交換機中的應用, 使用五個ATMEL 公司的AT89C52 和AT89C51 作為主控制器和從控制器, 多機通訊, 硬體結構清晰, 模塊化程序結構。0 引言國內單片機多機通信方向技術開發應用已有相當長時間,在智能化儀器、工業自動控制、家用電器機電一體化等方面的應用成果尤為顯著。本文介紹AT 系列單片機多機通信在程式控制交換機中應用。多機程式控制交換機將1 至2 條電話外線擴展成4 繩路、12 個分機容量, 可以多部分機同時通話而互不幹擾(可以內外線混用); 分機可以為電話機、傳真機、答錄機和電腦等任何電訊產品。1 硬體結構簡介本程式控制交換機應用AT 系列單片機, CPU 使用一個AT89C52 和四個AT89C51, 進行多機通信, 如圖1 所示。其中一個CPU(AT89C52)作為上位機, 實現分機摘機/ 掛機查詢、分機振鈴等功能。四個CPU(AT89C51)作為下位機, 各控制野凳一根繩路, P10、P11 口作為CPU 地址, CPU 進行查詢外線來電、分機掛線(內線和外線)、分機撤線、分機撥號處理等工作, 提供內線撥號音、迴音鈴、忙音、證實音等信號音。0_CPU 和1_CPU各有一個繼電器J 控制開關, 用於接通或切斷電話外線與繩路的連接。硬體線路保證每CPU 各施其職, 互不串擾。某分機一旦掛線後, 該分機的信號音、撥號等只受該繩路的CPU 控制, 而且分機摘機、掛線後撥號才有效; 撤線後, 該分機不再受繩路的CPU 控制。2 多機通信協議在多機通信協議中定義上位機為主動, 下位機為被動。2.1 上——下位機聯絡握手上位機向下位機廣播地址信息; 下位機收到地址信息後判斷是否是本機地址, 若不是, 不應答; 若是, 向上位機發應答信號, 同時作好接收數據准備。上位機收到應答信號後, 判斷應答信號是否正確。若不正確, 重發地址信號; 若正確, 發送數據(命令代碼)。已握手的下位機接收數據(命令代碼)後, 執行相應功能或實施服務。地址信息與命令代碼設置不重碼, 以便下位機能判別出。
2.2 上位機向下位機發送命令類是否接外線(僅為0_CPU 和1_CPU)、有否請求服務、指定分機掛某一根內/ 外線、指定分機撤線、釋放外線繼電器、編程密碼、長途等級(內部、市內、國內和國際)、長途解鎖、要求繩路發內線撥號音、內線迴音鈴、內線忙音鈴或內線證實音等。2.3 下位機向上位機請求服務下位機只有在上位機「有否請求服務」時, 才可向上位機發送信息。發送信息有:本繩路有外電呼叫、撥打內部分機、三方通話、代接外線、設置轉移功能(無條件轉移、遇忙轉移、無應答轉移、撤消轉基脊含移)、設置外線來電振鈴方式(指定若干分機振鈴、全部分機振鈴、三機四組輪流振動鈴、外線來電時指定分機振鈴)、設置長途密碼\ 長途等級\ 長途解碼、強插監聽等。3 多機程式控制交換機軟體設計方法程序設計思路是根據多機程式控制交換機工作過程而制定的, 採用上下位機包干控制, 充分利用CPU 資源, 實現程式控制交換機功能。3.1 上位機軟體設計思路根據多機程式控制交換機功能, 上位機程序分成初始化、摘機處理、掛機處理、發送命令、下位機請求服務處理、振鈴處理和定時器處理(包括看門狗)七個模塊, 程序模塊結構如圖2 所示。初始化模塊主要是定義常數變數、變數單元、位標志、緩沖區、中斷設置、定時器設置/ 啟動、電話分機工作初始狀態等。摘機處理模塊主要判別是外線來電摘機、內線來電摘機還是要撥打外線或內線電話。掛機處理模塊比較復雜, 既有內外線通話結束掛機, 又有內外線通話中止掛機, 還有三方通話主叫機掛機和從叫機掛機, 其它有中止撥打外線/ 內線掛機、分機功能設置完畢掛機等。發送命令模塊主要是根據電話分機發生摘/ 掛機時, 向下位機發送掛線/ 撤線命令、內線撥號音等命令, 發送詢問下位機有否請求服務等命令。下位機請求服務處理模塊主要根據下位機CPU 請求, 完成外線來電、撥打內線分機、分機功能設置等工作。
振鈴處理模塊主要處理外線來電時, 根據振鈴模式進行分機振鈴、輪流振鈴等; 內線呼叫分機時, 根據分機轉移功能, 作相應的振鈴處理; 被呼叫分機摘搏笑機後停止振鈴等功能。定時器處理模塊配合振鈴處理模塊產生各種振鈴計時以及看門狗定時常數刷新等。3.2 下位機軟體設計思路為便於編輯和管理, 4 個下位機程序使用同一版本, 程序運行時根據地址作相應的處理。根據多機程式控制交換機功能, 下位機程序分成初始化、連接外線查詢、發送請求服務、外線來電中斷請求、分機撥號中斷請求和定時器中斷(包括看門狗)六個模塊, 程序模塊結構如圖3 所示。初始化模塊主要是定義變數單元、位標志、緩沖區、中斷設置、定時器設置/ 啟動等。連接外線查詢模塊在開機復位後查詢本CPU 是否接外線(2_CPU 和3_CPU 跳過), 然後置標志, 上位機通過問詢下位機知道程式控制交換機接幾根外線。命令處理模塊主要完成上位機下達的命令, 命令有指定分機掛外線/ 內線、對掛內線分機發送或停止內線信號音(內線撥號音、內線迴音鈴、內線忙音鈴或內線證實音等)、指定分機撤外線/ 內線等等。發送請求服務模塊主要向上位機發送外線來電處理、分機撥打內線電話、分機設置功能等請求服務。外線來電中斷請求模塊在外線來電時(0_CPU 和1_CPU),向CPU 請求中斷。CPU 響應中斷後, 首先判斷是否干擾信號, 確認為外線來後, 豎立外線來電標。當上位機查詢下位機有否請求服務時, 向上位機發送外線來電服務請求。為防外線來電中止,下位機CPU 發送請求後即清除外線來電標。上位機在送出分機振鈴後一秒鍾內, 如分機未摘機, 而下位機又沒發來新的外線來電請求服務, 立馬中止振鈴。分機撥號中斷請求模塊在分機撥號後, 向CPU 請求中斷。CPU 響應中斷後, 根據所撥號碼, 產生對應請求服務代碼。上位機收到請求服務後, 對其進行解碼, 作相應處理。如分機是掛外線, 除判別該分機長途等級外, 對撥號不作任何處理。分機在掛線情況下, 撥號才有中斷請求信號產生, 這由硬體保證。
定時器處理模塊主要產生450 方波信號, 產生各種內線鈴聲所需脈沖信號以及看門狗定時常數刷新等。上下位機源程序限於篇幅, 不作介紹。4 編程中特點由於多機程式控制交換機上位機CPU 要對四個下位機CPU, 而分機摘/ 掛機狀態採用查詢方式, 又要處理分機振鈴等, 查詢過程中要採用抗干擾措施, 防止CPU 誤判、誤動作。所以編程中要考慮整體時間分配, 以免延誤用戶通話。上位機在查詢下位機有否服務請求時, 採用輪流查詢法。在發送信息前又要與下位機握手, 所以查詢時間較長。當下位機有服務請求時, 上位機馬上中止查詢下一CPU, 為當前下位機服務。為縮短上下位機通信時間, 下發代碼採用單位元組, 按位定義。如「D7」位表示掛線或撤線,「D6」位表示掛內線或外線,「D5、D4」位表示發內線撥號音、內線迴音鈴、內線忙音或內線證實音,「D3」~「D0」表示分機號。上發代碼採用多位元組, 長短不同, 這是由於多機程式控制交換機功能豐富多采, 下位機在上發代碼最後加一個結束符。多機程式控制交換機功能較多, 分機撥號中斷請求模塊要分成外線撥號、內線撥號(包括代接、轉接和三方通話)和功能設置三個小模塊。為提高CPU 利用率, 分機撥號中斷請求模塊採用流水線作業方式, 按一次鍵, 模塊執行一次。所以要保護好現場,豎立相應的標志, 保證分機撥號中斷請求模塊工作正常。當某功能撥完後, CPU 再將請求服務代碼送到發送緩沖區。5 結束語多機程式控制交換機可連接二根外線, 十二隻內部分機, 四繩路通話容量, 具有豐富的實用功能, 可不間斷連續工作。分機之間可多對電話(最多四對八機)同時通話而彼此互不幹擾。分機可直撥外線、強插外線、長途加鎖設置等。外線來電響鈴方式有二種, 一為選擇某些分機振鈴, 二為分機輪流振鈴, 由1 號分機進行設置。分機可代撥、代接、征詢轉接和三方通話等。本文作者的創新點:上、下位機CPU 串列通信發送採用查詢方式, 接收採用中斷循環隊列緩沖區方式。多機程式控制交換機不使用擴展外RAM, 上位機採用AT89C52, 其內RAM為256 位元組, 足夠CPU 工作所需, 同時給硬體上分清上位機和下位機CPU 晶元帶來好處, 一舉二得。
多機程式控制交換機樣機已小批量投入某些公司、企業使用, 用戶反映程式控制交換機基本功能工作正常, 使用方便, 由此說明多機程式控制交換機達到設計要求。
¥
5.9
網路文庫VIP限時優惠現在開通,立享6億+VIP內容
立即獲取
單片機在程式控制交換機中的應用
單片機在程式控制交換機中的應用
摘 要:本文介紹單片機在程式控制交換機中的應用, 使用五個ATMEL 公司的AT89C52 和AT89C51 作為主控制器和從控制器, 多機通訊, 硬體結構清晰, 模塊化程序結構。
0 引言
國內單片機多機通信方向技術開發應用已有相當長時間,在智能化儀器、工業自動控制、家用電器機電一體化等方面的應用成果尤為顯著。本文介紹AT 系列單片機多機通信在程式控制交換機中應用。
多機程式控制交換機將1 至2 條電話外線擴展成4 繩路、12 個分機容量, 可以多部分機同時通話而互不幹擾(可以內外線混用); 分機可以為電話機、傳真機、答錄機和電腦等任何電訊產品。
第 1 頁
1 硬體結構簡介
本程式控制交換機應用AT 系列單片機, CPU 使用一個AT89C52 和四個AT89C51, 進行多機通信, 如圖1 所示。
其中一個CPU(AT89C52)作為上位機, 實現分機摘機/ 掛機查詢、分機振鈴等功能。四個CPU(AT89C51)作為下位機, 各控制一根繩路, P10、P11 口作為CPU 地址, CPU 進行查詢外線來電、分機掛線(內線和外線)、分機撤線、分機撥號處理等工作, 提供內線撥號音、迴音鈴、忙音、證實音等信號音。0_CPU 和1_CPU各有一個繼電器J 控制開關, 用於接通或切斷電話外線與繩路的連接。
硬體線路保證每CPU 各施其職, 互不串擾。某分機一旦掛線後, 該分機的信號音、撥號等只受該繩路的CPU 控制, 而且分機摘機、掛線後撥號才有效; 撤線後, 該分機不再受繩路的CPU 控制。
『柒』 單片機怎麼將兩個數組指定位置的值互換
這就是兩個數互換,用一個臨時變數轉存一下差宏就行了,例如,數組野慶粗xa[i] 和xb[j] 互換,用temp做臨頌鎮時變數,
temp=xa[i];
xa[i]=xb[j];
xb[j]=temp;
『捌』 ch438怎麼與單片機交換數據
CH438 是八 UART 晶元,包含八個兼容 16C550 或者 16C750 的非同步串口,支持最高 4Mbps 的通訊
波特率,可以用於單片機/嵌入式系統的 RS232 串口擴展、帶自動硬體速率控制的高速串口、RS485
通訊等。下圖為其一般應用框圖。
CH438Q功能介紹
2,特點
● 完全獨立的八個非同步串口,兼容 16C550、16C552、16C554 及 16C750 並且有所增強。
● 支持 5、6、7 或者 8 個數據位以及 1 或者 2 個停止位。
● 支持奇、偶、無校驗、空白 0、標志 1 等校驗方式。
● 可編程通訊波特率,支持 115200bps 以及最高達 4Mbps 的通訊波特率。
● 內置 128 位元組的 FIFO 先進先出緩沖器,支持 4 個 FIFO 觸發級。
● 支持 MODEM 數據機信號 CTS、DSR、RI、DCD、DTR、RTS,可由 75232 晶元轉成 RS232 電平。
● 支持硬體流控制信號 CTS 和 RTS 自動握手和自動傳輸速率控制,兼容 TL16C550C。
● 支持串口幀錯誤檢測、支持 Break 線路間隔檢測。
● 內置時鍾振盪器,支持頻率范圍 0.9216MHz~32MHz 的晶體,默認使用 22.1184MHz 晶體。
● 提供 10MB 速度的 8 位被動並行介面連接單片機。
● 並行介麵包含 8 位數據匯流排,7 位地址,3 線控制:片選輸入、寫選通以及可選的讀選通。
● 支持直接地址和復用地址方式:直接輸入 7 位地址或者由 ALE 信號控制從數據匯流排鎖存地址。
● 中斷輸出引腳是可選連接,低電平有效,可以通過查詢寄存器中的中斷標志位代替。
● 支持 5V 或者 3.3V 電源電壓,支持串口低功耗睡眠模式。
● 提供 LQFP-44 和 LQFP-128 無鉛封裝,兼容 RoHS。
3,引腳
『玖』 單片機ram30H單元與40H單元內容互換要求用數據傳送指令3種方法實現。急急急
嘿嘿 俺來幫你回答
單片機ram30H單元與40H單元內容互換的實現缺搭方法有:
1 可以利用交換指令實現
MOV A,30H
XCH A,40H
MOV 30H,A
2 可以利用傳送指令實御轎現
MOV A,30H
MOV 30H,40H
MOV 40H,A
3 可以利用伏拆拿堆棧指令實現
PUSH 30H
PUSH 40H
POP 30H
POP 40H
呵呵 滿意 就選滿意回答
『拾』 單片機與輸入輸出設備進行信息交換,效率最高的方式
中斷傳送方式。
單片畢歷山機與輸入輸出設備進行信息交換,效率最高的方式一定是手中中斷傳送方式。
為了爛信減少程序直接控制方式中CPU等待時間以及提高系統的並行工作程度,用來控制外圍設備和內存與CPU之間的數據傳送稱為中斷傳送方式。