㈠ 51單片機P0埠能夠接多個8255A擴展,且每個擴展能同時工作嗎
是的,是可以擴展多個8255的,每個都可以獨立工作,互不影響的。
㈡ 51用線選法常規最多可擴展多少片8255
用線選法最多可擴展6片8255。
加個鎖存器,用作輸出口,用P3或P1中的控制鎖存。輸入口不會出錯。
如果是因為I/O不夠用,再擴一個8255。
(2)單片機8255擴展擴展閱讀:
51單片機的功能:
1、片內時鍾振盪器。
2、一個全雙工的串列I/O介面。
3、32根雙向並可以按位定址的I/O線。
4、兩個16位定時/計數器(8052有3個)。
5、具有布爾處理能力和位處理能力。
6、8位數據匯流排,16位地址匯流排的CPU。
7、128位元組片內數據存儲器(8051有256位元組)。
8、多個中斷源的中斷結構,具有兩個中斷優先順序;
9、相同地址的64KB程序存儲器和64KB數據存儲器。
10、採用哈佛結構,程序存儲器與數據存儲器地址空間各自獨立,便於程序設計。
11、0-8KB片內程序存儲器(8031無,8051有4KB,8052有8KB,89C55有20KB)。
㈢ 51單片機拓展8255問題
程序必須下載到單片機里,才能控制8255
下載程序到單片機需要下載器或燒錄器,但STC單片機只要串口線和電路就可以下載程序
㈣ at89s52單片機和8255拓展模塊直接怎麼把8255的io口當
at89s52單片機和8255拓展模塊,想直接把8255的io口按位操作嗎,這是不可能的,無論你怎麼定義都不能。就是用匯編語言寫程序也不行。因為擴展的8255的埠地址是按訪問外部數據存儲器單元來操作的,只有MOVX指令,根本就不允許位操作。
最後說明一下,在C語程序中,用define 定義pa xbyte【0x7cff】,這單元地址要用方括弧[ 0x7CFF ] 才對,而你用的是黑括弧,那隻能做字元串使用,用來定義單元地址肯定是錯誤的。
㈤ 51單片機,外界8255a晶元作為擴展io口,其中pA為輸出,PB為輸出,PC為輸入,求正確的接線方式和地址初始化
地址不需要初始化,地址是由硬體連接決定的。51單片機地址匯流排16位,P0口提供低8位,P2口提供高8位。可以用下面的連接方式。PA、PB、PC的地址低位是0x00、0x01、0x02,高位都是0x7f。
mode equ 03h
data1 equ 06h
data2 equ 5bh
portA equ 7ff9h
portB equ 7ffah
CAddr equ 7ff8h ;(這三個口的具體地址要根據你硬體設計的情況;這里是 單片機的P2.7接cs,P2.0接IO/M)
(5)單片機8255擴展擴展閱讀:
同樣的一段程序,在各個單片機廠家的硬體上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51,PHILIPS,和WINBOND等,常說的已經停產的89C51指的是ATMEL公司的AT89C51單片機;
同時是在原基礎上增強了許多特性,如時鍾,更優秀的是由Flash(程序存儲器的內容至少可以改寫1000次)存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對於8051已經算是非常優越的了。
㈥ 單片機埠擴展 8255與80c51。
用8255擴展之後就是PA,PB,PC了,怎麼還會只有8個埠呢?
用8255擴展51單片機 I/O口的程序,需要結合電路圖才能確定,不同的連線,PA,PB,PC的地址是不同的,不過我也忘記怎麼寫程序了= =!
8255中的A0.A1,CS非,與單片機的連線決定了,8255中,PA,PB,PC的各埠地址。單片機中P0,是低8位地址線,P2,是高8位地址線。
例如 CS非連接P2.7 A0,A1通過鎖存器連接到單片機中的P0.0,P0.1的話。那麼PA口地址就是 7FFCH。
因為 CS非要低電平,8255才工作,因為 要選擇PA口,則A0=0,A1=0。
這樣,CS,A0,A1對應單片機中的 P2.7,P0.0,P0.1就是低電平。
所以單片機中低8位地址加上高8位地址用2進製表示就是 0111111111111100,
對應的16進制就是 7FFCH
同理,PB口對應的就是 7FFDH
PC口對應的就是 7FFEH
還有個控制端。對應的就是 7FFFH
如果你要用8255的擴展口的話,就要先打通控制端,看你要用什麼工作方式了。
有個工作方式控制字的,可以讓你選擇使用啥工作方式。但是不管怎樣,都要先打通控制端 ,用匯編來寫就是 MOV DPTR,#7FFFH
然後就是選擇工作方式了,比方說用 A口——方式0輸入,B口——方式0輸出,C口高半位元組——輸入,C口低半位元組——輸出,則她的工作方式控制字就為 10011000B,就是 98H。
程序就是 MOV DPTR,#7FFFH 這個就是 打通控制端
MOV A,#98H 選擇方式控制字
MOVX @DPTR,A 把控制字弄到8255的控制口去
這些在單片機的書中都有,多看看吧。寫的這么詳細了,給我最佳吧。呵呵
㈦ STC擴展IO口用8255A也只有24個IO口,比STC的IO還少,那為何叫擴展呢
首先默認你用的是40-PDIP封裝的STC89系列單片機,8255A需要16個地址/數據匯流排,加2個信號線,一共佔用18個IO口。假設你的匯流排上只掛載一個8255A,加上單片機原有的一共38個IO口可以自由編程使用,比原有的32個多。如果你在匯流排上掛在8個8255A,這個數量對比就很明顯了,擴展了不知道多少倍。而且掛載8個和掛載1個都是佔用單片機18個IO口,至於為什麼可以查查8086匯流排結構。歡迎追問。
㈧ 51單片機存儲器用8255擴展怎麼應用啊,8255後能接什麼電路啊,可以接1602LCD什麼的么
8255 有三個8位口(PA、PB、PC),主要用於單片機的並行口擴展,具體怎麼用可根據實際情況經過初始化後(有三種工作方式供選擇)實現,8255後可以接1602LCD。總之是增加了口的數目。