首页 理论教育 8098单片机应用实例:解析与实践

8098单片机应用实例:解析与实践

时间:2023-06-26 理论教育 版权反馈
【摘要】:数码管的外形结构如图9-51a所示,用来显示0~9,a,b,c,d,e,,g及小数点“.”等字符。2)采用译码器的LED驱动接口。高速输出通道的工作原理 8098单片机内部有一个高速输出部件HSO可按程序设定的特定时刻去触发一个或多个事件。8098的HSO硬件结构如图9-53所示。2)HSO命令寄存器、HSO时间寄存器以及HSO保持寄存器用以存放某一欲触事件的命令和时间值。定时器T1的时钟源为8098单片机系统时钟。

8098单片机应用实例:解析与实践

1.硬件简介

(1)数码显示器的工作原理

1)数码管结构。数码管的外形结构如图9-51a所示,用来显示0~9,a,b,c,d,e,,g及小数点“.”等字符。数码管有共阳极和共阴极两种接法,其示意图如图9-51b所示。

2)采用译码器的LED驱动接口。图9-52为使用CD4511B(或-C14511)驱动的二个7段LED显示器接口电路原理图

(2)高速输出(HSO)通道的工作原理 8098单片机内部有一个高速输出部件HSO可按程序设定的特定时刻去触发一个或多个事件。

1)HSO的硬件结构。8098的HSO硬件结构如图9-53所示。其中内容可寻址存储器(Content Addressable Memory,CA-)是HSO的核心,CA-由8个23位的存储器组成,每个状态周期中都使一个CA-存储器中的时间值与定时器值进行比较,若两值相符,说明触发某一事件的时间已到,于是产生该事件的触发信号

2)HSO命令寄存器、HSO时间寄存器以及HSO保持寄存器用以存放某一欲触事件的命令和时间值。在将命令写入HSO命令寄存器后,再在HSO时间寄存器中填入相应的时间值,这样控制逻辑就会自动将这二个信息装入保持寄存器中,此时若CA-为空,它们便进入CA-中。

978-7-111-46058-9-Part01-307.jpg

图9-51 数码管结构示意图

a)数码管的外形结构 b)共阳极和共阴极两种接法

978-7-111-46058-9-Part01-308.jpg

图9-52 LED显示器接口电路原理图

LC5012-11—双7段显示器 4116R-001—排电阻,内装8个电阻,阻值均为471Ω

3)与HSO有关的特殊功能寄存器。

①定时器T1(只读,地址为0AH):它是16位定时器,可以作为HSO输出的时间基准。此时它被作为定时器用。定时器T1的时钟源为8098单片机系统时钟。

②定时器T2(只读,地址为OCH):它也是16位定时器,作为HSO输出时间基准时,定时器T2作为计数器用,定时器T2的时钟源和复位源可由外部提供。

③HSO命令寄存器(只写,地址为06H):HSO命令寄存器HOS_CO--AND用以规定在设定的时刻所触发事件的属性,它的格式如图9-54所示。

该命令字中,第7位无定义;第6位(T)用以选择HSO所需的时间基准,即选择定时器T2(该位为“1”)或定时器T1(该位为“0”);第5位(D)是选择的通道输出高电平(高位)或输出低电平(清0);第4位(Ⅰ)用来决定事件触发时是否要发出中断请求。第3位至第0位用来选择触发什么样的事件(即通道号),其定义如表9-66所示。

978-7-111-46058-9-Part01-309.jpg

图9-53 HSO的硬件结构

978-7-111-46058-9-Part01-310.jpg

图9-54 HSO_CO--AND寄存器

从表9-66可见,根据事件性质的不同,可分为外部事件和内部事件。外部事件与内部事件的区别是:外部事件的触发与时间基准T1同步,内部事件的触发不与定时器T1同步。

④HSO时间寄存器:HSO时间寄存器HSO_TI-E用来存放所设定事件的触发时刻(时间值)。它的地址为0004H(低字节)和0005H(高字节)。由于写入的时间值是相对于定时器T1(或T2)而言的,因此在设置时间值时应用ADD指令,典型的指令格式如下:

ADD HSO_TI-E,T1,#××××H

9-66 HSO通道选择(HSO_CO--AND.0~HSO_CO--AND.3)

978-7-111-46058-9-Part01-311.jpg(www.xing528.com)

指令后的立即数表示相对于定时器T1的时间值,1个数对应的时间为2μs(12-Hz晶振频率)。由于ADD指令的执行时间需1.5μs(6个状态周期),加上其他一些硬件动作所需的时间约0.5μs,再加上HSO_COMMAND和HSO_TI-E中的内容从保持寄存器送到CA-中所需的时间2μs,因此,HSO相对于T1触发时间至少应大于4μs(即立即数应大于0002H)。倘若将上述指令中的立即数设为0003H,那么,在ADD指令执行后2μs(1个最小时间单位)便会触发事件;若立即数设为0000H由于当ADD指令执行结束时,所设定的触发时刻已过,因此要等到T1再溢出(最多要等待近131ms)时,才能触发所设定的事件。

(3)显示电路 根据需要,本显示电路设计成4位显示。它由2片7段LED显示器LC5012-11,4片BCD-7段锁存/译码/驱动器CD4511B,1片3线—8线译码器74LS138等元器件所组成,如图9-55所示。

2.程序流程图

1)主程序流程图如图9-56所示。

2)中断服务程序流程图如图9-57所示。

3)显示子程序流程图如图9-58所示。

978-7-111-46058-9-Part01-312.jpg

图9-55 显示电路原理图

3.程序清单

(1)通用寄存器定义

978-7-111-46058-9-Part01-313.jpg

(2)主程序清单 程序清单如下:

978-7-111-46058-9-Part01-314.jpg

978-7-111-46058-9-Part01-315.jpg

978-7-111-46058-9-Part01-316.jpg

图9-56 主程序流程图

978-7-111-46058-9-Part01-317.jpg

图9-57 中断服务程序流程图

978-7-111-46058-9-Part01-318.jpg

图9-58 显示子程序流程图

978-7-111-46058-9-Part01-319.jpg

(3)中断服务程序清单 程序清单如下:

978-7-111-46058-9-Part01-320.jpg

978-7-111-46058-9-Part01-321.jpg

(4)显示子程序清单 程序清单如下:

978-7-111-46058-9-Part01-322.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