当前位置:文档之家› 8279实现的两位数加减乘除计算器

8279实现的两位数加减乘除计算器

中国矿业大学计算机科学与技术学院硬件课程设计报告专业:计算机科学与技术班级:计算机10级02班设计题目:简单计算器成员:刘伟李伟大张伟指导教师:周杰伦职称:副教授2012年1月12日简单计算器目录1.设计任务与要求………………………….2. 8279可编程设置型键盘/显器介绍………1 8279特点………………………………………………………………..2 8279引脚说明……………………………………………………………3 8279结构…………………………………………………………………..4 8279的控制字………………………………………………………………3.硬件连接及初级设计说明……………1 硬件连接……………………………………………………………………2 计算功能…………………………………………………………………..3 输入功能…………………………………………………………………4 三个模块…………………………………………………………………..5 LED发光显示…………………………………………………………….4.程序流程图…………………………………1 键盘读数流程图……………………………………………………………..2 程序处理流程图……………………………………………………………..3 显示程序流程图……………………………………………………………..4 计算过程流程图………………………………………………………………5 总程序流程图………………………………………………………………..5.程序设计…………………………………..1 代码…………………………………………………………………………6.收获与会…………………………………..7.参考文献……………………………………硬件课程设计总体报告选题:电子计算器1.设计任务与要求1.1设计概况1设计人员:2设计目标:通过汇编语言编程,再利用硬件课程实验箱实现计算器功能。

包括带符号的两位数的加减乘除运算。

3主要工具:硬件课程设计实验箱(8279),HK88TE软件等。

4设计思路:了解设计软件,学习8279的各个方面的知识,了解硬件课程设计试验箱,编写代码,联机,实现计算器,调试,总结。

5学习交流1.2设计需求分析1计算器基本功能为:1具有加、减、乘、整除的基本计算功能;2完成两位数运算3能够显示按下的数字及计算结果,运算数和结果应小于255;4应用模块化程序设计的思想,计算及排错功能的实现由计算程序模块实现,显示按下的数字和结果由键盘录入程序模块和显示程序模块实现,各个模块由主程序联系在一起。

5实现简单报错功能,包括数据溢出报错、不符合计算逻辑报错、输入报错,除法报错;6能够完成负数运算。

2特殊说明2.2.1该计算器只针对两位整数设计,并且不能显示算式,不支持连续输入,对于除法运算,只取整除商和余数,不显示小数。

2.2.2.使用人员需了解一定的汇编知识。

1.3设计任务与要求利用芯片8279控制键盘和LED,对每一次的键盘输入检查其对应的字符并作出相应操作,其结果体现在LED。

比如:用户输入连续数字时,按用户输入的顺序依次显示在LED上;当用户输入加法操作时,LED不变化;当用户再输入第二个数时,再次依次体现在LED上;按“等于号”时其运算结果显示在LED上。

其操作过程与体验与现在普遍使用的计算器相同。

2. 8279可编程设置型键盘/显器介绍1.1 1. 8279特点(1)可同时进行键盘扫描及文字显示;(2)键盘扫描模式(Scanned Keyboard Mode);(3)传感器扫描模式(Scanned Sensor Mode);(4)激发输入模式(Strobe Input Entry Mode);(5)8乘8键盘FIFO(先进先出);(6)具有接点消除抖动,2键锁定及N键依此读出模式;(7)双排8位数或双排16位数的显示器;(8)右边进入或左边进入。

16位字节显示存储器。

1.22. 8279引脚说明<1>DB0~DB7:双向数据总线。

在CPU与8279间做数据与命令传送。

<2>CLK:8279的系统时钟,100KHz为最佳选择。

<3>RESET:复位输入线。

输入HI时可复位8279。

<4>CS:芯片选择信号线。

当这个输入引脚为低电平时,可将命令写入8279或读取8279的数据。

<5>A0:缓冲器地址选择线。

A0=0时,读写一般数据;A0=1时,读取状态标志位或写入命令。

<6>RD:读取控制线。

RD=0时,8279输送数据到外部总线。

<7>WR:写入控制线。

WR=0时,8279从外部总线接收数据。

<8>IRQ:中断请求。

平常IRQ为LO,在键盘模式下,每次读取FIFO/SENSOR RAM的数据时,IRQ变为HI,读取后转为LO;在传感器模式下,只要传感器一有变化,就会使IRQ变为HI,读取后转为LO。

<9>SL0~SL3:扫描按键开关或传感器矩阵及显示器,可以是编码模式(16对1)或解码模式(4对1)。

<10>RL0~RL7:键盘/传感器的返回线。

无按键被按时,返回线为HI;有按键被按时,该按键的返回线为LO。

在激发输入模式时,为8位的数据输入。

<11>SHIFT:在键盘扫描模式时,引脚的输入状态会与其它按键的状态一同储存(在BIT6),内部有上拉电阻,未按时为HI,按时为LO。

<12>CNTL/STB:在键盘扫描模式时,引脚的输入状态会与SHIFT以及其它按键的状态同一储存,内部有上拉电阻,未按时为HI,按时为LO。

