微机接口技术综合例题(共15页).doc
《微机接口技术综合例题(共15页).doc》由会员分享,可在线阅读,更多相关《微机接口技术综合例题(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机接口技术综合例题例10.1 在8086最小方式系统中,利用8255A某端口输入8位开关量,并通过另一个端送出,以发光二极管指示数据,灯亮表示数据“1”,灯灭表示数据“0”。8255A的端口地址为280H287H中的奇地址,设计系统总线与8255A的连接电路,并编程实现。 解题分析:按照题目要求,可以采用端口A输入开关量(数字量),采用端口B输出数据,而且没有增加联络信号的必要,因此可以采用最简单的方式0。根据10.4节内容,很容易设计出8255A与8086最小方式系统的连接关系,如图10.15所示,为了使发光二极管具有足够的亮度,我们采用图示的方法连接,这时,当端
2、口B的某一位为0时,相应的发光二极管亮,这一点可以通过程序进行控制。 8255A的应用程序段如下: MOV DX, 287H ;设置8255A的工作方式 MOV AL, B ;端口A方式0输入 OUT DX, AL ;端口B方式0输出RER1: MOV DX, 281H ;从端口A读取开关量 IN AL, DX NOT AL ;按位取反 MOV DX, 283H ;从端口B送出 OUT DX, AL JMP RER1例10.2 在8088最大方式系统中,由一片8255A构成输入输出接口,端口地址为240H243H,外设准备好的8位数据已送入8255A的某端口,要求将这一数据的低4位取反(高4不
3、变)后,从另一端口送出。要求: (1)说明各端口的工作方式; (2)编写8255初始化及输入输出程序段。解题分析: 由于题目给定已经将外设准备好的8位数据送入8255A的某端口(可设为端口A),因此A组可以设定为方式1输入。对输出端口(设为端口B)题目并没有限定,我们可以将B组设定成方式0输出。 8255初始化及输入输出程序段如下页: MOV DX, 243H ;设定8255A的工作方式 MOV AL, B OUT DX, AL MOV DX, 240H ;从端口A读数据IN AL, DX XOR AL, 0FH ;低4位取反,高4不变MOV DX, 242H ;从端口B送出OUT DX, A
4、L例10.3 在8088最大方式系统中,有一片8255A,其端口地址为20H、22H、24H、26H,采用低8位地址总线设计译码电路及与系统总线的连接图,并编程实现使端口A的低4位产生如图10.16所示的信号(各个信号的节拍不必严格相等)。 解题分析:根据8255A在8088最大方式系统中的端口地址,可以画出8255A与系统总线的连接框图,如图10.17所示。 为使8255A的端口A产生如图10.16所示的信号,可以将端口A设定成方式0输出,端口B和C与本题无关,均设定为方式0输出。端口A低4位的波形为分频形式,因此,可以通过计数方式实现。 MOVDX, 26H;设定8255A的工作方式 MO
5、V AL, 1000 0000B OUT DX, AL MOV DX, 20H;产生指定的信号 XOR AL, AL OUT DX, AL REP1: MOV CX,4 REP2: INC AL OUT DX, AL LOOP REP2 XOR AL, AL JMP REP1例10.5 在IBM PC系统机的扩充槽上,利用8255A和8位A/D变换器开发数据采集系统如图10.19所示。要求计算8255A占用的四个端口地址,并编写程序完成N点数据的采集工作。 解题分析:由于A14A9没有参加地址译码,因此并行接口8255A会占用多组地址。为了简单起见,我们只给出A14A9取全0时的一组地址:81
6、D1H、81D3H、81D5H 和81D7H。 为了完成一个字节的数据采集,需要给A/D变换器产生START信号,当变换结束时,会产生EOC信号,经单稳电路后,可以将A/D变换器产生的数据锁存到8255A的端口A,因此,8255A的A组为方式1,并且端口C的高4位方向为输出。 P8255A=81D1HP8255A=81D3HP8255A=81D5HP8255A=81D7HMOV DX, P8255DMOV AL, 1011 0000BOUT DX, ALLEA SI, BUFMOV CX,NL1: MOV DX, P8255D MOV AL, 0000 1110B OUT DX, AL OR
7、AL, 01H OUT DX, AL AND AL, 0FEH OUT DX, AL MOV DX, P8255C L2: IN AL, DX TEST AL, 20H JZ L2 MOV DX, P8255A IN AL, DX MOV SI,AL INC SI LOOP L1例9.1 在以8086构成的最大方式系统中,有一片8254的端口地址分别为301H、303H、305H和307H,给定的外部时钟为512kHz。要求:(1) 利用计数器0产生周期为1ms的周期信号,请编写初始化程序;利用这一计数器能产生的最低信号频率为 ,这时的时常数CR0= 。 (2)利用计数器1和2产生如下图所示的
8、周期信号,并编写初始化程序。(3)画出8253的端口译码电路(地址线只使用 A0A9)及其连接图。解:设给定的外部时钟为CLK,其周期T = 1/512kHz = 1.s。(1)为了得到1ms的周期信号,因此计数器0应该采用方式2或方式3,其时常数CR0 = 1ms/1.s =512。利用这个计数器分频时,其最大的分频次数为62256,这时得到最低的频率为512kHz/62256,即约为8.22Hz。(2) 为了产生如图9.17所示的周期信号,应该采用方式2,但在方式2下,其低电平时间仅为一个时钟周期,因此,利用一个计数通道无法实现这个任务。现在采用计数器1和计数器2联合,先利用计数器1产生周
9、期为1.5ms的周期信号,然后将输出OUT1信号作为计数器2的时钟输入CLK2,这样可以实现题目的要求。对于计数器1,工作方式可以选用方式2或方式3,一般采用方式3,这样可以使产生的信号(近似)对称,其时常数CR1 = 1.5ms/1.s = 768 ,需要采用16位的时常数表示。对于计数器2,工作方式只能选用方式2,其时常数CR2 =(3s +1.5ms)/ 1.5ms = 3001, 也需要采用16位的时常数表示。 8253的初始化程序段如下:MOVDX,307H;写计数器1方式控制字MOV AL,0111 0110BOUT DX,ALMOV DX,303H;写计数器1时常数MOV AX,
10、768OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,307H;写计数器2方式控制字MOV AL,1011 0100BOUT DX,ALMOV DX,305H;写计数器2时常数MOV AX,3001OUT DX,ALXCHG AL,AHOUT DX,AL(3)根据上面分析和题目给定的条件,可以画出8253的地址译码电路和连接图,如下图所示。例9.2 设8253的端口地址为260H263H,外部时钟信号为1MHz,要求产生如下图所示的周期波形,画出8253的连接图,并编写初始化程序段。解:本题仅采用8253的三个计数通道来实现。分两步实现:(1)由于要产生周期信号,因此必定
11、包含方式2或方式3,我们采用方式3产生周期为1s+12ms = 1012ms的方波信号,题目给定的外部时钟为1MHz,这时需要的分频系数(即时常数)为:1012ms/1s = ,显然,通过一个计数通道无法实现,所以,采用计数器0和计数器1联合产生,CR0 = 1000,CR1=1012,这样OUT1的周期为1ms。(2)利用计数器2的方式1实现单脉冲形成,以此作为要求产生信号的低电平,其时常数CR2 = 1s/1ms - 1 = 999,计数器0的OUT0信号作为计数器2的时钟输入信号,OUT1作为计数器2的硬件触发信号,确保周期为1012ms。8253的连接图如图9.20所示,各个OUT端产
12、生的信号如下图所示。 例9.3 有一个未知频率的对称周期信号s(t)(频率范围在100Hz2kHz之间),现在8086最小系统中已经设计了一片8253,其端口地址为380H、382H、384H和386H,外部可以使用的标准信号源为1MHz,设计测量输入s(t)信号的频率,并将结果保存在SFR字单元中。解:测量信号频率的方法有两种:计数法和测周期法,所谓计数法是指在一个确定的时间t内测出s(t)的脉冲个数N,这样s(t)的周期约为t/N,要求t足够长,使N100。所谓测周期法是指在s(t)的一个周期内测出已知标准周期信号(设周期为T0)周期数N,则s(t)的周期约为NT0,这种方法也要求N100
13、,即基准频率信号的周期足够短。 根据题目给定的信号,这里应该采用测周期法,基准频率信号为1MHz,T0 = 1 s。由于题目给定被测信号s(t)为对称的周期信号,因此只需要测量半个周期Th,根据给定的频率范围可以计算出250sTh5000s,这样可以保证测出的周期数250N5000,确保测量的精度要求。 利用计数器0实现输入信号s(t)频率的测量,将基准信号1MHz加到CLK0端,s(t)加到GATE0端,并同时将s(t)连接到8259的中断请求TR0端,8253的连接图如图9.22所示。信号频率测量关系如图9.23所示。计数器采用方式2,时常数取最大值,这样当GATE0端有上升沿查询时,可以
14、启动计数器进行“减1”计数,当GATE0出现低电平时,暂停计数,并一直保留到CPU产生中断,在中断服务子程序中可以读取计数值,与初值相减后再加1就可以得到s(t)半周期内所包含的基准周期数。8253的初始化程序段如下:MOVDX,386H ;写计数器0方式控制字MOV AL,0011 0100BOUT DX,ALMOV DX,380H ;写计数器0时常数MOV AL,0OUT DX,ALOUT DX,ALSTI ;开中断中断服务子程序的主要内容为:PUSH AXPUSH BXPUSH DXMOV DX,386H;发计数器0的锁存命令MOV AL,0000 0000BOUT DX,ALMOV D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 技术 综合 例题 15
限制150内