《微机接口技术教学课件作者第三版王成端第12章节微机接口分析与设计课件》由会员分享,可在线阅读,更多相关《微机接口技术教学课件作者第三版王成端第12章节微机接口分析与设计课件(50页珍藏版)》请在金锄头文库上搜索。
1、第12章,微机接口分析与设计,第12章 微机接口分析与设计,学习目标: 掌握微机接口设计的基本方法; 重点掌握硬件系统设计与软件系统设计的基本思路; 了解系统的可靠性及产生干扰的原因,掌握抑制干扰噪声的主要方法; 通过学习本章的应用案例,重点掌握微机接口系统设计的总体思路,包括硬件电路的设计方法、接口软件的编写方法等。,第12章 微机接口分析与设计,本章目录: 12.1 微机接口设计基本方法 12.2 微机接口的可靠性与抗干扰设计 12.3 定时显示系统的设计实例 习题与思考题,12.1 微机接口设计基本方法,12.1.1 微机接口设计基础 12.1.2 硬件系统的设计 12.1.3 软件系统
2、的设计 12.1.4 微机接口设计应注意的问题,返回上一级,12.1.1 微机接口设计基础,1. 微机接口信号分析 2. 微机接口信号转换 3. 微机接口驱动程序分析与设计,返回上一级,1. 微机接口信号分析,(1)CPU的类型和引脚定义,如数据线宽度、地址线宽度和控制线的逻辑定义,以及时序关系。 (2)外围设备3条连线:数据线、控制线和状态线。,返回上一级,2. 微机接口信号转换,与CPU和外设连接的信号在逻辑、时序或电平上不同,或需要一定的驱动等。 因此,要经过一定的转换和改造才能连接,以保证信息的正确传输。,返回上一级,3. 微机接口驱动程序分析与设计,编写驱动程序步骤: 熟练掌握接口芯
3、片的编程方法,如控制字各位的含义、各控制字的使用顺序和使用场合,它们对应的端口等。 根据具体应用场合确定接口的工作方式。 依据硬件连接关系编写驱动程序,包括接口的初始化程序和接口控制的输入/输出工作程序。,返回上一级,12.1.2 硬件系统的设计,硬件开发是指微型计算机接口硬件的开发。 基本方法: 熟悉与掌握微机及其提供的接口资源。 确定接口的功能、整体结构与软硬件分工。 完成接口与总线的硬件连接,自身功能的硬件设计,并选择适当的元器件完成有关的硬件设计。 使用有关的电路板CAD、PROTEL等软件设计逻辑图、印刷电路图,并制作实验板。 与软件协同调试实验板,验证硬件的设计是否合理及功能是否实
4、现。若有问题,分析问题所在,直至正确无误为止。 完善文档等工作,最终完成硬件设计与开发。,返回上一级,硬件开发注意问题,可参照或照搬现成适用和成熟的电路,。 对于小的硬件设计,可使用面包板搭接;大一些的硬件设计,最好制成电路实验板。同时,在实验板验证无误后,再做批量硬件生产。 硬件开发调试是至关重要的。 在整个设计过程中,应使设计的硬件性能价格比最优 。,返回上一级,12.1.3 软件系统的设计,1. 微机软件结构 2. 微机软件接口,返回上一级,1. 微机软件结构,软件结构层次表,(1)应用层 建立在DOS基础上的用户服务层。用户在这一层可通过应用程序控制和使用微型计算机系统,同时也可开发应
5、用系统的软件部分。 ()DOS命令层 COMMAND.COM等文件组成的操作系统(DOS)层,为用户提供DOS命令等服务。,返回上一级,(3)DOS服务层 由DOS调用组成的服务层,主要为用户提供DOS调用服务。 (4)ROM-BIOS服务层 建立在机器ROM中的基本I/O程序系统服务,为用户控制常用的外部设备提供BIOS调用等服务。 (5)硬件控制层 微机裸机为用户提供了硬件资源,是微机系统的硬件基础,并为所有微型计算机软件、硬件提供服务。用户开发的硬件接口也是这一层。,返回上一级,2. 微机软件接口,用户开发控制硬件的软件方式: 在DOS命令层开发控制软件; 在DOS服务层开发控制软件;
6、在ROM-BIOS服务层开发控制软件; 在硬件控制层上与硬件直接打交道。,返回上一级,基于开发效率的原则: 凡能由高一层次提供的服务而实现的功能,决不调用低一层次的服务来实现; 凡能由高一层次提供的服务不能实现的功能,才用低一层次的服务来实现。 所以,目前接口软件开发一般采用高级语言与汇编语言混合编程,即用高级语言编写用户界面等高层繁琐工作,而对于直接控制低层硬件部分软件则用汇编语言实现。,返回上一级,12.1.4 微机接口设计应注意的问题,1. 软、硬件综合考虑 2. 逻辑关系和时序关系统筹考虑 3. 单、通用和扩展同时考虑,返回上一级,12.2 微机接口的可靠性与抗干扰设计,12.2.1
7、系统的可靠性 12.2.2 产生干扰的原因 12.2.3 抗干扰的措施,返回上一级,12.2.1 系统的可靠性,计算机监控系统的可靠性是指系统无故障运行的能力。 可靠性常用“平均无故障运行时间”,即平均的故障间隔时间MTBF(mean time between failures)来定量地衡量。,返回上一级,提高系统的可靠性,选用性能稳定的元器件 充分考虑元器件的布局 抗干扰设计,返回上一级,12.2.2 产生干扰的原因,微机应用系统 模拟部分本身的噪声 模拟电路的干扰噪声: (1)输入干扰 (2)交流电源干扰 (3)直流电源干扰 (4)地线干扰 (5)电磁辐射干扰。,返回上一级,12.2.3
8、抗干扰的措施,(1)电路结构处理 可以通过差分放大器从噪声中提取模拟信号 (2)布线技术 模拟电路部分和数字电路部分应分开,避免混合交叉走线,尽量走直线。同时,模拟电路的连接线应尽可能短,并尽量使信号流向一致。 (3)接地技术 有两种接地:一种是为人身或设备安全目的,而把设备的外壳接地,这种接地称为外壳接地或安全接地;另外一种接地是为电路工作提供一个公共的电位参考点,这种接地称之为工作接地。,返回上一级,(4)屏蔽技术 以金属板、金属网或金属盒构成的屏蔽体能有效地对付电磁波的干绕。 为了有效发挥屏蔽体作用,还应注意屏蔽体的接地问题。 (5)隔离技术 隔离包括物理隔离和光电隔离两种。 (6)滤波
9、技术 滤波是为了拟制噪声干扰。 利用电容、电感等储能元件可以抑制因负载变化而产生的噪声。,返回上一级,12.3 定时显示系统的设计实例,12.3.1 设计要求 12.3.2 硬件系统设计 12.3.3 软件系统设计 12.3.4 程序框图 12.3.5 参考程序,返回上一级,12.3.1 设计要求,设计一个定时显示装置,用六位数码管显示时、分、秒,每一秒钟显示内容变化一次。并能用小键盘控制走时、显示和初始值的予值。 编写程序,实现以下功能: “C”-清除计数。 “G”-启动计数。 “D”-暂停计数显示当时的时、分、秒。 “P”-设置初值,设置不符合实际规定显示出错标志E。 “E”-程序退出DO
10、S。,返回上一级,12.3.2 硬件系统设计,在这个接口电路中用到了8255A,8253A、8259A接口芯片和LED显示器,必须熟悉它们及相应外围电路的工作原理。,返回上一级,键盘扫描部分原理图,返回上一级,定时与中断部分原理图,返回上一级,数码管显示部分原理图,返回上一级,12.3.3 软件系统设计,程序设计包含LED显示程序,并行键盘扫描程序以及定时程序。 8253A控制口为203H,定时器0端口为200H,定时器1端口为201H。 8259A偶地址端口为20H,奇地址端口为21H。 段锁存器端口地址为211H。 位锁存器端口地址为210H。 8255A的A端口地址为218H,B端口地址
11、为219H,C端口地址为21AH,控制口地址为21BH。,返回上一级,12.3.4 程序框图,主程序框图 中断处理子程序框图 键盘扫描子程序框图 LED显示子程序框图 P键扫描子程序框图,返回上一级,主程序框图,返回上一级,中断处理子程序框图,返回上一级,键盘扫描子程序框图,返回上一级,LED显示子程序框图,返回上一级,P键扫描子程序框图,返回上一级,INTA00 EQU 20H ;8259偶地址 INTA01 EQU 21H ;8259奇地址 PORTSEG EQU 211H PORTBIT EQU 210H TIM-CTL EQU 203H ;8253控制口地址 TIMER0 EQU 20
12、0H ;定时器0地址 TIMER1 EQU 201H ;定时器1地址 MODE03 EQU 36H ;8253定时器0工作于模式3 MODE12 EQU 54H ;8253定时器1工作于模式2 PA55 EQU 218H ;8255A的A口地址 PB55 EQU 219H ;8255A的B口地址 P55CTL EQU 21BH ;8255A的控制口地址 ;-定义堆栈段- STACK SEGMENT STACK STA DW 512 DUP(?) TOP EQU LENGTH STA STACK ENDS,12.3.5 参考程序,下页,上页,;-定义数据段- DATA SEGMENT Hou1
13、DB 0 Hou2 DB 0 Min1 DB 0 Min2 DB 0 SEC1 DB 0 SEC2 DB 0 COUNT DB 0 CHAR1 DB ? INTMAST DB ? CSREG DW ? IPREG DW ? LED DB 3FH,06H,5BH,4FH,66H,7DH,07H,7FH,6FH,40H,79H,00H TABLE DW 0101H,0201H,0401H,0801H,1001H,2001H,4001H,8001H DW 0102H,0202H,0402H,0802H,1002H,2002H,4002H,8002H DW 0104H,0204H,0404H,0804
14、H,1004H,2004H,4004H,8004H CHAR DB CDEFBA9845673210 RPMG MAXTIME DB 00H,1FH,1CH,1FH,1EH,1FH,1EH,1FH,1FH,1EH,1FH,1EH,1FH MES DB IN SMALL KEYRORD,0AH,0DH DB CDISPLAY 00,00,00; GG0 AHEAD,0AH,0DH DB DSTOP TO DISPLAY ; EEXIT TO DOS,0AH,0DH DB PPOSITION THE BENINNING TIME,0AH,0DH,$ DATA ENDS,下页,上页,;-代码段的定义
15、- CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACK START CLI ;关中断 MOV AX,DATA MOV DS,AX MOV DX,TIM-CTL ;设置定时器0,使工作于模式3 MOV AX,MODE03 OUT DX,AL MOV DX,TIMER0 ;定时器设置计数初值低位为0 MOV AL,00H OUT DX,AL MOV AL,02H ;定时器设置计数初值低位为02H OUT DX,AL MOV DX,TIM-CTL MOV AL,MODE12 OUT DX,AL MOV DX,TIMER1 MOV AL
16、,0AH OUT DX,AL MOV AX,STACK ;段寄存器及堆栈指针初始化 MOV SS,AX MOV SP,TOP MOV DX,OFFSET MES MOV AH,09H ;显示提示信息 INT 21H,下页,上页,MOV AX,350AH ;取中断向量,设置中断类型 INT 21H MOV AX,ES MOV CSREG,AX MOV IPREG,BX PUSH DS MOV AX,CS MOV DS,AX MOV DX,OFFSET INT-PROC ;将INT-PROC的偏移地址送入DX MOV AX,250AH ;设置0A号中断向量 INT 21H POP DS MOV DX,