c章微机和外设CPU与外设间的数据传送方式

c章微机和外设CPU与外设间的数据传送方式

ID:45034452

大小:447.00 KB

页数:37页

时间:2019-11-08

c章微机和外设CPU与外设间的数据传送方式_第1页
c章微机和外设CPU与外设间的数据传送方式_第2页
c章微机和外设CPU与外设间的数据传送方式_第3页
c章微机和外设CPU与外设间的数据传送方式_第4页
c章微机和外设CPU与外设间的数据传送方式_第5页
资源描述:

《c章微机和外设CPU与外设间的数据传送方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1微型计算机技术第10c章微机和外设__CPU与外设间的数据传送方式2一、无条件传送方式二、条件传送方式(查询方式)三、中断传送方式四、DMA传送方式(DirectMemoryAccess)有以下几种传送方式:3概述1。无条件传送(CPU与外设同步工作):外部控制过程各种动作时间是固定的,而且是已知的。2。查询方式(CPU与外设不同步工作):传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。3。中断方式:外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与C

2、PU之间交换数据。4。DMA方式(高速I/O及成组交换数据):CPU放弃对总线的控制权,由硬件实现存储器与外设之间交换数据,称直接存取存储器。4一、无条件传送方式(同步传送方式)实现方法CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送特点1.适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况2.软硬件十分简单。5例1无条件输入接口接口电路,即硬件上保证:只在CPU执行从200H端口输入数据时,三态门处于工作状态,使输入设备的数据送上总线侧,

3、而CPU执行其它指令时,三态门均处于高阻状态,使输入设备的数据线与总线侧断开三态缓冲器输入设备数据线IOR地址译码地址线200H000D7~D0A15~A0与非PC总线6无条件输入编程:从端口200H读入256个字节到内存缓冲区buffer中。、、、MOVAX,SEGbufferMOVDS,AX;取缓冲区LEADI,buffer;首地址MOVCX,100H;传送个数MOVDX,200H;端口地址next:;延时等待INAL,DX;读入数据CALLdelayMOV[DI],AL;送缓冲区INCDI;修改指针LOOPnext、、、;延

4、时子程delayPROCPUSHCXMOVCX,80Hcc:LOOPccPOPCXRETdelayENDP7例2无条件输出:编程控制系统板上扬声器发声。4765321061H端口8253与门放大器扬声器01控制其它外设扬声器控制电路图:T个数发声原理:向扬声器发送一串脉冲信号,推动扬声器内纸盆振动,发出声音脉冲的频率,控制音高;脉冲的个数,控制音长81.使61H端口的0位输出0,控制8253输出1。2.使61H端口的1位按所需频率交替输出0和1,产生所需的声音。编程方法:4765321061H端口8253与门放大器扬声器01控制其

5、它外设扬声器控制电路图:9codeSEGMENTASSUMECS:codestart:MOVBX,3000H;控制脉冲个数MOVDX,6000H;控制脉冲周期INAL,61H;读入61H端口数据ANDAL,11111100b;D0为0,8253输出1sound:XORAL,00000010bOUT61H,AL;61H端口的D1交替为0和1MOVCX,DXdelay:LOOPdelay;延时DECBX;控制脉冲数JNZsoundINT03H;程序断点codeENDSENDstart发声程序:61H端口8253与门放大器扬声器01控制

6、其它外设T个数10二、条件传送方式(查询传送方式)实现方法:在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配2.CPU的工作效率低11查询传送方式,编程流程:NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?12例1查询方式输入假设外设的状态端口为21CH,其中D4=1时,表示外设数据准备好外设的数据端口为218H。实现从外设读入50H个字节到内存缓冲区buffer中。21CH端口状态端口218H端口数据端口地址

7、译码数据缓冲控制电路输入外备CPU地址线数据线控制线13查询方式输入接口状态端口D4=1表示外设准备好三态缓冲器输入设备数据线218H数据端口地址译码地址线状态端口地址译码锁存器IORRQD三态缓冲器+5vD421CHSTBPC总线IORA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHINAL,DX14从21CH状态端口读入外设状态信息从218H数据端口读入一个字节数据YND4=1,外设准备好否?N50H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中15、、、MOVAX,SE

8、Gbuffer;取缓冲区首地址MOVDS,AXLEADI,bufferMOVCX,50H;传送个数next:MOVDX,21CHask:INAL,DX;从状态端口读入状态信息TESTAL,00010000B;检测D4位JZask;D4=0,继续查询

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。