微机原理与接口技术实验讲稿(PPT).ppt
《微机原理与接口技术实验讲稿(PPT).ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验讲稿(PPT).ppt(183页珍藏版)》请在三一办公上搜索。
1、微机原理与接口技术实验讲稿(PPT),实验项目,实验箱简介 基于 EPP接口的LED显示8255并行接口原理及编程8253计数器原理及分频实验8253计数器在测频中的应用双积分式A/D 转换器7109 的原理及编程逐次比较式A/D转换器0809的原理及编程D/A转换器0832的原理实验DAC0832在程控信号源中的应用LED点阵显示基本并行输入/输出口在键盘接口中的应用8250串行通信电子称实验,实验箱简介,实验箱的组成原理 实验主板的原理 实验主板是由并行I/O、定时器/计数器、A/D转换器、D/A转换器及LED显示器等接口部件构成,采用了总线结构,各功能部件均通过内部总线进行连接,如下图所
2、示。,实验主板的内总线结构,实验主板的布局,EPP接口原理 EPP信号特性,其引脚定义如下图,EPP端口寄存器 端口地址如表下图所示。表中BASE为并口基地址,,状态寄存器和控制寄存器各位具体定义如下图所示。,EPP接口初始化 在使用EPP之前应将并口置于正向传输模式(输出),即将控制寄存器的方向位(Bit5)置0。可编写EPP初始化函数epp_init()如下:void epp_init(void)outportb(0 x37a,0 x04);,EPP时序 数据/地址写周期时序,数据/地址读周期时序,EPP端口读写 计算机要同外设实验箱通信,就要通过EPP接口来读写数据,因此,首先应向EPP
3、地址端口(BASE+3)写入欲访问的外设地址,然后从EPP数据端口(BASE+4)读写数据,每次读写1个字节,EPP端口写函数epp_write_data()void epp_write_data(unsigned char paddr,unsigned char data)outportb(0 x37b,paddr);epp_check_clear();outportb(0 x37c,data);epp_check_clear();,EPP端口读函数epp_read_data()void epp_read_data(unsigned char paddr,unsigned char*data
4、)outportb(0 x37b,paddr);epp_check_clear();*data=inportb(0 x37c);epp_check_clear();,EPP接口与本实验平台的连接,如下,扩展接口扩展接口的原理及管脚定义如下图所示。,键盘、点阵实验扩展板,原理框图如下:,串口实验扩展板,原理框图如下:,端口地址 为了方便同学们的在实验中更快,更方便的找到实验板上各个芯片的端口地址,在实验指导书上详细列出了各个端口的地址及其简要的功能描叙。,头文件 在本实验指导书的附录里,列举了部分实验的参考源程序,以便同学们在学习的过程中参考。为了使程序更简化、直观,将常用的地址端口和函数定义成
5、头文件的形式,其头文件有:paddr.h 对实验板内地址进行了宏定义。eppinit.h EPP接口初始化。epprw.h EPP端口的读/写。displed.h LED数字显示函数。,实验一 EPP接口驱动LED显示,实验目的1熟悉EPP接口的输入/输出及读/写操作。2掌握七段LED显示驱动原理及接口方法。3熟悉C语言。,实验任务 1分析实验主板电路,指出输入/输出口地址。2编写LED显示程序,使实验主板上的四个LED显示任意四位数字和任意一位的小数点,并通过调试。,实验原理 LED显示器原理 7段LED显示器的结构和8位字节数的对应关系如下图:,LED显示实验电路 实验箱主板上带有的四位L
6、ED显示器采用四片CD4511(BCD七段锁存译码器)来驱动。其原理图如下:,4位LED显示的端口操作为:,本实验共用到的端口地址及其功能介绍00H(2Y0):输出口,用作后两位显示译码驱动器4511 的锁存使能信号。01H(2Y1):输出口,用作前两位显示译码驱动器4511 的锁存使能信号。03H(2Y3):输出口,用作4位小数点锁存器74LS273的 控制CLK信号。,编程与调试 程序说明 该程序设计功能为:先从最高位开始依次显示1,2,3,4,显示时只有一位显示,其它位熄灭。从高到低轮流点亮小数点。依次显示0000,1111,2222,3333,.一直到9999。,编程思路,编程步骤 调
7、用自定义头文件#include paddr.h#include epprw.h#include displed.h#include eppinit.h EPP端口初始化 epp_init();LED的数字显示 在LED上显示某个数,只要在对应的字节上写入这个数即可,例如:要在第二位LED上显示1,第一位LED上显示5,只要先向EPP地址端口写入这两位的地址0 x00(D_LED),再向EPP数据端口写入相应的数据。epp_write_data(D_LED,0 x15);如果想要熄灭某个LED,只要在相应的位上写入10到15的任意一个数。程序中利用此方法循环点亮LED。,思考和练习题 若不对EP
8、P接口进行初始化,会发生什么现象?为什么?编写循环点亮四位小数点的程序。可以同时点亮四位的小数点吗?如果可以,应怎样设置其端口控制字?,实验二 8255并行接口原理及编程,实验目的 1.熟悉8255内部结构和外部引脚定义。2.熟悉8255并行接口的原理和接口方法。3.掌握8255的简单应用编程。,实验任务 1编写出8255的初始化程序。2编写出循环控制发光二极管的显示程序,并运行通过 3编写出交通灯控制模拟程序。4理清8255的一些与实验板上其他芯片相连接的I/O端口电路。5掌握对8255PC口的位操作。,实验原理 8255工作原理 8255有8条数据引脚D0D7,它们全部是双向、三态,用来与
9、数据总线相连接;另外,还有6条输入控制引脚,分别是:RESET:复位输入信号,高电平有效。当RESET有效时,将梭鱼哦内部寄存器,包括控制寄存器清零,而且把A、B、C三个都设为输入方式,对应的PA7PA0、PB7PB0、PC7PC0引脚均为高阻态。CS:芯片选中信号,输入低电平有效。只有当它为低电平时,8255才被CPU选中。A0和A1:芯片内部寄存器的选中信号。当有效时,8255被选中,再由A0、A1的编码决定选中通道A、B、C,还是控制寄存器。RD:读信号。输入低电平有效。当它为低电平时,由CPU读出8255的数据或者状态信息。WR:写信号。输入低电平有效当它为低电平时,由CPU将数据或命
10、令写到8255。CS、A0、A1、WR、五根引脚的电平与8255操作的关系,详见下表,8255通道选择和基本操作表,8255控制字 8255方式选择控制字,方式0基本输入/输出方式1选通输入/输出方式2双向数据传送,8255按位置位/复位的控制字 通道C的每一位都可以通过向控制寄存器写入置位/复位控制字,而使它相应位置位(即输出为1)或复位(即输出为0)。通道C置位、复位控制字的具体格式下图所示。,实验电路图,本实验用到的端口地址:23H(1Y1):输出口,8255的控制端口20H(1Y1):输出口,8255端口A的地址21H(1Y1):输入口,8255B端口B的地址22H(1Y1):输入/输
11、出口,8255端口C的地址,编程与调试(一)交通灯实验1程序说明 通过对8255的A口读/写命令,来循环点亮与A口相 连接的红、黄、绿三个发光二级管。在点亮的过程中,同时在LED上显示时间,从60秒开始倒计时,60秒到6 秒红灯亮,5秒到1秒黄灯亮,然后再从从60秒开始倒 计时,60秒到6秒绿灯亮,5秒到1秒黄灯亮。依次循环。,2编程思路,3编程步骤 调用自定义头文件(同上实验一)。EPP端口初始化(同上实验一)。初始化8255。在本实验中设计为方式0、A口输出、B口输入,故向控制寄存器写入的数据为0 x82。在交通灯的实验中,我们就用到A口的输出。8255的片选由1Y1来控制,其控制寄存器的
12、地址为0 x23(CW_8255)。epp_write_data(CW_8255,0 x82);向8255的A口写数据。由指示灯的硬件电路可知,与其相连的端口输出为低电平,指示灯亮;输出为高电平,指示灯灭。在本实验中我们要依次点亮红色、黄色、绿色、黄色。epp_write_data(PA_8255,0 xfe);/*点亮红色指示灯*/delay(10000);/*延时*/epp_write_data(PA_8255,0 xfd);/*点亮黄色指示灯*/delay(10000);epp_write_data(PA_8255,0 xfb);/*点亮绿色指示灯*/delay(10000);epp_w
13、rite_data(PA_8255,0 xfd);/*点亮黄色指示灯*/,点亮实验板上的LED。在点亮指示灯的同时,要在LED上显示点亮时间,这个数字显示程序可直接调用上面介绍过的LED数字显示程序。epp_write_data(PA_8255,0 xfe);/*点亮红色指示灯*/for(i=60;i5;i-)/*点亮时间55秒*/displed(i,0);/*调用LED数字显示函数*/for(j=0;j100;j+)delay(1000);if(kbhit()exit(0);4源程序清单 参考指导书附录I-2。,(二)A、B并行口实验1程序说明 该程序为通过操作与8255的B口相连的开关键,
14、来控制与8255的A口相连的发光二极管的亮和灭。2编程思路,3编程步骤 调用自定义头文件(同上)。EPP端口初始化(同上)。初始化8255(同上)。读取8255的B端口的数据 与8255的B端口相连接的是8个开关控制器,通过操作这些开关可以使与其相连的B端口呈现高电平“1”或者低电平“0”。epp_read_data(PB_8255,向A端口写数据 epp_write_data(PA_8255,data)4源程序清单 参考实验指导书附录I-3。,思考和练习 1交通灯实验中如何同时点亮多个指示灯。2.能否从A口输出C口的获取量。3在不同的工作方式下,考虑I/O口的外设连接。,实验三 8253计数
15、器原理及分频实验,实验目的1.熟悉8253定时器/计数器的功能及接口方法。2.熟悉8253的分频原理。3.掌握8253的分频应用编程。,实验任务 1分析本实验主板上8253的硬件电路原理。2熟悉8253的工作原理后,编写出8253的 初始化程序。3编写出8253分频程序,观察实验显现。,实验原理 8253的引脚 8253有3个独立的16位减计器通道,每一个通道有三条引线:CLK、GATE和OUT。CLK:输入时钟,8253规定,加在CLK引脚的输入时钟周期不能小于380ns。GATE:门控信号输入引脚。这是控制计数器工作的一个外部信号。当GATE引脚为低时,通常都是禁止计数器工作的;只有 GA
16、TE为高时,才允许计数器工作。OUT:输出引脚。当计数到“0”时,OUT 引脚上必然有输出,输出信号波形取决于工作方式。,8253内部端口的选择及每个通道的读/写操作的选择如下表所示,8253的端口控制子,8253的工作方式和输出波形,实验电路组成原理框图,本实验共用到六个端口地址:23H(1Y1):输出口,8255的控制端口22H(1Y1):输出端口(PC3),发出计数器0的闸门信 号(0为关,1为开)A0H(1Y5):输入/输出端口,8253计数器0 的读写口A1H(1Y5):输入/输出端口,8253计数器1的读写口A3H(1Y5):输出端口,8253的控制寄存器的端口,编程与调试1.程序
17、说明 对8253的计数器0和1写入初值,使计数器1输出一定频率的方波,从而使得与计数器1输出端相连接的指示灯循环亮和灭。2.编程思路,3.编程步骤 调用自定义头文件(同上实验一)。EPP端口初始化(同上实验一)。初始化8255。8255的控制字应该定义C口的低位为输出口,工作方式为方式0。epp_write_data(CW_8255,0 x8a);PC3口置“0”,阻止脉冲输入。初始化8253前,要阻止脉冲输入,就要向PC3口置0,8255的C口的各个端口可以直接置位和复位。epp_write_data(CW_8255,0 x06);初始化8253。8253的计数器0、计数器1,工作方式分别为
18、方式2和方式3,都是先写低字节再写高字节和BCD码计数。向计数器0置入初值是1000,向计数器1置入的初值也是1000。,/*8253的0口初始化,写1000进去*/epp_write_data(CW_8253,0 x35);epp_write_data(CT0_8253,0 x00);epp_write_data(CT0_8253,0 x10);/*8253的1口初始化,设置时间为1s*/epp_write_data(CW_8253,0 x77);epp_write_data(CT1_8253,0 x00);epp_write_data(CT1_8253,0 x10);PC3置“1”,允许脉
19、冲输入。epp_write_data(CW_8255,0X07);4.源程序清单 参考实验指导书附录I-4。,思考和练习题 1向计数器0和计数器1写入不通的值,指示灯 会出现什么现象?2计数器0和1采用不同的工作方式,指示灯有 什么现象。38253的初始化要在一个脉冲的作用下才能完 成,这对实验中计数器输出信号的频率有没 有影响?,实验四 8253计数器在测频中的应用,实验目的 1了解频率测量原理。2.掌握8253的应用编程。实验任务 1.进一步理解8253的硬件电路原理。2.根据测频原理,编写出8253的测频程序,并运行通过。,实验原理 频率测量原理 所谓“频率”,就是周期性信号在单位时间变
20、化的次数。若在一定时间间隔T内,计得这个周期信号得重复变化次数为N,则其频率可表达为:fN/T。电子计数器就是严格按照该定义进行测频得。其原理方框图和工作时间波形下图所示。,8253的工作原理。自激振荡电路,图中将滑动变阻器Rw左边的阻值设为Rx,令R=RxR1。当R=R2时,当RR2时,,本实验主板上设计的是第二种情况,通过调节滑动变阻器Rw可获得不同频率的信号源。,电路原理,输入单元:输入的待测信号fx有以下三种来源:a.AO2是自D/A0832(程控信号源)输出的信号,详见实验六。b.FX是外界直接输入的信号。c.实验主板上自带的振荡电路源。计数部分:被测频率信号由8253的计数器2计数
21、,时基信号产生与变换单元 逻辑控制单元开门信号由8255的PC3控制。计数器0的输出(OUT0)和计数器1的时钟(CLK1)直接相连,计数器1的OUT1通过反相器,控制计数器2的CLK2的信号输入,完成硬件方面的控制。实验波形如下图4所示(计数器0、1、2的工作方式依次为方式2、0、2,闸门信号全部为高),闸门时间 在本实验中初始化8253时,设定计数器0、1、2的工作方式分别为0方式2、0、2,向计数器0、1、2中置入的数据一次为为N0、N1、N2。定义计数器0的时钟输入频率为F。闸门(PC3)打开后,信号F进入计数器0,计数器0工作在方式2经N0分频后输出的波形信号频率f0为:,(1),计
22、数器0输出的频率为f0的信号作为计数器1时钟信号(CLK1),计数器1工作在方式0,经 N1分频后输出的波形信号频率f1为:,由式(1)、(2)得:,(2)(3),计数器1输出的频率为f1的信号作为被测信号fx的门控信号,则信号f1的周期即为闸门时间T,由式(3)得:,(4),本实验共用到六个端口地址:23H(1Y1):输出端口,8255的控制端口 22H(1Y1):输出端口(PC3),发出计数器0的闸门信号(0为关,1为开)输入端口(PC6),读取计数器2的闸门信号(0为开,1为关)A3H(1Y5):输出端口,8253计数器的控制寄存器的端口 A0H(1Y5):输入/输出端口,8253计数器
23、0 的读写口 A1H(1Y5):输入/输出端口,8253计数器1的读写口 A2H(1Y5):输入/输出端口,8253计数器2的读写口,编程步骤1.程序说明 本程序是利用8253计数器,实现对未知频率信号的测频。实验过程中,可以通过探测点TP9、TP10、TP11分别查看计数器0、1、2的输出情况,通过测试点TP12、TP13测量经过74LS74输出的1Mhz、5KHz的波形信号。2.编程思路,4.编程步骤 调用自定义头文件(同上实验一)。EPP端口初始化(同上实验一)。初始化8255。epp_write_data(CW_8255,0 x8a);/*8255写控制字*/PC3置0,阻值脉冲输入(
24、同实验三)。初始化8253。/*8253的0口初始化,写1000进去*/epp_weite_data(CW_8253,0 x35);epp_weite_data(CT0_8253,0 x00);epp_weite_data(CT0_8253,0 x01);/*8253的1口初始化,设置时间为1s*/epp_weite_data(CW_8253,0 x71);epp_weite_data(CT1_8253,0 x00);epp_weite_data(CT1_8253,0 x10);/*8253的2口初始化,写ff进去*/epp_weite_data(CW_8253,0 xb4);epp_weit
25、e_data(CT2_8253,0 xff);epp_weite_data(CT2_8253,0 xff);,PC3置1,允许脉冲输入(同实验三)读取计数器1的输出量(PC6)。do epp_read_data(PC_8255,/*在实验主板上显示测频结果*/,4.源程序清单 参考实验指导书附录I-5。思考和练习题1为什么计数器1要工作在方式0能否工作在其余的工作 方式下?2图中计数器1和计数器0级联,计数器1是对计数器0的 溢出计数,其目的是什么?3不通的闸门时间对测频结果是否有影响?如何影响?48253的初始化要在一个脉冲的作用下才能完成,这对 用软件打开闸门的测频结果有什么影响?应该怎样
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 讲稿 PPT
链接地址:https://www.31ppt.com/p-5349884.html