《微机接口技术300例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:李恩林,陈斌生主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111122631
  • 页数:385 页
图书介绍:本书介绍了微机接口技术的设计、计算、应用和编程方法。

目录 1

前言 1

例1 微机接口技术的基本概念 1

例2 接口有哪些功能 1

例3 如何分析和设计微机接口 3

例4 接口处理的信息有哪些 4

例5 何谓端口?分哪几类 4

例6 I/O端口的编址方式有哪几种 4

例62 当8255A的A口为方式0输出;B口为方式1输入;C口为高 4

例7 程序查询传送方式分哪两种 5

例117 编写8251A采用异步方式工作,波特率因子为64,字符长度 7

例8 8259A的控制字有哪些 7

例9 8259A有几种工作方式 10

例10 图14是一个发光二极管(LED)接口电路,若要LED自上而下依次发亮2s,试编写控制程序 12

例11 试编写例10中的8个LED自下而上依次发亮3s的程序 13

例12 试编写一个PC/XT中扬声器发声程序 13

例13 编写一个开关键的状态通过74LS244接口芯片进行采集和显示的程序 14

例14 编写一个无条件传送时数据采集的程序 15

例15 说明异步查询式输入接口电路的工作原理,并编写输入查询程序 16

例16 说明异步查询式输出接口电路的工作原理,并编写输出查询程序 17

例17 利用异步查询式输入接口硬件电路,编写采集数据的程序 18

例18 利用异步查询式输出接口硬件电路,编写一段输出数据的程序 19

例19 编写用条件传送方式对终端进行输入/输出的程序 19

例20 编写从输入设备上输入若干字节的数据,传送到存储器缓冲区(BUFFER)中的程序 22

例21 编写将存储器缓冲区(BUFFER)中的若干个字节数据输出的程序 23

例22 编写查询传送的数据采集系统的控制程序(一) 23

例23 编写查询传送的数据采集系统的控制程序(二) 25

例24 编写查询传送的数据采集系统的控制程序(三) 26

例25 简述查询方式、中断方式与DMA方式的原理及优缺点 27

例26 编写用LED显示开关的状态的程序 27

例27 编写动态控制LED显示器与计算机的接口的程序 28

例28 编写单片8259A的全嵌套中断工作方式下的初始化程序 30

例29 编写BIOS中检查中断屏蔽寄存器(IMR)的程序 31

例30 读取中断服务寄存器(ISR)内容,并设置新屏蔽,试编写程序 32

例31 主机每次响应8259A中断时显示字符串,并设置中断向量,试 32

编写程序 32

例32 从8259A的IR7端引入中断请求,并已知中断类型号,编写 35

8259A的初始化程序 35

例33 编写由PC/XT机外部产生中断请求的中断程序 36

例34 叙述接口同外设之间的三种信息的作用及传送过程 38

例35 CPU正在处理由8259A IR3引入的中断服务时,应如何来紧急 38

处理比它优先级别低的中断?试编写程序 38

例36 8259A在IBM-PC/XT机中的应用,编写8259A的初始化程序 39

试编写程序 40

例37 在PC/XT系统,检查8259A中断屏蔽寄存器(IMR)的正确性, 40

例38 根据临时服务中断程序D11判定是否为硬中断?试编写程序 41

例39 编写8259A的主片和从片的初始化程序 43

例40 单片、全嵌套时,编写8259A的初始化程序 45

例41 非常驻的中断服务程序编程模式 46

例42 常驻的中断服务程序编程模式 48

例43 试编写BIOS中检查中断屏蔽寄存器(IMR)的程序 49

例44 8259A的级联之一 49

例45 8259A的级联之二 51

例46 8259A工作在级联方式时,编写主、从片的初始化程序 53

例47 对主、从片8259A进行初始化命令字的设置 55

例48 数字通道用于步进电动机接口,试编写程序 55

例49 确定LED显示某字(如“7”)的段选码 57

例50 编写BCD码拨盘及其接口程序 58

例51 编写1#设备输出,2#设备输入的软件查询程序 60

例52 编写被零除中断和溢出中断程序 61

例53 编写封锁8259A中的IR3、IR4和IR6中断请求的程序 62

例54 设定8259A优先级的顺序,试编写程序 62

例56 将8259A中的IRR、ISR和IMR的内容送到内存,试编写程序 63

例55 编写清除8259A中ISR的IR3的程序 63

例57 当CPU的IF=0时,如何能知道IR4上有中断请求,试编写程序 63

例58 8088CPU正在为IR3中断服务时,如何开放8259A的IR4~IR7, 64

