1、简易计算器系统设计郑州航空工业管理学院微机原理课程设计说明书 2015 级 电气工程及其自动化S 专业 班级题 目 姓 名 学号 指导教师 2015 年 12 月 日摘 要随着经济的发展,不断推动着科技的发展,而科技的发展又带动了电子行业,各种各样的电子产品纷纷涌出。计算器作为日常生活中常使用的电子产品之一,它的功能化、小型化、轻便化已成为未来智能化计算器的发展方向。本设计是基于AT89S52单片机进行的简易计算器系统设计,P1口作为输入端,外接4*4矩阵式键盘,通过在4*4矩阵式键盘输入,进行加、减、乘、除简单运算,实现-2147483647到+2147483647的结果运算,并且在P0口上
2、的LCD1602液晶显示器显示相应的计算结果。【关键词】AT89S52、4*4矩阵式键盘、LCD1602、计算器2 系统分析2.1硬件部分单片机工作在单任务状态,时间充裕,速度不是主要矛盾,所以用软件实现数字和符号的输入以及计算功能,以减少硬件开销。接口用硬件实现。具体器件的名称和特点如下表所示:表2-1 硬件选择比较 L E D L C DLED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。LED与LCD的功耗比大约为10:1,LED的最显著特点是使用寿命长,光电转换效能高,绿色环保LCD占用空间小,低功耗,低辐射,能降低视觉疲劳,但是会出现闪烁问题 8
3、279芯片 8255A芯片8279芯片可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定,程序简单,不会出现误动作等8255芯片是可编程的并行接口芯片,不需要附加外部电路便可和大多数并行传输数据的外部设备相连,数据的各位同时传送,使用十分方便 十六进制小键盘 二进制开关键盘(Keyboard)是常用的输入设备,它是由一组开关矩阵组成,结构相对复杂,与8279A配套使用二进制逻辑开关一位表示一个二进制数,对于本实验每一位数需要多次拨动八位开关,使实验复杂了许多通过以上分析,本次设计所选用的芯片为:8279A芯片、LED发光二极管、十六进制小键盘。由于8279A的输出电流与LED不匹
4、配的问题,需要驱动电流,本实验中选择74LS240。2.1.1 8279A2.1.1.1 8279A在本设计中的作用 在本设计中用8279A芯片控制键盘输入和LED显示。2.1.1.2 8279A的功能分析1、8279A主要特性8279A芯片是一种通用的可编程序的键盘/显示接口器件,单个芯片就能完成键盘输入和LED显示控制两种功能。可与任何8位机接口。8279A芯片包括键盘输入和显示输出两个部分。若采用8279作为键盘/显示器接口,则可以实现对键盘、显示器自动扫描,8279主要是管理键盘输入和显示器输出的。8279可编程键盘显示器接口芯片具有动态显示驱动电路简单、不占用CPU 的时间、可自动进
5、行键盘扫描、与计算机接口方便、编程容易、系统灵活等特点当今已成为设计计算机应用系统,特别是实时性较高的测控系统的首选器件之一。2、8279A的内部结构图2-1 8279A的内部结构图中,IRQ:中断请求输出线,DB0DB7:双向数据总路线(传送命令、数据、状态),、:读写控制输入端,RESET:复位输入端,CLK:时钟输入端,:片选,C和/D(A0):片内寄存器选址,OUTA0A1、OUTB0B3:8位显示输出端,:熄灭显示输出端,SL0SL3:公用扫描输出线,RL0RL7:键盘回馈输入线,SHIFT:抵挡键输入线,CNTL/STB:控制/选通输入线。另外,8279的键盘接口部分内部有一个88
6、位先进先出的堆栈(FIFO),用来存放键盘输入代码,显示器接口部分内部有一个168位显示RAM,用来显示段数据,能为16位LED显示器(或其它显示器)提供多路扫描接口。3、8279A的引脚信号和功能8279可编程键盘显示器接口芯片具有动态显示驱动电路,不占用CPU 的时间、可自动进行键盘扫描、与计算机接口方便、编程容易、系统灵活等特点。 8279 是可编程的键盘/显示接口芯片。它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘 FIFO (先进先出堆栈)/传感器,双重功能的 88=64B RAM,键盘控制部分可控制 88=64 个按键或 88 阵列方式的传感
7、器。该芯片能自动消抖并具有双键锁定保护功能。显示 RAM容量为 168,即显示器最大配置可达 16 位 LED数码显示。4、8279的命令字及其格式 8279有三种工作方式:键盘工作方式、显示工作方式和传感器工作方式。键盘工作方式:双键互锁和N键轮回。双键互锁是指当有两个以上按键同时按下时,只能识别最后一个被释放的按键,并把其键值送入内部FIFO RAM中。N键轮回是指当有多个按键同时按下时,所有按键的键值均可按扫描顺序依次存入FIFO RAM中。显示工作方式:是指CPU输入至8279内部FIFO RAM的数据的输出格式,有8个字符左端入口显示、16个字符左端入口显示、8个字符右端入口显示、1
8、6个字符右端入口显示四种方式。传感器方式:是指扫描传感器阵列时,一旦发现传感器的状态发生变化就置位INT向CPU申请中断。选择不同的工作方式均是通过CPU对8279送入命令来进行控制。8279共有8种命令,命令寄存器为8位,其中D7D5为命令特征位,D4D0为命令的控制位。CPU对8279写入的命令数据为命令字,读出的数据为状态字。8279共有八条命令,其功能及命令字格式分述如下。(1)键盘/显示方式设置命令字命令格式: D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 D D K K K其中:D7、D6、D5=000为方式设置命令特征位。DD(D4、D3):用来设定显示方式,如表2
9、-2所示。表2-2 显示方式选择D4D3显示方式008个字符显示,左端入口0116个字符显示,左端入口108个字符显示,右端入口1016个字符显示,右入口所谓左入口 ,即显示位置从最左一位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列;所谓右入口,则是显示位置从最右一位(最低位)开始,以后逐次输入显示字符时,已有的显示字符依次向左移动。KKK(D2、D1、D0):用来设定七种键盘/显示扫描方式,如表2-3所示。表2-3 键盘/显示扫描方式D2D1D0键盘/显示扫描方式000编码扫描键盘,双键锁定001译码扫描键盘,双键锁定010编码扫描键盘,N键轮回011译码扫描键盘,N键轮回100编
10、码扫描传感器矩阵101译码扫描传感器矩阵110选通输入,编码显示扫描111选通输入,译码显示扫描(2)时钟编程命令命令格式: D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 P P P P P其中:D7、D6、D5=001为时钟命令特征位。PPPPP(D4、D3、D2、D1、D0)用来设定外部输入CLK时钟脉冲的分频系数N。N取值范围为231。如CLK输入时钟频率为2MHZ,PPPPP应被置为10100(N=20),才可获得8279内部要求的100KHZ的时钟频率。(3)读FIFO/传感器RAM命令命令格式: D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 AI X A
11、 A A其中:D7、D6、D5=010为读FIFO/传感器RAM命令特征位。该命令字只在传感器方式时使用。在CPU读传感器RAM之前,必须用这条命令来设定所读传感器RAM中的地址。AAA(D2、D1、D0)为传感器RAM中的八个字节地址。AI(D4)为自动增量特征位。当AI=1时,每次读出传感器RAM后地址自动加1使地址指向下一个存储单元。这样,下一个数据便从下一个地址读出,而不必重新设置读FIFO/传感器RAM命令。在键盘工作方式中,由于读出操作严格按照先入先出顺序,因此,不需使用这条命令。(4)读显示RAM命令命令格式: D7 D6 D5 D4 D3 D2 D1 D0 0 1 1 AI A
12、 A A A其中:D7、D6、D5=011为读显示RAM命令字的特征位。该命令字用来设定将要读出的显示RAM地址。AAAA(D3、D2、D1、D0)用来寻址显示RAM中的存储单元。由于位显示RAM中有16个字节单元,故需要4位寻址。AI(D4)为自动增量特征位。AI=1时,每次读出后地址自动加1,指向下一地址。(5)写显示RAM命令命令格式: D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 AI A A A A其中:D7、D6、D5=100为写显示RAM命令字的特征位。在写显示RAM之前用这个命令字来设定将要写入的显示RAM地址。AAAA(D3、D2、D1、D0)为将要写入的显示R
13、AM中的存储单元地址。AI(D4)为自动增量特征位。AI=1时,每次写入后地址自动加1,指向下一次写入地址。(6)显示禁止写入/消隐命令命令格式: D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 X IW/A IW/B BL/A BL/B其中:D7、D6、D5=101为显示禁止写入/消隐命令特征位。IW/A、IW/ B(D3、D2)为A、B组显示RAM写入屏蔽位。当A组的屏蔽位D3=1时,A组的显示RAM禁止写入。因此,从CPU写入显示器RAM数据时,不会影响A的显示。这种情况通常在采用双4位显示器时使用。因为两个四位显示器是相互独立的。为了给其中一个四位显示器输入数据而又不影响另
14、一个四位显示器,因此必须对另一组的输入实行屏蔽。BL/A、BL/ B(D1、D0)为消隐设置位。用于对两组显示输出消隐。若BL=1,对应组的显示输出被消隐。当BL=0,则恢复显示。(7)清除命令命令格式: D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 CD CD CD CF CA 其中:D7、D6、D5=110为清除命令特征位。清除显示RAM方式如表2-4所示。表2-4 显示RAM清除方式D4D3D2清除方式10将全部显示RAM清为00H110将全部显示RAM置为20H,A组输出0010,B组输出0000111将全部显示RAM置为FFH0D0=0不清除,D0=1按上述方法清除CF
15、(D1)用来置空FIFO存储器,当CF=1时,执行清除命令后,FIFO RAM被置空,使INT输出线复位。同时,传感器RAM的读出地址也被置为0。CA (D0)为总清的特征位。它兼有CD和CF的联合效能。在CF =1时,对显示的清除方式由D3、D2的编码决定。显示RAM清除时间约需160us。在此期间状态字的最高位Du=1,表示显示无效。CPU不能向显示RAM写入数据。(8)结束中断/错误方式设置命令命令格式: D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 E X X X X其中:D7、D6、D5=111为该命令的特征位。此命令有两种不同的作用。作为结束中断命令。在传感器工作方式中使用。每当传感器状态出现变化时,扫描检测电路就将其状态写入传感器RAM,并启动中断逻
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1