Freescale单片机键盘中断初始化详解

需积分: 9 5 下载量 139 浏览量 更新于2024-07-12 收藏 4.92MB PPT 举报
"本文主要介绍了键盘编程初始化步骤,特别是在Freescale单片机上的应用。内容包括键盘中断的矢量地址、初始化顺序、避免误中断的策略以及中断子程序的参数处理。同时,提到了单片机的历史发展,特别是Freescale(摩托罗拉)在单片机领域的地位和演变。" 在Freescale单片机中,进行键盘编程初始化是一个关键步骤,确保系统能正确响应和处理键盘输入。首先,我们需要知道键盘中断的矢量地址,这是中断服务程序的入口地址,对于Freescale单片机,这个地址通常是$FFE0到$FFE1。中断矢量地址是系统识别和调用中断处理程序的依据。 接下来是键盘中断的初始化顺序。这涉及到两个重要的寄存器:键盘状态和控制寄存器(INTKBSCR)以及键盘中断允许寄存器(INTKBIER)。初始化时,应先设置INTKBSCR,例如设置或清除特定位以控制键盘中断的行为,然后设置INTKBIER来启用或禁用键盘中断。为了防止在初始化过程中发生不必要的中断,建议按照以下步骤操作: 1. 屏蔽键盘中断(通过设置IMASKK位为1)。 2. 定义中断引脚(设置KBIEx位为1)。 3. 清除键盘中断请求(写ACKK位为1)。 4. 打开键盘中断(清除IMASKK位为0)。 在中断子程序的编写中,需要注意入口和出口参数的处理,通常这些参数可能包含键值信息。示例代码中展示了如何设置相关寄存器的位,如BSET和BCLR指令用于设置或清除指定位,而MOV指令用于移动数据到寄存器。 单片机的发展历程也在此提及,从早期的ENIAC到Intel的首款MCU 4004,再到各种不同厂商的8位和16位微处理器,如Intel的MCS-51系列、摩托罗拉的MC6801系列。特别指出,Freescale(摩托罗拉的单片机部门)在2004年被收购,成为全球市场份额第二大的单片机供应商。此外,还提到了其他著名单片机品牌,如Atmel的AVR和Microchip的PIC系列,它们都是基于8051内核的优化版本,具有不同的性能特点和市场定位。 本文结合了Freescale单片机的键盘编程实践和单片机的历史发展,为读者提供了丰富的背景知识和技术指导。