### 8279键盘显示实验相关知识点 #### 一、8279芯片简介 8279是一款专门用于处理键盘输入和显示器输出的专用集成电路(IC)。它能够简化微处理器系统中键盘扫描和LED显示器驱动的部分。该芯片通过减少主CPU在处理这些任务时所需的干预次数来提高系统的整体效率。 **主要特性:** - **单±5V电源供电**:简单且易于集成。 - **40脚封装**:提供了足够的接口以支持多种应用需求。 - **双向数据总线(DB0~DB7)**:用于与外部CPU之间传输数据和命令。 - **CLK**: 时钟输入线,用于产生内部定时的时钟脉冲。 - **RESET**: 复位输入线,在复位后被设置为字符显示左端输入,并启用二键闭锁触点回弹模式。 - **CS**: 片选输入线,低电平有效,允许单片机进行读/写操作。 - **A0**: 缓冲器低位地址,用于区分数据总线上是命令还是数据。 - **RD**: 读信号输入线,低电平有效,用于读取缓冲器中的数据。 - **WR**: 写信号输入线,低电平有效,用于向8279写入数据。 #### 二、8279键盘显示实验原理及步骤 ##### 实验目的 实现通过8279芯片控制键盘输入和显示器输出的功能,使得用户按下特定按键时,能够在连接到8279的LED显示器上显示出对应的数字或者字符。 ##### 主要内容 代码部分展示了如何利用8279芯片控制键盘和显示功能: 1. **初始化配置**:首先进行8279的初始化配置,包括清除RAM和FIFO、设置工作模式等。 2. **延时函数**:为了确保数据传输的准确性,代码中包含了一个延时函数`delay()`,通过循环实现延时。 3. **键盘扫描和处理**:使用外部中断1进行键盘扫描,当检测到键盘有按键动作时,通过中断服务函数`intsvr1()`获取按键值,并调用`key()`函数进行进一步处理。 4. **显示处理**:根据按键值更新显示内容。每个按键值对应不同的显示结果,通过设置P0口的输出来控制LED显示器上的显示内容。 ##### 实验流程 1. **初始化8279**:设置8279的工作模式,包括清除RAM和FIFO、开启键盘扫描、设置时钟分频等。 2. **键盘输入处理**:编写中断服务程序处理键盘输入事件。 3. **显示输出**:根据按键值更新LED显示器的显示内容。 #### 三、代码解析 ##### 定义宏 ```c #define COM8279 XBYTE[0xF2FF] // 定义8279控制口 #define DATA8279 XBYTE[0xF0FF] // 定义8279数据口 ``` 定义了两个特殊寄存器`COM8279`和`DATA8279`分别用于控制和数据传输。 ##### 延时函数 ```c void delay(uint time) { uchar j; while (time--) { for (j = 100; j > 0; j--) // 用j来进行125次循环, 大约8us } } } ``` 通过嵌套循环实现延时功能,保证了数据传输的稳定性。 ##### 主函数 ```c void main() { delay(1300); // 开机延时 COM8279 = 0xD2; // 清除RAM和FIFO delay(1); EA = 1; EX1 = 1; // 开总中断, 开外部中断1; IT1 = 1; // 外部中断1选用下降沿 COM8279 = 0x00; // 8279键盘双键互锁, 编码扫描,左端入口 COM8279 = 0x12; // 时钟分频设置, 分频数为18 COM8279 = 0x70; // 设置读显示命令 COM8279 = 0x90; // 设置写显示命令 while (1) } ``` 主函数中完成8279芯片的基本初始化,包括清除内部存储器、设置时钟频率、开启外部中断等操作。 ##### 按键处理函数 ```c void key(void) { switch (keyval) { case 0xC3: // 0号键赋值 { P0 = 0x3F; DATA8279 = P0; break; } // 其他按键处理省略... default: break; } } ``` 按键处理函数`key()`中,根据接收到的不同按键值更新P0口的输出,从而控制LED显示器显示对应的字符或数字。 通过以上分析可以看出,该实验通过8279芯片实现了基本的键盘输入和显示器输出功能,对于学习和掌握微控制器与外设之间的交互具有重要的实践意义。
剩余12页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享基于JPEG标准的图像处理及其在MCF5329上的实现很好的技术资料.zip
- 技术资料分享基于FPGA的JPEG解码算法的研究与实现很好的技术资料.zip
- 技术资料分享基于ENC28J60以太网控制器及其应用很好的技术资料.zip
- 技术资料分享基于ENC28J60的嵌入式网络接口的设计很好的技术资料.zip
- 技术资料分享基于ARM的嵌入式静态图像显示系统的研究与实现很好的技术资料.zip
- 技术资料分享关于STM32的IAP总结很好的技术资料.zip
- 技术资料分享高通CAMIF和Ov-sensor-调试总结很好的技术资料.zip
- 技术资料分享二阶RC滤波试验很好的技术资料.zip
- 技术资料分享多核处理器构架的高速JPEG解码算法很好的技术资料.zip
- 技术资料分享第24章 性能和资源占用很好的技术资料.zip