试编写程序 64

例59 试述8255A可编程并行接口的组成和初始化 64

例60 试写出8255A的工作方式控制字 66

例61 试写出8255A的端口C按位置位/复位控制字 67

位输入、低4位输出时,编写8255A的初始化程序 67

例63 编写8255A的C口的PC0置位的初始化程序 67

例65 编写8255A的C口的PC2位产生一个方脉冲信号的程序 68

例64 编写8255A的A口的PA7、PA6位进行置位/复位输出,而不改变PA5~PA0原来状态的初始化程序 68

例66 编写通过8255A接口控制8个指示灯轮流点亮的程序 69

例67 编写通过8255A接口显示一组开关状态的程序 69

例68 8255A的A、B口都工作在方式0下,用查询方式通过纸带读入 70

机读入数据,再输出给字符打印机和纸带穿孔机。试编写程序 70

例69 编写8255A端口A选通输入1000个8位二进制数的程序 72

例70 编写8255A端口A为基本输入,端口B为选通输出的程序 74

例71 写出按位置位/复位控制LED的亮和灭的程序 75

据送入缓冲器,连续输入直到遇到0DH就结束输入的程序 76

例72 写出将输入的ASCII码通过8255A端口B,采用中断方式,将数 76

例73 用8255A控制一组发光二极管的亮灭的程序 77

例74 8255A的方式1的应用实例之一 77

例75 8255A的方式1的应用实例之二 78

例76 8255A的方式2的应用实例 80

例77 编写8255A的A口和B口都工作在方式1,采用中断方式输入数 83

据的程序 83

例78 8255A的方式0的应用实例 83

例79 编写8255A用于LED显示器接口程序 85

例80 编写用8255A按位置位/复位控制字控制发光二极管依次显示亮灭的程序 87

例81 编写8255A工作在方式0、方式1和方式2等不同形式的初始化 88

程序 88

例82 发光二极管(L0~L7)不断显示对应开关(S0~S7)的通断状态应用实例 89

例83 编写8255A以查询方式作为打印机接口的程序 92

例84 编写8255A以中断方式作为打印机接口的程序 93

例85 通过8255A接口控制8个发光二极管亮、暗的应用实例 94

例86 利用8255A作为两机并行通信接口的应用实例 94

例87 8255A通过开关控制红、绿、黄灯的亮、暗的应用实例 97

B和一个纸带输入机相连的初始化和驱动程序 98

例89 编写8255A工作于方式0,端口A和一个字符打印机相连,端口 98

例88 编写在8255A的端口C的PC7上产生一个窄的正脉冲程序 98

例90 8255A工作在方式1控制微型打印机的应用实例 100

例91 编写8255A作为中断方式的打印机接口的程序 101

例92 8255A工作在方式0和方式1下分别与打印机接口的例子 103

例93 编写8255A作为打印机接口打印出26个小写英文字母的程序 104

例94 编写8086CPU用查询方式通过8255A并行接口控制一台控制 106

台打印机的程序 106

例95 编写利用8255A组成键盘扫描接口的程序 108

例96 8255A在PC机中的应用 110

例97 编写8255A用作2764EPROM编程接口程序 112

例98 编写系统配置开关DIP状态测试程序 114

例99 编写报警系统模型程序 115

例100 编写8255A作为连接A/D接口的程序(一) 116

例101 编写8255A作为连接A/D接口的程序(二) 116

例102 8255A用作A/D和D/A转换子系统的接口,试编写程序 117

例103 简述16位系统中并行接口的特点 119

例104 编写8255A作主、从两个CPU系统的接口的程序 119

例105 简述8255A并行接口的数据输入过程 124

例106 ADC0809通过8255A同PC总线的接口举例 125

24个数据,试编写程序 126

例107 编写奇数地址中的数据依次输出给1#设备,偶数地址中的数据依次输出给2#设备的程序 126

例108 ADC0809通过8255A同8086CPU连接,8个通道,每个通道采样 126

例109 什么是异步、同步通信?它们的格式怎样 128

例110 说明8251A的特性和初始化 129

例111 编写通过8251A采用查询方式接收数据的程序 131

例112 编写8251A采用查询方式发送数据的初始化程序 131

例113 编写8251A采用同步传送方式接收数据初始化程序 132

例114 编写8251A实现无条件传送(同步)方式的程序 132

例115 编写8251A工作于异步方式时的初始化程序 133

例116 8251A工作于异步方式时的初始化编程和数据输入程序段 133

位,偶校验,2位停止位时的初始化程序 134

