基于51单片机的简易计算器利用AT89C51作为系统主控,借助矩阵键盘作为输入器件,数码管作为显示器件,该系统可通过按键进行数字、操作符的输入,系统支持加、减、乘、除等功能,如果最后结果小于等于0,则系统显示0,当除数为0的时候,结果强制设置为0。
一、硬件设计
1、数码管显示
本次设计利用四位共阴数码管进行显示,使用单独的IO口控制,其中段码的引脚为P0引脚,分别使用P10、P12、P13、P14进行位选,采用扫描的方式进行动态显示,这就要求比较高的实时性,一般情况下使用定时器进行扫描。电路图如下:
2、矩阵按键
本次设计有输入数字、运算符、清除等指令,由于使用到的按键比较多,因此使用矩阵键盘是一个合适的选项,一般来说矩阵按键也是扫描实现,但是矩阵按键IO口占用少,属于是用单片机时间性能换取IO资源。电路图如下:
二、软件设计
1、数码管
定时器扫描数码管的逻辑是利用定时器循环从数码管缓冲区获取数字信息,由于定时器使用中断时间,因此可以有效保证数码管扫描的实时性,在实际使