1 / 183

微机原理与接口技术 实验讲稿( PPT)

微机原理与接口技术 实验讲稿( PPT). 电子科技大学自动化工程学院 (习友宝 副教授) 2005年6月. 实验项目. 实验箱简介 基于 EPP 接口的 LED 显示 8255并行接口原理及编程 8253计数器原理及分频实验 8253计数器在测频中的应用 双积分式 A/D 转换器7109 的原理及编程 逐次比较式 A/D 转换器0809的原理及编程 D/A 转换器0832的原理实验 DAC0832 在程控信号源中的应用 LED 点阵显示 基本并行输入/输出口在键盘接口中的应用 8250串行通信 电子称实验. 实验箱简介. 实验箱的组成原理

dane-porter
Download Presentation

微机原理与接口技术 实验讲稿( PPT)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 微机原理与接口技术实验讲稿(PPT) 电子科技大学自动化工程学院 (习友宝 副教授) 2005年6月

  2. 实验项目 • 实验箱简介 • 基于 EPP接口的LED显示 • 8255并行接口原理及编程 • 8253计数器原理及分频实验 • 8253计数器在测频中的应用 • 双积分式A/D 转换器7109 的原理及编程 • 逐次比较式A/D转换器0809的原理及编程 • D/A转换器0832的原理实验 • DAC0832在程控信号源中的应用 • LED点阵显示 • 基本并行输入/输出口在键盘接口中的应用 • 8250串行通信 • 电子称实验

  3. 实验箱简介 • 实验箱的组成原理 ▼实验主板的原理 实验主板是由并行I/O、定时器/计数器、 A/D转换器、D/A转换器及LED显示器等接口 部件构成,采用了总线结构,各功能部件 均通过内部总线进行连接,如下图所示。

  4. 实验主板的内总线结构

  5. ▼实验主板的布局

  6. EPP接口原理 ▼EPP信号特性,其引脚定义如下图

  7. ▼ EPP端口寄存器 端口地址如表下图所示。表中BASE为并 口基地址,

  8. 状态寄存器和控制寄存器各位具体定义如下图所示。状态寄存器和控制寄存器各位具体定义如下图所示。

  9. ▼ EPP接口初始化 在使用EPP之前应将并口置于正向传输模式(输出),即将控制寄存器的方向位(Bit5)置0。可编写EPP初始化函数epp_init()如下: void epp_init(void) { outportb(0x37a,0x04); }

  10. ▼ EPP时序 数据/地址写周期时序

  11. 数据/地址读周期时序

  12. ▼ EPP端口读写 计算机要同外设实验箱通信,就要通过EPP接口来读写数据,因此,首先应向EPP地址端口(BASE+3)写入欲访问的外设地址,然后从EPP数据端口(BASE+4)读写数据,每次读写1个字节

  13. EPP端口写函数epp_write_data() void epp_write_data(unsigned char paddr,unsigned char data) { outportb(0x37b,paddr); epp_check_clear(); outportb(0x37c,data); epp_check_clear(); }

  14. EPP端口读函数epp_read_data() void epp_read_data(unsigned char paddr,unsigned char *data) { outportb(0x37b, paddr); epp_check_clear(); *data = inportb(0x37c); epp_check_clear(); }

  15. EPP接口与本实验平台的连接 ,如下

  16. 扩展接口 扩展接口的原理及管脚定义如下图所示。

  17. 键盘、点阵实验扩展板 ,原理框图如下:

  18. 串口实验扩展板 ,原理框图如下:

  19. 端口地址 为了方便同学们的在实验中更快,更方便的找到实验板上各个芯片的端口地址,在实验指导书上详细列出了各个端口的地址及其简要的功能描叙。

  20. 头文件 在本实验指导书的附录里,列举了部分实验的参考源程序,以便同学们在学习的过程中参考。为了使程序更简化、直观,将常用的地址端口和函数定义成头文件的形式,其头文件有: ① paddr.h 对实验板内地址进行了宏定义。 ② eppinit.h EPP接口初始化。 ③ epprw.h EPP端口的读/写。 ④ displed.h LED数字显示函数。

  21. 实验一 EPP接口驱动LED显示 • 实验目的 1.熟悉EPP接口的输入/输出及读/写操作。 2.掌握七段LED显示驱动原理及接口方法。 3.熟悉C语言。

  22. 实验任务 1.分析实验主板电路,指出输入/输出口地址。 2.编写LED显示程序,使实验主板上的四个LED显示任意四位数字和任意一位的小数点,并通过调试。

  23. 实验原理 ▼ LED显示器原理 7段LED显示器的结构和8位字节数的对应关系如下图:

  24. ▼ LED显示实验电路 实验箱主板上带有的四位LED显示器采用 四片CD4511(BCD-七段锁存译码器)来驱 动 。其原理图如下:

  25. ▼ 4位LED显示的端口操作为:

  26. 本实验共用到的端口地址及其功能介绍 00H(2Y0):输出口,用作后两位显示译码驱动器4511 的锁存使能信号。 01H(2Y1):输出口, 用作前两位显示译码驱动器4511 的锁存使能信号。 03H(2Y3):输出口, 用作4位小数点锁存器74LS273的 控制CLK信号。

  27. 编程与调试 ▼ 程序说明 该程序设计功能为: ① 先从最高位开始依次显示1,2,3,4,显示时只有一位显示,其它位熄灭。 ② 从高到低轮流点亮小数点。 ③依次显示0000,1111,2222,3333,......一直到9999。

  28. ▼ 编程思路

  29. ▼ 编程步骤 ① 调用自定义头文件 #include "paddr.h" #include "epprw.h" #include "displed.h" #include "eppinit.h " ② EPP端口初始化 epp_init(); ③ LED的数字显示 在LED上显示某个数,只要在对应的字节上写入这个数即可,例如:要在 第二位LED上显示1,第一位LED上显示5,只要先向EPP地址端口写入这两位 的地址0x00(D_LED) ,再向EPP数据端口写入相应的数据。 epp_write_data(D_LED, 0x15); 如果想要熄灭某个LED,只要在相应的位上写入10到15的任意一个数。程序 中利用此方法循环点亮LED。

  30. 思考和练习题 • 若不对EPP接口进行初始化,会发生什么现象?为什么? • 编写循环点亮四位小数点的程序。 • 可以同时点亮四位的小数点吗?如果可以,应怎样设置其端口控制字?

  31. 实验二 8255并行接口原理及编程 • 实验目的 1.熟悉8255内部结构和外部引脚定义。 2.熟悉8255并行接口的原理和接口方法。 3.掌握8255的简单应用编程。

  32. 实验任务 1.编写出8255的初始化程序。 2.编写出循环控制发光二极管的显示程序, 并运行通过 3.编写出交通灯控制模拟程序。 4.理清8255的一些与实验板上其他芯片相连 接的I/O端口电路。 5.掌握对8255PC口的位操作。

  33. 实验原理 ▼8255工作原理 8255有8条数据引脚D0~D7,它们全部是双向、三态,用来与数据总线相连接; 另外,还有6条输入控制引脚,分别是: ① RESET: 复位输入信号,高电平有效。当RESET有效时,将梭鱼哦内部寄存器, 包括控制寄存器清零,而且把A、B、C三个都设为输入方式,对应的PA7~PA0、PB7~ PB0、PC7~PC0引脚均为高阻态。 ② CS:芯片选中信号,输入低电平有效。只有当它为低电平时,8255才被CPU选 中。 ③ A0和A1:芯片内部寄存器的选中信号。当有效时,8255被选中,再由A0、A1 的编码决定选中通道A、B、C,还是控制寄存器。 ④ RD:读信号。输入低电平有效。当它为低电平时,由CPU读出8255的数据或者 状态信息。 ⑤ WR:写信号。输入低电平有效当它为低电平时,由CPU将数据或命令写到8255。 CS、A0、A1、WR、五根引脚的电平与8255操作的关系,详见下表

  34. 8255通道选择和基本操作表

  35. ▼8255控制字 ① 8255方式选择控制字 方式0――基本输入/输出 方式1――选通输入/输出 方式2――双向数据传送

  36. ② 8255按位置位/复位的控制字 通道C的每一位都可以通过向控制寄存器写入置位/复位控制字, 而使它相应位置位(即输出为1)或复位(即输出为0)。通道C置位、 复位控制字的具体格式下图所示。

  37. ▼ 实验电路图

  38. ▼本实验用到的端口地址: 23H(1Y1):输出口,8255的控制端口 20H(1Y1):输出口,8255端口A的地址 21H(1Y1):输入口,8255B端口B的地址 22H(1Y1):输入/输出口,8255端口C的地址

  39. 编程与调试 (一)交通灯实验 1.程序说明 通过对8255的A口读/写命令,来循环点亮与A口相 连接的红、黄、绿三个发光二级管。在点亮的过程中, 同时在LED上显示时间,从60秒开始倒计时,60秒到6 秒红灯亮,5秒到1秒黄灯亮,然后再从从60秒开始倒 计时,60秒到6秒绿灯亮,5秒到1秒黄灯亮。依次循环。

  40. 2.编程思路

  41. 3.编程步骤 ① 调用自定义头文件(同上实验一)。 ② EPP端口初始化(同上实验一)。 ③初始化8255。 在本实验中设计为方式0、A口输出、B口输入,故向控制寄存器写 入的数据为0x82。在交通灯的实验中,我们就用到A口的输出。8255 的片选由1Y1来控制,其控制寄存器的地址为0x23(CW_8255)。 epp_write_data(CW_8255,0x82); ④ 向8255的A口写数据。 由指示灯的硬件电路可知,与其相连的端口输出为低电平,指示 灯亮;输出为高电平,指示灯灭。 在本实验中我们要依次点亮红色、黄色、绿色、黄色。 epp_write_data(PA_8255, 0xfe); /*点亮红色指示灯*/ delay(10000); /*延时*/ epp_write_data(PA_8255, 0xfd); /*点亮黄色指示灯*/ delay(10000); epp_write_data(PA_8255, 0xfb); /*点亮绿色指示灯*/ delay(10000); epp_write_data(PA_8255, 0xfd); /*点亮黄色指示灯*/

  42. ⑤ 点亮实验板上的LED。 在点亮指示灯的同时,要在LED上显示点亮时间,这个数字显示 程序可直接调用上面介绍过的LED数字显示程序。 epp_write_data(PA_8255, 0xfe); /*点亮红色指示灯*/ for( i=60;i>5;i-- ) /* 点亮时间55秒*/ { displed(i,0); /*调用LED数字显示函数*/ for( j=0;j<100;j++ ) delay(1000); if(kbhit()) exit(0); } 4.源程序清单 参考指导书附录I-2。

  43. (二)A、B并行口实验 1.程序说明 该程序为通过操作与8255的B口相连的开关键,来控制与8255的A 口相连的发光二极管的亮和灭。 2.编程思路

  44. 3.编程步骤 ① 调用自定义头文件(同上)。 ② EPP端口初始化(同上)。 ③ 初始化8255(同上)。 ④ 读取8255的B端口的数据 与8255的B端口相连接的是8个开关控制器,通过操作这些开关可以使与其相连的B端口呈现高电平“1”或者低电平“0”。 epp_read_data(PB_8255, &data); ⑤ 向A端口写数据 epp_write_data(PA_8255, data) 4.源程序清单 参考实验指导书附录I-3。

  45. 思考和练习 1.交通灯实验中如何同时点亮多个指示灯。 2. 能否从A口输出C口的获取量。 3.在不同的工作方式下,考虑I/O口的外设连接。

  46. 实验三 8253计数器原理及分频实验 • 实验目的 1.熟悉8253定时器/计数器的功能及接口方法。 2.熟悉8253的分频原理。 3.掌握8253的分频应用编程。

  47. 实验任务 1.分析本实验主板上8253的硬件电路原理。 2.熟悉8253的工作原理后,编写出8253的 初始化程序。 3.编写出8253分频程序,观察实验显现。

  48. 实验原理 ▼ 8253的引脚 8253有3个独立的16位减计器通道,每一个通道有三条引线: CLK、GATE和OUT。 ① CLK: 输入时钟, 8253规定,加在CLK引脚的输入时钟周期 不能小于380ns。 ② GATE:门控信号输入引脚。这是控制计数器工作的一个外部 信号。当GATE引脚为低时,通常都是禁止计数器工作的;只有 GATE 为高时,才允许计数器工作。 ③ OUT:输出引脚。当计数到“0”时,OUT 引脚上必然有输出, 输出信号波形取决于工作方式。

  49. 8253内部端口的选择及每个通道的读/写操 作的选择如下表所示

More Related