❶ 計算機系統的輸入輸出地址和單片機系統的輸入輸出地址有什麼區別嗎這些地址什麼計算出來的是如何計算的
這個問題很簡單!不同類型計算機和不同類型單片機的輸入輸出地址是存在區別的。
1一般計算機的輸入輸出地址和存儲器的地址空間是分開、獨立的,是採用兩個不同的邏輯空間,如8086CPU使用MOV指令訪問存儲器空間,使用專用的IN或OUT專用指令訪問輸入輸出地址。
2單片機(以51單片機為例)它本身有4個輸入輸出埠P0、P1、P2、P3在單片機內部映射成
4個特殊寄存器,邏輯上屬於片內數據存儲器的寄存器塊。地址分別是80H、90H、A0H、B0H。
使用MOV指令訪問P0、P1、P2、P3輸入輸出埠。
3如果單片機的輸入輸出埠不夠用,還可以擴展I/O介面晶元,擴展方法採用片外數據存儲器的方式,邏輯上屬於片外數據存儲器空間,使用MOVX指令訪問擴展I的/O介面晶元。
4地址是如何計算出來的?要看具體的介面地址連接線,地址匯流排一般分為片選和片內選擇線,
如果一個I/O介面晶元片選A15A14A13A12A11A10A9A8=01111111
A7A6A5A4A3A2A1A0做片內選擇線,則該晶元地址為7F00H~7FFFH.共有256個地址。
你問的問題還是比較復雜的,一時半會不容易說清楚,還是看看計算機原理和單片機的I/O介面擴展方法吧
❷ 單片機輸入IO口擴展
單片機的輸入IO口擴展可以通過以下方法來實現:
1、通過並行擴展晶元,比如8255 ,8155等。
2、通過鎖存器或緩沖器來擴展,比如74LS273,74LS373,74LS244,74LS245等等
3、通過串口-並口來擴展,比如74HC595,74HC164等等。
4、通過解碼器來擴展,比如74HC138,74HC154等等。
❸ 單片機的輸入和輸出的都是什麼
單片機的輸入和輸出分為數字量和模擬量兩種。
數字量定義為:在時間和數值上都是斷續變化的離散信號。最基本的數字量就是0和1,反映到開關上就是指一個開關的打開(0)或閉合(1)狀態。
模擬量定義為:在時間和數上都是連續變化的信號。指經PT、CT等各類感測器傳送過來的電壓、電流、頻率等信號,即模擬量。
輸入信號:是通過外部的觸點、開關、變送器、感測器等信號接入到單片機中。
輸出信號:單片機通過內部程序的判斷和計算,將電流、電壓、開關等信號傳送到外部的信號。
下圖為典型的51系列單片機接線圖
其中P0為模擬量輸入端、P3為數字量輸入端。
❹ 設計一個單片機輸入顯示系統,要求每按一下按鍵數碼管顯示數據加1(數碼管初始值為0,9加1 後顯示0)。
程序清單如下:
#include < reg51.h >// 51單片機頭文件
#define uchar unsigned char // 宏定義,用uchar替代無符號字元型
#define uint unsigned int // 宏定義,用uint 替代無符號整數型
sbit Key = P2 ^ 7;
uchar Count = 0;
uchar code DataChar[10] = // 定義數碼管的段碼 '0'~'9'、'-'、' ' 'P'
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
};//延時N毫秒
void DelayNms( uint N ) // 利用x、y作簡單的自減運算,消耗單片機指令周期,達到延時的目的
{
uint x,y;
for( x=N; x>0; x-- )
for( y=110; y>0; y-- );
}
//數碼管顯示 // 顯示方式為動態掃描,視覺暫留原理
void Display( uchar Num ) // *p指向Main函數中的數組ShowNum的首地址
{
P0 = DataChar[ Num ]; // 向P0賦段碼值
DelayNms(2); // 短暫的延時
P0 = 0x00; // 讓數碼管熄滅,否則會造成數字重疊
}
void main( void )
{
while(1)
{
if( Key == 0 )
{
DelayNms(30);
if( Key == 0 )
{
Count += 1;
Count = (Count>9)? 0 : Count;
}
while( !Key );
}
Display( Count );
}
}
(4)單片機輸入版擴展閱讀
8051單片機具有如下功能:
8位CPU·4kbytes程序存儲器(ROM) (52為8K)
128bytes的數據存儲器(RAM) (52有256bytes的RAM)
32條I/O口線·111條指令,大部分為單位元組指令
21個專用寄存器
2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)
一個全雙工串列通信口
外部數據存儲器定址空間為64kB
外部程序存儲器定址空間為64kB
邏輯操作位定址功能·雙列直插40PinDIP封裝
單一+5V電源供電
CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;
RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;
ROM:用以存放程序、一些原始數據和表格;
I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出
T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;
五個中斷源的中斷控制系統;
一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;
片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最佳振盪頻率為6M—12M。
❺ 將單片機某個口設為輸入口和輸出口有什麼區別詳細說說不同點
1,輸入是只外部信號輸入到單片機,例如頻率采樣,電壓采樣,脈沖比較等。
2,設置輸出,是指單片機給外部線路輸出高低電壓,或則頻率之類。