例118 编写8251A从外设输入字符到内存缓冲器中的程序 135

例119 编写8251A采用异步方式工作,波特率因子为64,7位数据位,1位停止位,偶校验时的初始化程序 136

例120 编写8251A采用异步方式工作,波特率因子为16,7位数据位,2位停止位,奇校验时的初始化程序 137

例121 编写8251A采用异步方式工作,输出字符,波特率因子为64,7位数据位,1位停止位时的初始化程序 138

例122 编写8251A采用异步方式工作,波特率因子为16,7位数据位,奇校验、2位停止位,输入60个字符的初始化程序 140

例123 何谓异步通信?何谓同步通信?两者各有什么优缺点 140

例124 编写CPU与8251A之间采用中断方法进行传送的程序 141

例125 编写通过74LS165接8个开关与8251A进行通信的程序 142

的程序 144

例126 编写8251A作为接口,通过74LS164控制发光二极管轮流显示 144

例127 8251A作为串行接口的应用实例 145

例128 编写8251A串行接口与电传打印机相连的初始化程序 147

例129 8251A作为CRT的接口应用实例 148

例130 半双工异步通信应用实例 149

例131 用程序对8251A进行同步模式设置 150

例132 为8086CPU与CRT终端设计8251A的串行通信接口程序 151

例133 利用8251A实现两机远程、相互通信的应用实例 152

例134 8251A的命令字格式如何?根据题意,写出初始化程序 154

例135 利用8251A实现两台8086CPU之间串行通信,试编写程序 154

例136 编写8250串行通信口数据输入/输出的程序 158

例137 试述定时器/计数器8253的特点 159

例138 8253A有哪6种工作方式 160

例139 试述8253的工作方式控制字的格式 161

例140 如何对8253A进行初始化编程 162

例141 8253方式0的初始化、GATE的作用及计数初值修改等的波形图 164

例142 8253方式1的初始化、GATE的作用及计数初值修改等的波形图 164

例143 8253方式2的初始化、GATE的作用及计数初值修改等的波形图 166

例144 8253工作于方式3的初始化、GATE的作用、初值修改等波形图 166

例145 8253工作于方式4的初始化、GATE的作用、初值修改等波形图 168

例147 编写8253计数器0工作于方式1,计数器1工作于方式2,计数 169

器2工作于方式4时的初始化程序 169

例146 8253工作于方式5的初始化、GATE的作用、初值修改等波形图 169

例148 编写8253周期性地每隔20ms产生一次中断的程序 170

例149 编写8253计数器0工作于方式5,计数器1工作于方式1,计数 171

器2工作于方式2的初始化程序 171

例150 编写8253作为采样频率发生器的程序 172

例151 编写8253计数器2工作于方式5的初始化程序 173

例152 编写8253采样频率(次/s)和采样时间的控制程序 174

例153 编写8253作为定时时钟的程序 176

例154 编写8253用作定时器的程序 179

例155 编写8253实现定时中断的程序 180

例156 编写8253用作分频器的程序 181

例157 编写8253的3个计数器串级连接时的初始化程序 182

例158 编写IBM—PC/XT系统板上8253的3个计数器的应用程序 183

例159 编写8253计数器0工作于方式3,计数器1工作于方式4,计数 185

器2工作于方式0进行中断传送的程序 185

例160 8253如何与CPU接口 188

例161 试计算8253计数器0工作于方式3,时钟CLK0的频率为1MHz, 189

输出40kHz的重复方波时计数初值 189

例162 编写8253通道0工作于定时方式时,每20ms向CPU发出一个中 189

断请求信号,而通道1输出频率为2kHz的方波时初始化程序 189

例163 8253在写入计数初值时,二进制计数和十进制计数有何区别 190

例164 编写8253产生1μs的负脉冲的初始化程序 191

例165 编写8253对外部事件计数10次的程序 191

例166 编写8253对外部事件计数100次发中断请求的程序 195

例167 编写8253定时控制发光二极管的亮灭的程序 196

例168 8253产生中断请求信号,每中断一次显示一串字符,试编写程序 197

例169 编写8253定时控制8只LED管自下向上闪动的程序 199

例170 信号源、8253、8255A联合运用之一 201

例171 信号源、8253、8255A联合运用之二 202

例172 编写8253-5监视一个生产流水线的程序 203

例173 编写采用8253两个计数器串联的方法实现定时控制的程序 205

例174 8253-5产生定时中断,且把服务程序的入口地址送入中断向量表,试编写程序 206

例175 编写读8253的计数器2的16位计数器当前值的程序 207

