ch04单片机计时与键盘接口技术-机器人计时_第1页
ch04单片机计时与键盘接口技术-机器人计时_第2页
ch04单片机计时与键盘接口技术-机器人计时_第3页
ch04单片机计时与键盘接口技术-机器人计时_第4页
ch04单片机计时与键盘接口技术-机器人计时_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机计时与键盘接口技术——机器人计时新工科建设之路·机器人技术与应用系列应用型人才创新能力培养机器人制作与开发(单片机技术及应用)(第2版)第四章01用8位八段数码管制作简易秒表8位八段数码管显示模块可用于开发时间或日期的显示装置,由两个4位八段数码管显示模块组成,可以通过10Pin扁平电缆直接连接到扩展学习板的10Pin扩展插座上。8位八段数码管显示模块由MAX7219芯片驱动,对于MAX7219芯片,这里不做介绍,读者可以自行上网查找相关资料。用8位八段数码管制作简易秒表8位八段数码管和扩展学习板简介用8位八段数码管制作简易秒表图4.1所示为8位八段数码管显示模块的原理图。图中的P1为8位八段数码管10Pin扁平的外接口。8位八段数码管显示模块具有操作简单的优点,单片机只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219内的指令和数据寄存器中,同时允许用户选择多种译码方式和译码位。用8位八段数码管制作简易秒表用8位八段数码管制作简易秒表表4.1给出了8位八段数码管显示模块各寄存器的说明。用8位八段数码管制作简易秒表MAX7219的译码控制寄存器译码表如表4.2所示。用8位八段数码管制作简易秒表MAX7219扫描界限控制寄存器设置如表4.3所示。用8位八段数码管制作简易秒表数据读/写时序如图4.2所示。用8位八段数码管制作简易秒表图4.3所示为驱动测试程序运行效果。用8位八段数码管制作简易秒表图4.4所示为拓展学习板实物图。简易秒表的制作与程序设计(1)T2的设置和中断说明;(2)简易秒表的制作;(3)简易秒表的程序设计。用8位八段数码管制作简易秒表用8位八段数码管制作简易秒表把8位八段数码管显示模块安装在扩展学习板上,8位八段数码管显示模块与C语言教学板的连接方式如表4.5所示。用8位八段数码管制作简易秒表图4.6所示为8位八段数码管显示模块与C语言教学板的连接实物图。用8位八段数码管制作简易秒表图4.7所示为简易秒表程序运行效果,左边显示00的部分是分部分,右边显示08的部分是秒部分。02裁判机器人的制作——测量选手的反应时间本任务要求利用LED、按键、LCD1602测量选手的反应时间。具体要求:选手看到LED亮时按下按键,单片机计算从LED开始亮到按键被按下的这段时间的时长,并将时长显示在LCD上。本任务类似于电视节目中的抢答器,当选手看到LED亮时便按下按键,反应时间最短的选手获得答题权。裁判机器人的制作——测量选手的反应时间裁判机器人的制作要求裁判机器人的制作——测量选手的反应时间裁判机器人的外围电路原理图如图4.8所示。裁判机器人的制作——测量选手的反应时间图4.9为完成的电路连接实物图。测量选手反应时间的程序(1)T0的设置和中断函数;(2)编写程序。将这段测量选手反应时间的程序下载到单片机中进行测试。显然,这个程序与真正能够作为产品的程序相差甚远!因为程序在开始运行后,固定延时4s后点亮LED,这样人们就可以预测LED的点亮时间,而无须看到LED亮再按下按键,测得的时间并不是选手的真实反应时间。裁判机器人的制作——测量选手的反应时间03具有简单设置功能的计时机器人制作在任务4.1中,我们完成了用8位八段数码管制作简易秒表的任务,但制作的秒表只能计时,不能设置起始时间。在本任务中,我们将引入输入设备,用于在程序运行时把原始数据或待处理数据输入计算机中。在日常生活中,常见的人机交互设备有鼠标、键盘、摄像头、扫描仪、游戏杆等。本任务将介绍如何利用4×4矩阵键盘制作一个计时器的输入设备,用于时间设置。具有简单设置功能的计时机器人制作本任务所需元器件包括:4×4矩阵键盘1个、1kΩ电阻4个、8位八段数码管1个、10Pin扁平电缆1根、AT89S52教学机器人1套、导线若干。本任务要求利用4×4矩阵键盘完成对计时器的设置,如设置计时器停止计时的终止时间。数码管能够进行分和秒的实时计时显示,其显示时间每秒更新一次。当计时到矩阵键盘设定的终止时间时,计时器停止计时,数码管显示设定的终止时间。具有简单设置功能的计时机器人制作4×4矩阵键盘简介键盘由一系列按键开关组成,它是一种常见的输入设备。用户可以通过键盘向程序输入数据、地址和命令。键盘上的每个按键都被赋予了一个代码,即键码。比较常见的键盘是矩阵式键盘,它的按键采用矩阵式排列,各键处于矩阵行与列的交点处。程序通过对连在行(列)上的I/O线发送已知电平信号,然后读取列(行)的状态信息,逐线扫描,得出键码。矩阵式键盘具有按键较多且占用I/O线较少的优点,但判断键码的速度较慢,因此只适用于键数不多的场合。具有简单设置功能的计时机器人制作具有简单设置功能的计时机器人制作4×4矩阵键盘实物图如图4.13所示。具有简单设置功能的计时机器人制作4×4矩阵键盘原理图如图4.14所示。具有简单设置功能的计时机器人制作图4.15所示为4x4矩阵键盘与C语言教学板的连接电路图。从图中可以看出,矩阵键盘的行0~行3的一端分别与C语言教学板的P00~P03连接,列0~列3分别与C语言教学板的P04~P07连接。行0~行3的另一端先与10kΩ的电阻连接,再连接到5V的电源上。表4.6给出了4×4矩阵键盘与C语言教学板的引脚连接方式。具有简单设置功能的计时机器人制作矩阵键盘编码4×4矩阵键盘共有16个按键,矩阵键盘的行和列与C语言教学板的PO端口相连。每个按键有唯一对应的行值和列值。确定被按下按键的行值和列值的方法是:首先给予j(j=0,1,2,3)列低电平,其他列高电平,然后轮流检测4行中是否有哪一行为低电平,若第i(i=0,1,2,3)行为低电平,则被按下的按键的行值和列值为i和j。若未发现任何一行为低电平,则再回到第一步,一直这样循环扫描矩阵键盘。具有简单设置功能的计时机器人制作矩阵键盘编码和扫描程序说明具有简单设置功能的计时机器人制作矩阵键盘扫描的流程图如图4.17所示。由于键盘的行和列与C语言教学板的PO端口相连,键盘上的每个按键对应唯一的行值和列值,因此扫描到的P0端口编码与行值、列值一样,和按键是一一对应的。为了便于识别读取的行值,对低位编号做取反处理。具有简单设置功能的计时机器人制作具有简单设置功能的计时机器人制作表4.8所示为P0端口的键码。矩阵键盘扫描程序首先确定键盘的行和列与C语言教学板的连接方式,再定义键盘列扫描码。scanner(函数用于实现键盘按键扫描,首先按照数组scan的列扫描码给予第col列低电平,再读取KEYP低4位的值,并对读取的值取反。在获得行值信息后,判断行值是否为0。若不为0,则该行按键被按下,由此判断按键的位置,并返回按键的位置信息;若为0,则继续扫描其他行列的按键。具有简单设置功能的计时机器人制作键盘接口程序的实现(1)程序实现功能说明;(2)带键盘接口的机器人计时器程序。具有简单设置功能的计时机器人制作04具有简单设置功能的时钟机器人制作本任务所需元器件包括:4×4矩阵键盘1个、lkΩ电阻4个、8位八段数码管1个、10Pin扁平电缆1根、AT89S52教学机器人1套、导线若干。本任务要求利用8位八段数码管显示时钟的时、分和秒,并用4×4矩阵键盘对时钟的起始时间按照时、分、秒进行设置。在设置完成后,按下K15键,机器人从设置的时间点开始计时,并在数码管上显示每次更新的时间,时间每秒更新一次。具有简单设置功能的时钟机器人制作时钟机器人的设计思路本任务的硬件连接电路和任务4.3完全相同。任务4.3制作的是具有简单设置功能的计时机器人,其计时功能只有分和秒两部分。本任务要制作的是具有起始时间设置功能的时钟机器人,包含时、分和秒三部分。在任务4.3程序的基础上,增加时的显示功能,数码管的显示由两部分改为三部分。数码管从左到右依次显示时、分、秒。具有简单设置功能的时钟机器人制作具有简单设置功能的时钟机器人制作时、分、秒之间各由一个不显示的数码管隔开,数码管显示时间初始化如图4.24所示。具有简单设置功能的时钟机器人制作设置时的操作效果如图4.25所示。具有简单设置功能的时钟机器人制作设置分的操作效果如图4.26所示。具有简单设置功能的时钟机器人制作设置秒的操作效果如图4.27所示。具有简单设置功能的时钟机器人制作设置时、分和秒完成的效果如图4.28所示。具有简单设置功能的时钟机器人制作开始计时的效果如图4.29所示。05工程素质和技能归纳①了解和掌握8位八段数码管电路原理图、显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论