单片机应用技术 第 7 章 单片机接口技术
第 7 章 单片机接口技术
单片机应用系统常需连接键盘、显示器、打印机、A/D 和 D/A 转换器等外设,其中,
键盘和显示器是使用最频繁的外设,它们是构成人机对话的一种基本方式, A/D 和 D/A 转
换器是计算机与外界联系的重要途径。本章将叙述常用外设的工作原理以及它们如何与单
片机接口,如何相互传送信息等技术。
实训 7 简易秒表的制作
1.实训目的
(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。
(2)通过 LED 显示程序的调整,熟悉 8155 与 8051,8155 与 LED 的接口技术,熟悉
LED 动态显示的控制过程。
(3)通过键盘程序的调整,熟悉 8155 与矩阵式键盘的接口技术,熟悉键盘扫描原理。
(4)通过阅读和调试简易秒表整体程序,学会如何编制含 LED 动态显示、键盘扫描
和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。
2.实训设备与器件
(1)实训设备:单片机开发系统、微机。
(2)实训器件:实训电路板 1 套。
3. 实训步骤与要求
(1)要求:利用实训电路板,以 8 位 LED 右边 2 位显示秒,左边 6 位显示 0,实现秒
表计时显示。以 4×4 矩阵键盘的 KE0、KE1、KE2 等 3 键分别实现启动、停止、清零等功
能。
(2)方法:用单片机定时器 T0 中断方式,实现 1 秒定时;利用单片机定时器 1 方式 3
计数,实现 60 秒计数。用动态显 示 方 式实现秒 表 计 时显示, 用 键 盘扫描方 式 取 得
KE0、KE1、KE2 的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。
(3)实验线路分析:采用实训电路板,其原理图参见附录。8 位 LED 显示的位码由
8155 的 PA 口输出,段码由 8155 的 PB 口输出,PB 口线与 LED 之间接有 200Ω 限流电阻,
LED 为共阴极数码管,LED 显示方式为动态显示方式。4×4 矩阵键盘的行线经 5.1KΩ 电阻
上拉后与 8155PC 口的 PC0~PC3 口线相连,列线与 8155PA 口的 PA0~PA3 口线相连。8155
的控制口地址为 4400H,PA 口地址为 4401H,PB 口地址为 4402H,PC 口地址为 4403H。
系统本采用 11.0592MHz 的晶振,本实训应改为 12MHz 晶振,以方便定时。
(4)软件设计:软件整体设计思路是以键盘扫描和键盘处理作为主程序,LED 动态
显示作为子程序。二者间的联系是:主程序查询有无按键,无按键时,调用二次 LED 动态
显示子程序(约延时 8ms)后再回到按键查询状态,不断循环;有按键时,LED 动态显示
子程序作为按键防抖延时被连续调用二次(约延时 16ms),待按键处理程序执行完后,再
回到按键查询状态,同时兼顾了按键扫描取值的准确性和 LED 动态显示的稳定性。秒定时
采用定时器 T0 中断方式进行,60 秒计数由定时器 1 采用方式 3 完成,中断及计数的开启与
关闭受控于按键处理程序。由上述设计思路可设计出软件流程图如图 7.1 所示。
(5)程序编制:编程时置 KE0 键为“启动”,置 KE1 键为“停止”,置 KE2 键为“清零”,
因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,每
条指令后紧跟着一条无条件跳转指令“AJMP”,转至相应的按键处理程序,如不是上述 3 个
151