您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 简易计算器系统设计1
徐州工程学院微机原理与接口技术课程设计(报告)题目__________________________________指导教师__________________________学生姓名__________________________学生学号_______________________________________________院(部)____________________________专业________________班____2012__年___月_18~29_日简易计算器系统设计信电工程学院计算机科学与技术09软件1611设计任务与要求1.1课题:设计一个可以进行2位数的四则运算的计算器。1.2要求:(1)键输入数和运算符号;(2)LED显示运算过程和结果(十进制数);(3)表示出当前的运算类型;(4)具有清零和复位功能;(5)具有连续运算功能。22系统分析2.1硬件部分单片机工作在单任务状态,时间充裕,速度不是主要矛盾,所以用软件实现数字和符号的输入以及计算功能,以减少硬件开销。接口用硬件实现。具体器件的名称和特点如下表所示:表2-1硬件选择比较LEDLCDLED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。LED与LCD的功耗比大约为10:1,LED的最显著特点是使用寿命长,光电转换效能高,绿色环保LCD占用空间小,低功耗,低辐射,能降低视觉疲劳,但是会出现闪烁问题8279芯片8255A芯片8279芯片可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定,程序简单,不会出现误动作等8255芯片是可编程的并行接口芯片,不需要附加外部电路便可和大多数并行传输数据的外部设备相连,数据的各位同时传送,使用十分方便十六进制小键盘二进制开关键盘(Keyboard)是常用的输入设备,它是由一组开关矩阵组成,结构相对复杂,与8279A配套使用二进制逻辑开关一位表示一个二进制数,对于本实验每一位数需要多次拨动八位开关,使实验复杂了许多通过以上分析,本次设计所选用的芯片为:8279A芯片、LED发光二极管、十六进制小键盘。由于8279A的输出电流与LED不匹配的问题,需要驱动电流,本实验中选择74LS240。2.1.18279A2.1.1.18279A在本设计中的作用在本设计中用8279A芯片控制键盘输入和LED显示。2.1.1.28279A的功能分析1、8279A主要特性8279A芯片是一种通用的可编程序的键盘/显示接口器件,单个芯片就能完成键盘输入和LED显示控制两种功能。可与任何8位机接口。8279A芯片包括键盘输入和显示输出两个部分。若采用8279作为键盘/显示器接口,则可以实现对键盘、显示器自动扫描,8279主要是管理键盘输入和显示器输出的。8279可编程键盘3显示器接口芯片具有动态显示驱动电路简单、不占用CPU的时间、可自动进行键盘扫描、与计算机接口方便、编程容易、系统灵活等特点.当今已成为设计计算机应用系统,特别是实时性较高的测控系统的首选器件之一。2、8279A的内部结构DB0~DB7VCCGND命令寄存器组显示RAMFIFORAMOUTB0~OUTB3OUTA0~OUTA3SL0~SL3RL0~RL7SHIFTCNTL/STBIRQRESETCLKC和RDBDWRCSD图2-18279A的内部结构图中,IRQ:中断请求输出线,DB0~DB7:双向数据总路线(传送命令、数据、状态),、:读写控制输入端,RESET:复位输入端,CLK:时钟输入端,:片选,C和/D(A0):片内寄存器选址,OUTA0~A1、OUTB0~B3:8位显示输出端,:熄灭显示输出端,SL0~SL3:公用扫描输出线,RL0~RL7:键盘回馈输入线,SHIFT:抵挡键输入线,CNTL/STB:控制/选通输入线。另外,8279的键盘接口部分内部有一个8×8位先进先出的堆栈(FIFO),用来存放键盘输入代码,显示器接口部分内部有一个16×8位显示RAM,用来显示段数据,能为16位LED显示器(或其它显示器)提供多路扫描接口。3、8279A的引脚信号和功能8279可编程键盘显示器接口芯片具有动态显示驱动电路,不占用CPU的时间、可自动进行键盘扫描、与计算机接口方便、编程容易、系统灵活等特点。8279是可编程的键盘/显示接口芯片。它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8×8=64BRAM,键盘控制部分可控制8×8=64个按键或8×8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16×8,即显示器最大配置可达16位LED数码显示。4、8279的命令字及其格式8279有三种工作方式:键盘工作方式、显示工作方式和传感器工作方式。键盘工作方式:双键互锁和N键轮回。双键互锁是指当有两个以上按键同时按下时,只能识别最后一个被释放的按键,并把其键值送入内部FIFORAM中。N键轮回是指当有多个按键同时按下时,所有按键的键值均可按扫描顺序依次存入FIFORAM中。显示工作方式:是指CPU输入至8279内部FIFORAM的数据的输出格式,有8个字符左端入口显示、16个字符左端入口显示、8个字符右端入口显示、16个字符右端入口显示四种方式。传感器方式:是指扫描传感器阵列时,一旦发现传感器的状态发生变化就置位INT向CPU申请中断。4选择不同的工作方式均是通过CPU对8279送入命令来进行控制。8279共有8种命令,命令寄存器为8位,其中D7~D5为命令特征位,D4~D0为命令的控制位。CPU对8279写入的命令数据为命令字,读出的数据为状态字。8279共有八条命令,其功能及命令字格式分述如下。(1)键盘/显示方式设置命令字命令格式:D7D6D5D4D3D2D1D0000DDKKK其中:D7、D6、D5=000为方式设置命令特征位。DD(D4、D3):用来设定显示方式,如表2-2所示。D4D3显示方式008个字符显示,左端入口0116个字符显示,左端入口108个字符显示,右端入口1016个字符显示,右入口表2-2显示方式选择所谓左入口,即显示位置从最左一位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列;所谓右入口,则是显示位置从最右一位(最低位)开始,以后逐次输入显示字符时,已有的显示字符依次向左移动。KKK(D2、D1、D0):用来设定七种键盘/显示扫描方式,如表2-3所示。D2D1D0键盘/显示扫描方式000编码扫描键盘,双键锁定001译码扫描键盘,双键锁定010编码扫描键盘,N键轮回011译码扫描键盘,N键轮回100编码扫描传感器矩阵101译码扫描传感器矩阵110选通输入,编码显示扫描111选通输入,译码显示扫描表2-3键盘/显示扫描方式(2)时钟编程命令命令格式:D7D6D5D4D3D2D1D0001PPPPP其中:D7、D6、D5=001为时钟命令特征位。PPPPP(D4、D3、D2、D1、D0)用来设定外部输入CLK时钟脉冲的分频系数N。N取值范围为2~31。如CLK输入时钟频率为2MHZ,PPPPP应被置为10100(N=20),才可获得8279内部要求的100KHZ的时钟频率。(3)读FIFO/传感器RAM命令命令格式:D7D6D5D4D3D2D1D0010AIXAAA其中:D7、D6、D5=010为读FIFO/传感器RAM命令特征位。该命令字只在传感器5方式时使用。在CPU读传感器RAM之前,必须用这条命令来设定所读传感器RAM中的地址。AAA(D2、D1、D0)为传感器RAM中的八个字节地址。AI(D4)为自动增量特征位。当AI=1时,每次读出传感器RAM后地址自动加1使地址指向下一个存储单元。这样,下一个数据便从下一个地址读出,而不必重新设置读FIFO/传感器RAM命令。在键盘工作方式中,由于读出操作严格按照先入先出顺序,因此,不需使用这条命令。(4)读显示RAM命令命令格式:D7D6D5D4D3D2D1D0011AIAAAA其中:D7、D6、D5=011为读显示RAM命令字的特征位。该命令字用来设定将要读出的显示RAM地址。AAAA(D3、D2、D1、D0)用来寻址显示RAM中的存储单元。由于位显示RAM中有16个字节单元,故需要4位寻址。AI(D4)为自动增量特征位。AI=1时,每次读出后地址自动加1,指向下一地址。(5)写显示RAM命令命令格式:D7D6D5D4D3D2D1D0100AIAAAA其中:D7、D6、D5=100为写显示RAM命令字的特征位。在写显示RAM之前用这个命令字来设定将要写入的显示RAM地址。AAAA(D3、D2、D1、D0)为将要写入的显示RAM中的存储单元地址。AI(D4)为自动增量特征位。AI=1时,每次写入后地址自动加1,指向下一次写入地址。(6)显示禁止写入/消隐命令命令格式:D7D6D5D4D3D2D1D0101XIW/AIW/BBL/ABL/B其中:D7、D6、D5=101为显示禁止写入/消隐命令特征位。IW/A、IW/B(D3、D2)为A、B组显示RAM写入屏蔽位。当A组的屏蔽位D3=1时,A组的显示RAM禁止写入。因此,从CPU写入显示器RAM数据时,不会影响A的显示。这种情况通常在采用双4位显示器时使用。因为两个四位显示器是相互独立的。为了给其中一个四位显示器输入数据而又不影响另一个四位显示器,因此必须对另一组的输入实行屏蔽。BL/A、BL/B(D1、D0)为消隐设置位。用于对两组显示输出消隐。若BL=1,对应组的显示输出被消隐。当BL=0,则恢复显示。(7)清除命令命令格式:D7D6D5D4D3D2D1D0110CDCDCDCFCA其中:D7、D6、D5=110为清除命令特征位。清除显示RAM方式如表2-4所示。DDD清除方式643210×将全部显示RAM清为00H110将全部显示RAM置为20H,A组输出0010,B组输出0000111将全部显示RAM置为FFH0××D0=0不清除,D0=1按上述方法清除表2-4显示RAM清除方式CF(D1)用来置空FIFO存储器,当CF=1时,执行清除命令后,FIFORAM被置空,使INT输出线复位。同时,传感器RAM的读出地址也被置为0。CA(D0)为总清的特征位。它兼有CD和CF的联合效能。在CF=1时,对显示的清除方式由D3、D2的编码决定。显示RAM清除时间约需160us。在此期间状态字的最高位Du=1,表示显示无效。CPU不能向显示RAM写入数据。(8)结束中断/错误方式设置命令命令格式:D7D6D5D4D3D2D1D0111EXXXX其中:D7、D6、D5=111为该命令的特征位。此命令有两种不同的作用。①作为结束中断命令。在传感器工作方式中使用。每当传感器状态出现变化时,扫描检测电路就将其状态写入传感器RAM,并启动中断逻辑,使INT变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址的自动递增特性没有置位(AI=0),则中断请求INT在CPU第一次从传感器RAM读出数据时就被清除。若自动递增特征已置位(AI=1),则CPU对传感器RAM的读出并不能清除INT,而必须通过给8279写入结束中断/错误方式设置命令才能使INT变低。因此,在传感器工作方式中,此命令用来结束传感器RAM的中断请求。②作为特定错误方式设置命令。在8279已被设定为键盘扫描N键轮回方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(E=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消抖周期内,如果发现多个按键同时按下,则FIFO状态字中的错误特征位S/E将置1,并产生中断请求信号和禁止写入FIFORAM。上述八种用于确定8279操作方式的命令字皆由D7D6D5特征位确定,输入8279后能自动寻址相应的命令寄存器。因此,写入命令字时唯一的要求是使数据选择信号A0=1。5、8279的状态字及其格式8279的FIFO状态
本文标题:简易计算器系统设计1
链接地址:https://www.777doc.com/doc-4940424 .html