目录
第1章微型计算机基础知识1
1.1微型计算机简介1
1.2计算机中的数据5
1.2.1数制5
1.2.2各种数制之间的转换7
1.3二进制整数的算术运算9
1.3.1二进制数的算术运算规则9
1.3.2无符号整数的算术运算10
1.3.3带符号整数的表示方法11
1.3.4补码运算13
1.3.5带符号数的溢出判断14
1.4浮点数15
1.5基本逻辑运算及常用逻辑部件16<p>目录</p> <p> 第1章微型计算机基础知识1</p> <p>1.1微型计算机简介1</p> <p>1.2计算机中的数据5</p> <p>1.2.1数制5</p> <p>1.2.2各种数制之间的转换7</p> <p>1.3二进制整数的算术运算9</p> <p>1.3.1二进制数的算术运算规则9</p> <p>1.3.2无符号整数的算术运算10</p> <p>1.3.3带符号整数的表示方法11</p> <p>1.3.4补码运算13</p> <p>1.3.5带符号数的溢出判断14</p> <p>1.4浮点数15</p> <p>1.5基本逻辑运算及常用逻辑部件16</p> <p>1.5.1基本逻辑运算17</p> <p>1.5.2基本逻辑门18</p> <p>1.6编码21</p> <p>1.6.1字符编码21</p> <p>1.6.2Unicode码22</p> <p>1.6.3BCD码22</p> <p>练习题23</p> <p>第2章8086/8088微处理器25</p> <p>2.18086/8088微处理器的功能结构25</p> <p>2.1.1执行单元25</p> <p>2.1.2总线接口单元26</p> <p>2.28088 CPU的引脚及功能27</p> <p>2.2.1引脚定义27</p> <p>2.2.28088 CPU的总线时序31[1][3]微型计算机原理与接口技术</p> <p>2.38088 CPU的存储器组织37</p> <p>2.3.1存储器分段管理37</p> <p>2.3.28088 CPU的编程结构38</p> <p>练习���40</p> <p>第3章8086/8088指令系统42</p> <p>3.1概述42</p> <p>3.1.1机器语言与汇编语言42</p> <p>3.1.2指令的基本构成43</p> <p>3.28086 CPU寻址方式44</p> <p>3.2.1立即寻址45</p> <p>3.2.2直接寻址45</p> <p>3.2.3寄存器寻址47</p> <p>3.2.4寄存器间接寻址47</p> <p>3.2.5寄存器相对寻址47</p> <p>3.2.6基址变址寻址48</p> <p>3.2.7基址变址相对寻址49</p> <p>3.2.8隐含寻址49</p> <p>3.38086 CPU指令系统49</p> <p>3.3.1数据传送指令50</p> <p>3.3.2算术运算指令56</p> <p>3.3.3逻辑运算与移位指令63</p> <p>3.3.4串操作指令69</p> <p>3.3.5程序控制指令74</p> <p>3.3.6处理器控制指令81</p> <p>练习题82</p> <p>第4章汇编语言程序设计85</p> <p>4.1汇编语言源程序85</p> <p>4.1.1汇编语言源程序结构85</p> <p>4.1.2汇编语言源程序的处理过程87</p> <p>4.1.3汇编语言中的操作数87</p> <p>4.2伪指令90</p> <p>4.2.1段定义伪指令90</p> <p>4.2.2数据定义伪指令92</p> <p>4.2.3符号定义伪指令94</p> <p>4.2.4过程定义伪指令95</p> <p>4.2.5程序结束伪指令96</p> <p>4.2.6其他较常见伪指令简介96</p> <p>4.3DOS系统功能调用97</p> <p>4.3.1输入单个字符97</p> <p>4.3.2输入字符串97</p> <p>4.3.3显示单个字符98</p> <p>4.3.4显示字符串99</p> <p>4.3.5返回操作系统99</p> <p>4.4汇编语言程序设计基础99</p> <p>4.4.1汇编语言程序设计步骤99</p> <p>4.4.2顺序程序设计100</p> <p>4.4.3分支程序设计101</p> <p>4.4.4循环程序设计104</p> <p>4.4.5过程设计106</p> <p>4.4.6汇编语言程序的开发过程110</p> <p>4.5在C/C 内使用汇编语言111</p> <p>4.5.1为什么要在C/C 中使用汇编语言112</p> <p>4.5.2嵌入汇编语言基本规则112</p> <p>4.5.3嵌入汇编程序114</p> <p>4.5.4VC 6.0中编译调试汇编程序115</p> <p>练习题116</p> <p>第5章存储器118</p> <p>5.1存储器概述118</p> <p>5.1.1内存储器分类118</p> <p>5.1.2存储器件119</p> <p>5.1.3存储器件的性能指标120</p> <p>5.2随机存储器121</p> <p>5.2.1静态随机存储器121</p> <p>5.2.2静态RAM芯片应用124</p> <p>5.2.3动态随机存储器133</p> <p>5.2.4动态随机存储器应用137</p> <p>5.3只读存储器140</p> <p>5.3.1只读存储器简介140</p> <p>5.3.2EPROM应用142</p> <p>5.4高速缓冲存储器145</p> <p>练习题146</p> <p>第6章输入/输出与中断技术147</p> <p>6.1I/O接口概述147</p> <p>6.1.1I/O接口功能147</p> <p>6.1.2I/O端口148</p> <p>6.1.3I/O端口编址方式149</p> <p>6.1.4基本输入/输出接口151</p> <p>6.2数据传送控制方式157</p> <p>6.2.1无条件传送方式157</p> <p>6.2.2程序查询方式157</p> <p>6.2.3中断传送方式159</p> <p>6.2.4DMA方式160</p> <p>6.3键盘和显示接口160</p> <p>6.3.1键盘接口161</p> <p>6.3.2LED数码管显示接口166</p> <p>6.3.316×16 LED点阵显示接口169</p> <p>6.4中断173</p> <p>6.4.1中断的基本概念174</p> <p>6.4.2中断处理的基本过程174</p> <p>6.58086/8088中断系统178</p> <p>6.5.1中断向量和中断向量表178</p> <p>6.5.2硬件中断180</p> <p>6.5.3中断处理流程181</p> <p>6.6可编程中断控制器8259A182</p> <p>6.6.18259A的内部结构182</p> <p>6.6.28259A的引脚功能183</p> <p>6.6.38259A与微处理器连接184</p> <p>6.6.48259A编程185</p> <p>6.6.58259A的工作方式190</p> <p>6.6.68259A的应用举例193</p> <p>练习题195</p> <p>第7章可编程接口芯片197</p> <p>7.1可编程外围设备接口197</p> <p>7.1.1825**的功能结构197</p> <p>7.1.2825**的工作方式199</p> <p>7.1.3825**的控制字203</p> <p>7.1.4825**与微处理器的连接206</p> <p>7.1.5方式0操作举例207</p> <p>7.1.6方式1选通输入操作218</p> <p>7.1.7方式1选通输出操作220</p> <p>7.2可编程定时器/计数器8253223</p> <p>7.2.18253的功能结构224</p> <p>7.2.28253的外部引脚225</p> <p>7.2.38253的控制字226</p> <p>7.2.48253的工作方式227</p> <p>7.2.58253的应用231</p> <p>7.3串行通信接口236</p> <p>7.3.1串行通信基本概念236</p> <p>7.3.2可编程串行接口芯片8251A239</p> <p>练习题248</p> <p>第8章数/模转换及模/数转换技术251</p> <p>8.1数/模转换器252</p> <p>8.1.1数/模转换原理252</p> <p>8.1.2D/A转换器的性能参数253</p> <p>8.1.3DAC 0832及其接口电路254</p> <p>8.1.4实例259</p> <p>8.2模/数转换器260</p> <p>8.2.1A/D转换原理260</p> <p>8.2.2A/D转换器性能参数260</p> <p>8.2.3ADC 0809261</p> <p>练习题266</p> <p>第9章总线技术267</p> <p>9.1总线规范267</p> <p>9.2总线的分类及其优点267</p> <p>9.2.1按总线的功能分类267</p> <p>9.2.2按总线的层次结构分类268</p> <p>9.2.3总线设计优点269</p> <p>9.3总线的性能指标和数据传输及仲裁269</p> <p>9.3.1总线的性能指标269</p> <p>9.3.2总线的数据传输过程269</p> <p>9.3.3总线数据传送270</p> <p>9.3.4总线的仲裁272</p> <p>9.4典型总线275</p> <p>9.4.1PC/XT总线275</p> <p>9.4.2ISA总线275</p> <p>9.4.3EISA总线276</p> <p>9.4.4PCI总线276</p> <p>9.4.**GP总线277</p> <p>9.4.6MCA总线278</p> <p>9.4.7IEEE 488总线279</p> <p>9.4.8CAN总线279</p> <p>练习题280</p> <p>附录A8086/8088 CPU指令表282</p> <p>附录BDOS功能调用290</p> <p>附录CIBM PC/XT机中断矢量号配置295</p> <p>参考文献296</p> <p>6.3.316×16 LED点阵显示接口170</p> <p>6.4中断174</p> <p>6.4.1中断的基本概念174</p> <p>6.4.2中断处理的基本过程175</p> <p>6.58086/8088中断系统178</p> <p>6.5.1中断向量和中断向量表178</p> <p>6.5.2硬件中断180</p> <p>6.5.3中断处理流程181</p> <p>6.6可编程中断控制器8259A182</p> <p>6.6.18259A的内部结构182</p> <p>6.6.28259A的引脚功能184</p> <p>6.6.38259A与微处理器连接184</p> <p>6.6.48259A编程186</p> <p>6.6.58259A的工作方式190</p> <p>6.6.68259A的应用举例193</p> <p>练习题195</p> <p>第7章可编程接口芯片197</p> <p>7.1可编程外围设备接口197</p> <p>7.1.1825**的功能结构197</p> <p>7.1.2825**的工作方式199</p> <p>7.1.3825**的控制字203</p> <p>7.1.4825**与微处理器的连接206</p> <p>7.1.5方式0操作举例207</p> <p>7.1.6方式1选通输入操作218</p> <p>7.1.7方式1选通输出操作219</p> <p>7.2可编程定时器/计数器8253222</p> <p>7.2.18253的功能结构223</p> <p>7.2.28253的外部引脚224</p> <p>7.2.38253的控制字225</p> <p>7.2.48253的工作方式226</p> <p>7.2.58253的应用230</p> <p>7.3串行通信接口236</p> <p>7.3.1串行通信基本概念236</p> <p>7.3.2可编程串行接口芯片8251A239</p> <p>练习题247</p> <p>第8章数/模转换及模/数转换技术249</p> <p>8.1数/模转换器250</p> <p>8.1.1数/模转换原理250</p> <p>8.1.2D/A转换器的性能参数252</p> <p>8.1.3DAC 0832及其接口电路253</p> <p>8.1.4实例257</p> <p>8.2模/数转换器258</p> <p>8.2.1A/D转换原理258</p> <p>8.2.2A/D转换器性能参数259</p> <p>8.2.3ADC 0809259</p> <p>练习题265</p> <p>第9章总线技术266</p> <p>9.1总线规范266</p> <p>9.2总线的分类及其优点266</p> <p>9.2.1按总线的功能分类266</p> <p>9.2.2按总线的层次结构分类267</p> <p>9.2.3总线设计优点268</p> <p>9.3总线的性能指标和数据传输及仲裁268</p> <p>9.3.1总线的性能指标268</p> <p>9.3.2总线的数据传输过程268</p> <p>9.3.3总线数据传送269</p> <p>9.3.4总线的仲裁271</p> <p>9.4典型总线274</p> <p>9.4.1PC/XT总线274</p> <p>9.4.2ISA总线274</p> <p>9.4.3EISA总线275</p> <p>9.4.4PCI总线275</p> <p>9.4.**GP总线276</p> <p>9.4.6MCA总线277</p> <p>9.4.7IEEE 488总线278</p> <p>9.4.8CAN总线278</p> <p>练习题279</p> <p>附录A8086/8088 CPU指令表281</p> <p>附录BDOS功能调用289</p> <p>附录CIBM PC/XT机中断矢量号配置294</p> <p>参考文献295</p>显示全部信息前 言前言本书是高等院校非计算机专业学生学习“微型计算机原理与接口技术”课程的通用教材,主要以8086/8088 CPU系统为背景,介绍微型计算机的基础知识、CPU功能结构和工作原理、指令系统、存储系统、基本输入输出接口和中断技术,对微机接口芯片的功能结构、编程方法,进行理论剖析和实践应用。本书共9章。第1章主要讲述微型计算机基础知识,包括整数运算、浮点数运算、运算溢出判断、逻辑运算和基本逻辑门电路。第2章主要介绍Intel 8086/8088的功能特征、引脚信号、基本时序、系统构成和编程结构。第3章讲述8086/8088指令格式、寻址方式和指令系统。第4章讲述汇编语言程序格式、伪指令和汇编语言上机过程、简单分支程序设计、多分支程序设计、循环程序设计、子程序的结构、子程序的参数传递方法、子程序的嵌套与递归和子程序设计举例。第5章讲述半导体存储器的分类及性能指标、ROM及RAM存储芯片应用、高速缓冲存储器。第6章介绍基本输入/输出接口电路、CPU与外设之间数据传送的控制方式(无条件传送方式、程序查询传送方式、中断方式、DMA传送方式)、中断的基本概念、中断处理过程和可编程中断控制器8259A。第7章讲述可编程并行输入/输出接口芯片825**、825**各种工作方式的应用、可编程计数器/定时器8253及其在计数和定时的应用、可编程串行通信接口芯片8251A、串行通信系统实例。第8章主要讲述数/模转换器及应用、模/数转换器及应用。第9章主要讲述总线的概念及分类、ISA总线、PCI总线。为便于多媒体教学,本教材配有电子教案,并录制了80多个理论及实验教学视频,读者可以以慕课的形式学习。本书第1、2章由郭威编写,第3、4、7章由侯彦利、杨卉编写,第5章由赵永华编写,第6章由刘通、侯彦利编写,第8、9章由马爱民编写,全书由侯彦利统稿。在本书的写作过程中还得到了计算机教学与研究**秦贵和教授和张欣主任的热情关怀和支持,吉林大学计算机学院赵宏伟教授提出了很多宝贵意见,在此,作者谨向他们表示衷心的感谢!由于作者水平有限,书中难免有错误和不当之处,恳请读者和同行专家批评指正。前言 <div>本书是高等院校非计算机专业学生学习“微型计算机原理与接口技术”课程的通用教材,主要以8086/8088 CPU系统为背景,介绍微型计算机的基础知识、CPU功能结构和工作原理、指令系统、存储系统、基本输入输出接口和中断技术,对微机接口芯片的功能结构、编程方法,进行理论剖析和实践应用。本书共9章。第1章主要讲述微型计算机基础知识,包括整数运算、浮点数运算、运算溢出判断、逻辑运算和基本逻辑门电路。第2章主要介绍Intel 8086/8088的功能特征、引脚信号、基本时序、系统构成和编程结构。第3章讲述8086/8088指令格式、寻址方式和指令系统。第4章讲述汇编语言程序格式、伪指令和汇编语言上机过程、简单分支程序设计、多分支程序设计、循环程序设计、子程序的结构、子程序的参数传递方法、子程序的嵌套与递归和子程序设计举例。第5章讲述半导体存储器的分类及性能指标、ROM及RAM存储芯片应用、高速缓冲存储器。第6章介绍基本输入/输出接口电路、CPU与外设之间数据传送的控制方式(无条件传送方式、程序查询传送方式、中断方式、DMA传送方式)、中断的基本概念、中断处理过程和可编程中断控制器8259A。第7章讲述可编程并行输入/输出接口芯片825**、825**各种工作方式的应用、可编程计数器/定时器8253及其在计数和定时的应用、可编程串行通信接口芯片8251A、串行通信系统实例。第8章主要讲述数/模转换器及应用、模/数转换器及应用。第9章主要讲述总线的概念及分类、ISA总线、PCI总线。为便于多媒体教学,本教材配有电子教案,并录制了80多个理论及实验教学视频,读者可以以慕课的形式学习。本书第1、2章由郭威编写,第3、4、7章由侯彦利、杨卉编写,第5章由赵永华编写,第6章由刘通、侯彦利编写,第8、9章由马爱民编写,全书由侯彦利统稿。在本书的写作过程中还得到了计算机教学与研究**秦贵和教授和张欣主任的热情关怀和支持,吉林大学计算机学院赵宏伟教授提出了很多宝贵意见,在此,作者谨向他们表示衷心的感谢!由于作者水平有限,书中难免有错误和不当之处,恳请读者和同行专家批评指正。<br />编者2016年8月8日于吉林大学</div>显示全部信息媒体评论评论免费在线读第5章存储器无论简单还是复杂,每款计算机系统都有存储器。静态随机存储器存取速度快、容量小、造价高。动态随机存储器容量大、价格廉,但地址多路复用,还需要定时刷新。只读存储器保存**驻留系统的程序,掉电信息不丢失,闪存掉电信息不但不丢失还可以在线擦除。微处理器与存储器连接需要对地址进行译码以选择存储芯片。5.1存储器概述计算机的存储器分为内存储器和外存储器两大类。任何程序和数据必须进驻内存储器后才能执行,因此,内存储器也称为主存储器。它比外存储器存取速度快,存储容量小。外存储器也叫辅助存储器,是计算机的外部设备,常用的有磁盘、光盘和U盘等,存储容量大,存取速度慢。5.1.1内存储器分类内存储器主要由半导体材料构成,所以也称为半导体存储器。按照工作方式,内存储器可分为随机存储器(RAM)和只读存储器(ROM)两大类,如图51所示。随机存储器是一种易失性存储器(volatile memory),掉电信息就会丢失,常用来存放正在运行的程序和数据。只读存储器是一种非易失性存储器,信息一旦写入就固定不变,掉电后信息也不会丢失。在使用过程中,只读存储器中的信息只能读出,一般不能修改,所以常用于保存固定不变且长期使用的程序和数据,如主板上的基本输入/输出系统程序BIOS、外部设备的驱动程序等。随机存储器分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。静态随机存储器以双稳态触发器为基本存储电路,保存的数据不需要刷新,只要通电就可以保存数据,所以常被称为静态存储器(static memory),与动态随机存储器比较,它的存取速度快、集成度低、功耗大。动态随机存储器以电容作为基本存储电路,但它存储的信息随电容上电荷的泄漏可能丢失,所以动态RAM必须定时刷新,它的存取速度相对较慢,但是集成度高、成本低。图5\|1内存储器分类[1][3]微型计算机原理与接口技术 第5章存储器[3][3]5.1.2存储器件计算机的存储器由一个或多个存储器器件构成。存储器件通过计算机系统的地址总线、数据总线和控制总线与微处理器相连,图5\|2存储器件引脚示意图实现程序和数据的读/写操作。所以,所有的存储器件都有地址输入引脚、数据输出或者数据输入/输出引脚、控制读/写操作的控制引脚,还有从多片存储芯片中选定一个芯片的片选引脚,如图52所示。1. 地址线所有的存储器件都有地址输入引脚(地址线),用来接收CPU发过来的存储单元地址信息。地址线接收的地址信息用以选择存储芯片内部的存储单元。地址线都是从A0开始标记,一直到An。地址线的根数与芯片内含有的存储单元个数有一个对应的关系。如含有10根地址线的芯片,地址线标记为A0~A9,存储单元应该有210=1024个存储单元;含有11根地址线的芯片,地址线标记为A0~A10,存储容量为211=2048个存储单元。反过来,一个存储容量为4KB的存储芯片应该有12根地址线A0~A11,一个存储容量为8KB的存储芯片应该有13根地址线A0~A12,一个存储容量为1MB的存储芯片应该有20根地址线A0~A19。如果存储芯片的地址线为A0~A9,它的存储单元的地址范围为00 0000 0000~11 1111 1111B,即000H~3FFH。地址线为A0~A10根的芯片,地址范围为000 0000 0000~111 1111 1111B,即000H~7FFH。通常,用3FFH表示1KB的存储区域,用7FFH表示2KB的存储区域,用FFFH表示4KB的存储区域,用FFFFH表示64KB的存储区域,用FFFFFH表示1MB的存储区域。2. 数据线所有的存储器件都有数据线,负责数据的输出或者是数据的输入/输出。ROM芯片的数据线只输出数据,RAM芯片的数据线具有输入/输出功能。一般数据线的标识为O0~Om或者标为D0~Dm。数据线的根数说明芯片内一个存储单元所能存放的二进制数的位数,如HM6264芯片含有8根数据线D0~D7,说明它的一个存储单元能存放8位二进制数。数据线的根数通常称为芯片的位宽,8位宽的存储芯片通常称为字节宽存储器件。多数存储芯片是8位宽,也有16位宽、4位宽、1位宽的存储芯片。3. 芯片选择线任何单个的存储器件存储容量都是有限的。计算机系统的内存储器通常由多个存储器芯片构成。所以,所有存储器件都有至少一根芯片选择线,用来选中该器件,或者说激活这个器件。片选择线常被标识为片选CS、片使能CE或简称为选择,这些符号上面的横杠,表示逻辑0,也就是低电平有效。当在这个引脚上加一个低电平的时候,这个芯片被选中。如果存储芯片含有多根选择线,则只有在所有选择线都处于有效状态时,芯片才被激活,CPU才可以对它进行读/写操作。4. 控制线每个存储器件都有控制数据输入/输出的控制线,通常标记为OE、WE,低电平有效。OE为读允许或输出使能。当OE为低电平时,存储单元存放的数据流出芯片,出现在系统数据总线上。WE为写允许。当WE为低电平时,存储器件从数据线上接收数据存储到芯片内部。ROM存储器件因为只能读出数据不能写入数据,所以通常只有一个输出使能OE引脚,有些芯片将其标为(输出选通)。有些RAM存储器件受到芯片引脚数量的限制,控制数据输入/输出的引脚只有一个,通常标记为R/。当R/引脚为高电平时,芯片输出数据,执行读操作;当它为低电平时,芯片接收数据,执行写操作。如果RAM芯片有两个控制端WE 和OE,这两个引脚不能同时有效,也就是不能同时为低电平。当它们都为高电平时,都处于无效状态,这时芯片既不读出数据也不写入数据,数据线引脚处于高阻状态。