❶ 计算机系统的输入输出地址和单片机系统的输入输出地址有什么区别吗这些地址什么计算出来的是如何计算的
这个问题很简单!不同类型计算机和不同类型单片机的输入输出地址是存在区别的。
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,设置输出,是指单片机给外部线路输出高低电压,或则频率之类。