Logo

郎哥编程

第六讲:从简单计算器到计算机系统

2025-11-08 24

欢迎大家来到计算机基础训练营,今天我们来探讨计算机硬件系统,我们首先来分析四则计算器的构成,通过四则计算器来认识计算机的硬件系统。

一、计算器基本结构

 

上图是四则计算器构成图,从图中可以看出,计算器主要由数码显示器(数码管)、键盘、单片机(单片机具有微型计算机系统的功能)构成,这款计算器采用AT89C51单片机。

键盘是计算器主要的输入设备,用于输入数字和运算符,输入的数字和运算符存储到单片机的存储器中,AT89C51单片机配置4K字节的可存储器,可以存储数据和程序。

键盘为4 X 4矩阵键盘,提供了数字、运算符、清零键16个按键,键盘的接线如下图所示。

图的右侧是AT89C51单片机引脚结构图,其中P1.0 ~P1.7引脚是单片机8位双向IO口,可以与输入或输出设备连接,作为单片机与外部设备的接口。图的左侧是键盘连接图,键盘的行和列之间都有公共端相连,8个公共端分别对接单片机的P1.0 ~P1.7。

1、键盘编码

键盘编码是这样考虑的,键盘中的每个按键就是一个开关,开关正常状态为断开状态,其状态可以设置为0,开关按下后,为闭合状态,其状态可以设置为1。假定键盘所有的按键都为断开状态,即其状态值为0,且每次只能按下一个按键,如果按下多个键,则只识别第一个键,其它按键被忽略。

键盘按键为4行4列,设定按键1为第1行第1列,按键2为第1行第2列。。。。。。按键4为第2行第1列,依次类推。其按键编码规则为:取该按键所在行数的按键状态值为高4位,取该按键所在列数的按键状态值为低4位,组成8位编码,编码时该按键状态值为1(对应其按下状态),其它按键状态值为0。例如:按键1的编码为1000 1000,按键2的编码为0100 1000,按键9的编码为0010 0010。

2、键盘程序

现在已经完成了键盘的接线和按键编码,还需要编写一个键盘输入程序在单片机内运行,负责键盘的输入。键盘输入程序需要定时扫描P1口,即P1.0 ~P1.7引脚,当有按键被按下时,获取按键编码,将按键编码转换为数字或运算符。键盘输入程序流程图如下所示。

键盘输入程序写入计算器的ROM存储器,计算器启动后从ROM存储器读入计算器主程序,主程序每隔20ms调用一次键盘扫描程序,读取单片机P1.0 ~P1.7口,获取键盘按键状态(键盘编码),从编码表中查找相对应的数字或运算符,存入存储器,等待主程序下次调用。

3、8位数码管

计算器的输出设备是8位的数码管,用于显示输入的字符和计算结果,该数码管可以显示8位数字,当前采用了前4位,可以显示4位数字,分别连接单片机的P2.0 ~P2.3。P2口也是单片机8位双向IO口。

要驱动数码管工作,需要编写显示程序,显示程序流程图如下。

显示程序也要放置到单片机ROM存储器,由主程序调用,用于显示输入的数字或计算结果。

二、计算机基本组成

单片机是计算器的核心,驱动输入和输出设备工作、存储数据、数据计算都在单片机内完成。它包括运算器、控制器、存储器三大部分。其工作原理如下图所示。

控制器是单片机(计算机)的管理机构和指挥中心,它通过对存储于存储器的程序代码或指令的解释,不断向运算器、存储器、输入和输出设备发出有关的操作命令。例如:在某个时刻,某种条件下从存储器的指定地址读取数据并输出到输出设备上;在某个时刻,某种条件下从输入设备上读取数据并按指定的地址存储到存储器中。

运算器是执行算术运算和逻辑运算的部件,计算器的加减乘除等操作都在控制器控制下,由运算器完成。

存储器是存放程序和数据的部件,AT89C51提供了4K字节的ROM存储器,128个字节的RAM存储器。计算器主程序、键盘输入程序、数码管显示程序都固化到ROM存储器内,RAM存储器主要存储用户输入的数字、运算符和计算结果。

计算器主程序把键盘输入程序、数码管显示程序、计算程序连成一个整体,使整个程序循环运行。主程序运行后,循环调用键盘扫描子程序,有键盘按下时,判读输入的数字还是运算符,如果是数字,存入存储器,调用显示程序显示输入的数字;如果是运算符,存入存储器,不显示运算符,等待运算符后面的数据录入;如果是等号,从存储器取出数据和运算符进行运算,并调用显示程序显示计算结果。主程序流程如下图所示。

二、计算机硬件系统

当前计算机硬件结构基本还是遵循冯·诺依曼计算机结构,下图是冯·诺依曼计算机结构图。

从图中可以看出,冯·诺依曼计算机结构和单片机的结构基本相同,计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。运算器、存储器、控制器一般都集成到一个芯片内,该芯片也称为CPU。

完整的计算机系统需要具备如下功能:把需要的程序和数据送至计算机中。必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。能够按照要求将处理结果输出给用户。

输入设备

鼠标、键盘是计算机最常见的输入设备。其它输入设备还有摄像头、麦克风等。

输出设备

显示器、打印机是计算机最常见的输出设备。其它输出设备有投影仪等。

存储器

计算机存储器分为内存储器和外存储器。内存储器简称内存,内存又分为ROM只读存储器和RAM随机存储,计算机的引导程序被固化到ROM只读存储器,RAM随机存储主要用于存储运行中的程序和数据,具有断电后数据丢失的特性,通常人们讨论的内存条,是指RAM随机存储。

显卡

显卡接在计算机主板上,将计算机输出的数字信号转换成模拟信号让显示器显示出来。早期的显示器是VGA接口,显卡需要输出模拟信号, 当前主流显示器是DVI接口,显卡直接输出数字信号就可以。显卡分为集成显卡和独立显卡。集成显卡是将显示芯片、显存、及其相关电路都集成在主板上,显示和图像处理性能一般,不用花费额外的资金购买显卡。独立显卡是将显示芯片、显存及其相关电路单独做在一块电路板上,作为独立的板卡,它需要占用主板的扩展插槽(一般是PCI插槽)。显示和图像处理性能高于集成显卡,需要额外购买。

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论