在激发输入模式时,作为返回线8位数据的使能引脚。

<13>OUTA0~OUTA3:动态扫描显示的输出口(高4位)。

<14>OUTB0~OUTB3:动态扫描显示的输出口(低4位)。

<15>BD:消隐输出线。

1.3 3. 8279结构I/O 控制和数据缓冲器双向的三态数据缓冲器将内部总线和外部总线DB0~7相连,用于传送CPU 和8279之间的命令、数据和状态。

控制逻辑控制与定时寄存器用以寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。

定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100kHz 的内部定时信号。

外部时钟输入信号周期不小于500ns 。

扫描计数器扫描计数器有两种输出方式。

一种为外部译码方式,计数器以二进制方式计数。

4位计数状态从扫描线SL0~SL3输出,经外部译码器译码出16位扫描线;另一种是扫描计数器的低二位译码后从SL0~SL3输出。

注意:当采用译码输出时,显示只能显示低四位字符。

键输入控制这个部件完成对键盘的自动扫描,锁存RL0~RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO )的RAM 存储器。

FIFO/传感器RAM 和显示RAM8279具有8个先进先出的键输入缓冲器,并提供16个字节的显示数据缓冲器。

CPU 将段数据写入显示缓冲器,8279自动对显示器扫描,将其内部显示缓冲器中的数据在显示器上显示出来。

移 位/选通RL 7~0 SL 4~0BDOUTA 3~0, OUTB 3~0芯片接口控制逻辑实现8279和单片机接口的内容归纳为芯片接口控制逻辑,主要包括:数据缓冲器I/O控制电路中断请求产生电路键盘接口控制逻辑按功能分为以下几个部分:扫描电路扫描回送电路去抖动及键码生成电路键盘存储区FIFO RAM时序和控制逻辑1.4 8279的控制字8279共有8条命令字,其格式与功能如下:(1)键盘/显示方式设置命令:D7、D6D4、D3为显示方式设定位,共有以下四种显示方式,见下表:表6-5 8279显示方式D2、D1、D0为键盘/显示工作方式设定位,共有以下7种工作方式见下表:表6-6 8279键盘/显示工作方式(2)时钟编程命令:时钟编程命令字格式及功能说明如下:D7、D6、D5为001,是时钟编程命令特征位。

D4、D3、D2、D1、D0用于设定对CLK输入端输入的外部时钟信号进行分频的分频系数N。

若外部时钟频率为2MHz,PPPPP被设置为10100(N=20),即可产生8279内部要求的100KHz基本时钟信号。

(3)读FIFO/传感器RAM命令:读FIFO/传感器RAM命令字格式及功能说明如下:D7、D6、D5为010,是读FIFO/传感器RAM命令特征位。

D4(AI)为自动递增设定位。

当该位为0时,每次读完传感器RAM的数据后地址不变;当该位为1时,每次读完传感器RAM的数据后地址自动加1,下一个数据便从下一个地址读出,不必重新设置读FIFO/传感器RAM命令。

D2、D1、D0为FIFO/传感器RAM地址。

(4D7、D6、D5为011,是读显示RAM命令特征位。

D4(AI)为自动递增设定位。

该位为1时,每次读数后地址自动加1。

D3、D2、D1、D0为显示RAM的存储单元地址。

(5)写显示RAM命令:该命令字格式及功能说明如下:D7、D6、D5为100,是写显示RAM命令特征位。

D4(AI)为自动递增设定位。

该位为1时,每次写入数据后地址自动加1。

D3、D2、D1、D0为待写入显示RAM的存储单元地址。

(6D7、D6、D5为101,是显示禁止写入/消隐命令特征位。

D3、D2为A、B组显示RAM写入屏蔽位。

当D3=1时,A组的显示RAM禁止写入,从CPU写入显示RAM数据时,不会影响A的显示,这种情况通常用于双4位显示器。

当D2=1时,可屏蔽B组显示器。

D1、D0为A、B组的消隐设置位。

D1(或D0)为1,则对应的A(或B)组显示输出熄灭,该位为0,则显示恢复。

(7D7、D6D4、D3、D2为清除显示RAM方式设定位,工作方式见表6-7。

表6-7 清除方式设定D0为总清除设定位。

该位为1时,清除全部显示器RAM及FIFO RAM。

(8D7、D6、D5为111,是结束中断/出错方式设置命令的特征位。

D4为1时,N键轮回工作方式可工作得特殊出错方式(多个键同时按下);对传感器工作方式,此命令使IRQ变低,结束中断,并允许对RAM进一步写入。

(五)8279状态字8279的FIFO状态字主要用于键盘和选通工作方式,以指示数据缓冲器FIFO/传感器RAMD7示RAM操作无效。

D6为传感器信号结束/错误位。

在传感器工作方式时,S/E=1表示传感器的最后一个信号已进入传感器RAM;在特殊错误方式中,D6=1表示出现了多键同时按下错误。

该位在执行CF=1的清除命令时被复位。

相关主题