实验三单片机定时计数器矩阵键盘精选.ppt
文本预览下载声明
一、实验目的 进一步熟悉集成开发环境; 掌握80C51定时/计数器的基本工作原理; 掌握80C51矩阵键盘的基本工作原理; 学习80C51定时/计数器、矩阵键盘的编写方法。 二、实验说明 定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。 TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能; TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 定时/计数器的工作原理 工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下: 控制寄存器TCON TCON的低4位用于控制外部中断。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下: 定时/计数器初始化程序完成如下工作: 对TMOD赋值,以确定T0和T1的工作方式。 计算初值,并将其写入TH0、TL0或TH1、TL1。 中断方式时,则对IE赋值,开放中断。 使TR0或TR1置位,启动定时/计数器定时或计数。 练习 在例题基础上,增加定时器1,利用定时器1控制流水灯,数码管每加一,流水灯移动一个。 矩阵键盘 矩阵键盘是一个4*4结构,如图所示。 按键识别 判断有无键按下:将全部行线置低电平,然后检测列线的状态。只要由一列的电平为低,则表示键盘中有键按下。若所有列线为高电平,则无键按下。 判断闭合键所在位置:确认有键按下后,依次将行线置为低电平(在置某根行线为低电平时,其它线为高电平)。在确定某根行线为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 去除按键抖动 当检测到有键按下后,延时一段时间再做下一步的检测判断。 练习 修改参考程序实现如下要求:第1次按下某按键在第一个8段数码管上显示对应的值,第2次按下某按键在第二个数码管上显示,以此类推,第9次又在第一个数码管上显示,以此循环下去。 三、实验报告要求 简述实验目的、原理。 列写实验内容的程序在报告上。 简述在实验过程中出现的问题及如何解决的。 * * 实验三 单片机定时/计数器、矩 阵键盘 加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。 实验中单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位(P1.0-P1.3),键盘的行线接到P1的高4位(P1.4-P1.7)。
显示全部