例176 计数初值的计算 207

例177 编写用8253测量脉冲宽度的程序 208

例178 8253在包装流水线控制中的应用 209

例179 编写8253计数器1输出1ms的连续脉冲的初始化程序 210

例180 8253在IBM-PC/XT中的应用 210

例181 8253计数通道0工作于速率发生器的初值计算 213

例182 8253在温度控制系统中的应用 214

例183 8253在实时控制系统中的应用 215

例184 编写8253在IBM-PC/XT中应用的初始化程序段 217

例185 某IBM-PC/XT应用系统中,当某一外部事件发生时,给出一个高电平信号,要求1s后向主机申请中断,试编写用8253实现此延迟的程序 219

例186 8253计数器0工作在方式0,计数初值为7FH(按二进制计数);计数器1工作在方式2,计数初值为2000(按BCD码计数),试编写初始化程序 220

例187 8253的3个计数通道组合应用 221

例188 时钟程序的编写 223

例189 利用8253计数器0每隔55ms的定时中断,编写在屏幕上产生 227

两条运动直线的应用程序 227

例190 试述8237A可编程DMA控制器的功能、特性和操作步骤 232

例191 8237A有哪几个方式控制字?它的格式怎样 233

例193 编写DMA传输字节数的设置程序 235

例192 试编写地址设置程序 235

例194 编写DMA初始化子程序 236

例195 对IBM PC/XT的8237A进行初始化、对测试的程序段加注释说明 237

例196 使用DMA通道实例 239

例197 8237A编程寄存器的应用实例 241

例198 8237A在IBM-PC/XT微机系统中的应用实例 242

例199 编写使用DMA从接口往内存传输一个数据块的程序 247

例200 编写利用DMA从源存储器传送数据到目标存储器的程序 248

例201 IBM-PC/XT中,有关8237A的初始化程序和测试程序的编写 250

例202 编写8237DMA控制器执行存储器之间的数据传送的程序 254

例203 编写DMA用于控制软盘与内存间直接传送的数据的初始化程序 256

例204 编写向74LS670页面寄存器1写入20位地址的高4位地址的程序 258

例205 编写调用BIOS通过8237A实现软盘与内存交换数据的初始化程序 259

例206 编写利用8237的CH1实现DMA数据传送的初始化程序 261

例207 编写对动态存储器刷新初始化并启动DMA的程序 263

例208 简述8237A-5(DMAC)与FDC(软盘控制器)的连接 264

例209 8237初始化编程 265

例210 编写利用8237从外设向内存传送数据的初始化程序 267

例211 存储器接口技术包括哪些内容 268

例212 存储器芯片与CPU连接时应注意哪些问题 270

例213 何谓存储器奇偶分体 270

例214 根据存储器结构图确定RAM和EPROM的容量,并确定寻址范围 271

例215 用2732A组成12KB ROM和用6116组成4KB RAM,画出结构图, 272

并写出各片地址范围 272

例216 写出由1#和2#SRAM组成的存储器的片数和地址范围 274

例217 存储器地址范围的计算 275

例218 用1024B×1位存储器芯片组成1KB×8位的存储器,计算芯片 276

数,并画出连线图 276

例219 用256B×4位的存储器芯片组成1KB×8位的存储器,计算芯片数,并画出连线图 276

例220 用2732和6116组成8KB ROM和4KB RAM,计算芯片数并画出 277

连线图 277

范围 278

例221 由两片27512EPROM和两片6116RAM组成128KB ROM和4KB 278

RAM,画出存储器与8088CPU的连接图,并计算各芯片的地址 278

例222 根据存储器容量计算地址线和数据线的条数 279

例223 根据存储器容量计算所需芯片数和片外地址译码 279

例224 根据地址线位数和数据线位数,计算存储器容量和芯片数目 280

例225 简述系统总线与存储器的连接 280

例226 简述存储器的位扩展和字扩展 281

例227 编写BIOS的调用程序 282

例228 编写DOS的调用程序 283

例229 根据存储器与CPU的连接,确定寻址范围 284

例231 8位D/A转换器与8位CPU怎样连接 285

例230 D/A转换器和CPU接口中,应考虑哪些问题 285

例232 12位D/A转换器与8位CPU怎样连接 287

例233 A/D转换器和CPU接口中,应考虑哪些问题 288

例234 A/D转换器有哪些控制信号和状态信号 289

例235 编写DAC0832实现一次D/A转换的程序 290

例236 编写利用D/A转换器产生锯齿波电压的程序 290

例237 编写利用D/A转换器产生三角波的程序 291

