单片机接口技术剖析.docVIP

  • 10
  • 0
  • 约5.5万字
  • 约 53页
  • 2017-07-09 发布于湖北
  • 举报
第7章 单片机接口技术 单片机应用系统常需连接键盘、显示器、打印机、A/D和D/A转换器等外设,其中,键盘和显示器是使用最频繁的外设,它们是构成人机对话的一种基本方式,A/D和D/A转换器是计算机与外界联系的重要途径。本章将叙述常用外设的工作原理以及它们如何与单片机接口,如何相互传送信息等技术。 实训7 简易秒表的制作 1.实训目的 (1(2(3) 2.实训设备与器件 (1) (2) 实训步骤与要求 (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个按键值则跳回按键查询状态。8位LED显示的数据由显示缓冲区30H~37H单元中的数据决定,顺序是从左至右,动态显示时,每位显示持续时间为1ms,1ms延时由软件实现,8位显示约耗时8ms。主程序、按键查询子程序采用第0组工作寄存器,显示子程序采用第1组工作寄存器。1秒定时采用定时器T0方式1中断,每50ms中断一次,用21H做50 ms计数单元,每20次为一个循环,计满20次,60秒计数单元(20H)计数1次。60秒计数采用定时器T1方式2计数,计数脉冲采用软件置位、复位P3.5口的方法实现,用20H单元做60秒计数单元,如定时器T1溢出,则20H单元被清零,20H单元的数据采用十进制计数,该数据被拆成个位和十位两个数据后分别送至显示缓冲区的30H、31H单元。 图7.1 简易秒表软件流程图 按照上述思路可编制源程序如下: ORG 0000H AJMP MAIN ORG 000BH AJMP CONT ;◇◇◇◇◇◇◇◇◇◇◇主程序◇◇◇◇◇◇◇◇◇◇◇◇◇ ;――――――――――初始化程序―――――――――――― MAIN: MOV TMOD,#61H ;置T0方式1定时,T1方式2计数 MOV TH0,#3CH ;T0置初值 MOV TL0,#0B0H MOV TH1,#0C4H ;T1置初值 MOV TL1,#0C4H MOV DPTR,#4400H ;8155控制口地址送DPTR MOV A,#43H ;设置8155工作方式字 MOVX @DPTR,A ;设置PA、PB口输出,PC口输入 MOV 20H,#00H ;60秒计数单元置初值 MOV 21H

文档评论(0)

1亿VIP精品文档

相关文档