例238 编写利用D/A转换器作为波形发生器的程序 292

例239 编写利用D/A转换器产生周期可调的呈负向增长的锯齿波的程序 294

例240 编写正向锯齿波和三角波的产生的程序 295

例241 编写输出指定台阶的阶梯波的程序 296

例242 编写产生指定输出幅度范围的锯齿波的程序 297

例243 编写DAC0832产生锯齿波的另一种程序 297

例244 D/A转换器产生两个不同极性的方波信号,试进行软硬件设计 298

例245 编写DAC0832产生0~5V的锯齿波的程序 300

例246 DAC1232产生0~5V的方波,试设计DAC1232的接口电路并编程 301

例247 编写DAC0832工作在单缓冲工作方式下的程序 302

例248 编写用DAC0832控制绘图仪的程序 303

例250 用软件驱动X—Y记录仪的100点输出,并控制记录仪的抬、放笔的程序 305

例249 编写DAC0832实现一次D/A转换的程序 305

例251 简述DAC0832芯片中8位输入寄存器和8位DAC寄存器的工作 306

过程 306

例252 编写ADC0808与CPU的接口的程序 307

例253 编写ADC0809与CPU直接连接的程序 308

例254 编写ADC0809通过并行接口与CPU的连接的程序 308

例255 在ADC0809电路(见图202)中,若改为中断方式读取转换后的数字量,则电路应做哪些改动?程序应如何编写 310

例256 编写8位CPU与10位D/A转换器的接口的程序 310

例257 设计D/A转换器的接口电路,并编写转换程序 311

例258 编写用中断方式进行数据传送的A/D转换的程序 312

例259 设计一块炉温控制接口卡,并编写驱动程序 315

例260 ADC0809与8088CPU的接口硬件连接图及软件设计 318

例261 12位A/D转换器AD574A与8088CPU接口硬件连接图及软件设计 320

例262 编写A/D转换器的16路数据采集系统的程序 322

例263 分析一个典型的实时控制系统 324

例264 编写采用无条件传送方式轮流采集的模拟信号的程序 325

例265 12位AD574与8088CPU的接口设计(一) 326

例266 12位AD574与8位CPU的接口设计(二) 328

例267 IBM-PC/XT微机控制模拟量输入/输出接口软硬件设计 330

例268 CPU与AD7522接口的软件设计 332

例269 CPU与AD561接口的软件设计 333

例270 利用8255A连接ADC0809与8086CPU,试编写程序 334

例271 编写ADC0809与8086CPU直接连接的程序 335

例272 编写ADC0809通过8255A与PC总线的接口的程序 336

例273 编写消除键抖动的程序 337

例274 编写单个按键动作的确认程序 337

例275 编写4×4键盘接口的程序 338

例276 编写非编码键盘与微处理器的接口程序 340

例277 编写非编码键盘行扫描法对按键进行识别和产生键码的方法的程序 342

例278 编写采用行扫描方式寻找键号的程序 346

例279 编写5×4非编码键盘接口的程序 348

例280 编写3×3矩阵键盘接口的程序 350

例281 编写3×4矩阵键盘接口的程序 351

例282 编写鼠标中断调用的程序 354

例283 编写打印机输出一个字符,后跟一个回车字符的程序 356

例284 编写8255A作为打印机接口的初始化程序 357

例285 编写8255A作为中断方式的Centronic360字符打印机的接口程序 358

例286 IBM PC BIOS打印中断调用子程序的编写 359

例287 通过打印机适配器接口用查询方式打印字符,试编写程序 361

例288 打印机中断驱动程序的编写 362

例289 查询控制方式的打印驱动程序的编写 364

例290 8255A作为打印机与8088CPU的接口,试编写程序 367

例291 8255A工作于方式1输出与打印机相连,并以中断方式传送数据,试编写程序 369

例292 试简述打印机接口电路的工作原理 371

例293 简述LED显示器接口原理并编程 371

例294 设置彩色显示器工作于MODE3(80×25彩色字符)方式,试编写程序 375

例295 简述8251A作为CRT的接口原理并编程 377

例296 编写显示“21”的程序段 379

例297 通过BIOS功能调用,将显示器设置成图形方式(640×200),并显示彩条,试编写程序 380

例298 用DOS中断调用编程,在屏幕上显示信息“The sort operation isfinished” 381

例299 在已设置的80×25彩色字符方式下,在光标当前位置写入一个字符,试编写程序 382

例300 将屏幕颜色置成亮蓝色,字符颜色由AL寄存器值改变,试编写程序 383

参考文献 385