基于单片机控制的简单计算器设计与仿真(编辑修改稿)内容摘要:
字节可重擦写 Flash 闪速存储器 1000 次擦写周期 全静态操作: 0Hz- 24MHz 三级加密程序存储器 2568 字节内部 RAM 32 个可编程 I/ O 口线 3 个 16 位定时/计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 功能特性概述: AT89C52 提供以下标准功能: 8k 字节 Flash 闪速存储器, 256 字节内部 RAM,32 个 I/ O 口线, 3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全双工串行 通信口,片内振荡器及时钟电路。 同时, AT89C52 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。 空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。 掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 AT89C51 单片机引脚介绍: VCC: 供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P0 口的管脚第一次写 1 时,被定义为 高阻 输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1 口作为第八 位地址接收。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4个 TTL门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高 7 八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口: RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储 器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 基于单片机控制的简单计算器设计与仿真 8 MM94C22 芯片介绍 MM94C22 是一个 16 位的译码器, 44 的键盘,在单片机系统中,是很常见的。 一般都是占用一个单片机的 8 位接口。 对于这种输入设备,通常是由单片机来识别某行某列的按键是否按下,还需要延时消抖等等。 为了节省单片机的 IO 接口,也可以使用外接芯片来驱动 44 的键 盘。 MM74C922,就是一块较好的 44 的键盘编码芯片。 它能够自己独立地进行键盘检测、消抖,以 8421 码给出键值。 它还能给出按键是否按下的标志,其数据线还具有三态输出的功能,便于进行总线连接 33 MM94C22硬件图 MM74C922 引脚说明: (1) Y1~Y4(脚 1~脚 4): 4*4 键盘第一列至第四。 (2) X1~X4(脚 1 7): 4*4 键盘第一行至第四行。 (3) DOA~ DOD( Dataout A~D,脚 14~17):按键之 BCD 码输出,其中 DOA 为 LSB,DOD 为 MSB。 (4) VCC(脚 18):电源脚, +3V~+15V。 ab126 计算公式大全 (5) GND(脚 9):接地管脚。 新艺图库 (6) OSC( Oscillator,脚 5):键盘扫描电路之频率所需外加电容的连 引脚。 (7) KBM( Keyboard Mask,脚 6):内部消除开关弹跳电路所外加电容的 引脚。 (8) OE( Output Enable,脚 13):芯片使能脚,接低电位可使芯片使能。 9 (9) DA( Data Available,脚 12):数据有效输出脚。 任一按键按下时,此脚位会输出高电位,按键释放后此脚又会恢复为低电位。 MM74C922 对各按键的响应如下表所示: LED 介绍 发光二极管 LED 是单 片机应用系统中的一宗简单而常用的输出设备,其在系统中的主要作用是显示单片机的输出数据、状态等。 因而作为典型的外围器件, LED 显示单元是反映系统输出和操作输入的有效器件。 LED 具备数字接口可以方便的和大年纪系统连接;它的优点是价格低,寿命长,对电压电流的要求低及容易实现多路等,因而在单片机应用系统中获得了广泛的应用,所以在此设计中我首先选用了 LED 为基础的 LCD 作为显示器件。 RSRUNENa b c d e f g hD714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3L C D 1L M 0 4 1 L 基于单片机控制的简单计算器设计与仿真 10 34 LCD引脚图 下面是 LCD 的引脚功能介绍: 第 1 脚: VSS 为地电源 第 2 脚: VDD 接 5V正电源 第 3 脚: V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生 “鬼影 ”,使用时可以通过一个 10K 的电位器调整对比度 第 4 脚: RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚: R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。 第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14 脚: D0~ D7 为 8 位双向数据线。 键盘模块介绍 每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。 矩阵的行线和列线分别通过两并行接口和 CPU通信。 键盘的一端(列线)通过电阻接 VCC,而接地是通过程序输出数字“ 0”实现的。 键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么。 还要消除按键在闭合或断开时的抖动。 两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的 I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。 矩阵键盘采用四条 I/O 线作为行线,四条 I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。 这样键盘上按键的个数就为 4 4 个。 这种行列式键盘结构能有效地提高单片机系统中 I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图 1 所示:一般有 16 个键组成,在单片机中正好可以用一个 P口实现 16 个按键功能,这 种形式在单片机系统中也最常用 键盘电路: 11 35键盘电路 基于单片机控制的简单计算器设计与仿真 12 第 4 章 总体电路图介绍 总体电路图 根据设计方案要求以选择的器件设计出下面的电路图: RSRUNENa b c d e f g habcdefghENRU NRSX T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1O S C5K B M6DA12A17B16C15D14X111X210X38X47Y11Y22Y33Y44OE13U2M M 7 4 C9 2 2D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3L C D 1L M 0 4 1 LX1CR Y S T A LC23 0 p FC12 2 0 uC33 0 p FC41 0 u FR11 0 kR21k12U 3 :A7 4 HC 0 43 4U 3 :B7 4 HC 0 4C50 .1 u F 41 单片机控制的简单计算器 各模块的简单介绍 一、手动上电复位电路 C12 2 0 uR1 1 0 kR21kVSSRS T 42手动复位电路 13 当 VCC 上电时, C充电,在 10K电阻上出现电压,使得单片机复位;几个毫秒后, C充满, 10K电阻上电流降为 0,电压也为 0,使得单片机进入工作状态。 工作期间,按下S, C放电。 S松手, C又充电,在 10K电阻上出现电压,使得单片机复位。 几个毫秒后,单片机进 入工作状态。 二、 内部时钟模式电路: X1CR Y S T A LC23 0 p FC33 0 p FX T A T 2X T A L 1G N D 当单片机工作于内部时钟模式的时候,只需在 XTAL1 和 XTAL2 引脚连接一个晶体振荡器或者陶瓷振荡器,并接两个电容后接地即可,在使用时对于电容的选择有一定的要求: 当外接晶体振荡器的时候,电容值一般选择 C1=C2=30+10pF或 3010pF; 当外接陶瓷振荡器的时候,电容值一般选择 C1=C2=40+10pF或 4010pF; 三、 键盘接口电路 在本设计中,计算器输入键盘的 4条行线、列线分别连接到 MM74C922的 X1X Y1Y4引脚, MM74C922的数据输 出口与单片机的 P2口相连, MM74C922的 DA引脚经过一个非门连接到单片机的 /INT0脚,当 MM74C922检测到键盘输入时, DA 产生高电平,与之相连的/INT0检测到低电平,给单片机一个中断,单片机从 P2口的低四位读入键盘上按下的键的值。 基于单片机控制的简单计算器设计与仿真 14 四、运算模块(单片机控制): MCS51 单片机是在一块芯片中集成了 CPU、 RAM、 ROM、定时器 /计数器和多功能 I/O等一台计算机所需要的基本功能部件。 如果按功能划分,它由如下功能部件组成,即微处理器( CPU)、数据存储器( RAM)、程序存储器( ROM/EPROM)、并行 I/O 口、串行口、定时器 /计数器、中断系统及特殊功能寄存器( SFR)。 单片机是靠程序运行的,并且可以修改。 通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性。 因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。基于单片机控制的简单计算器设计与仿真(编辑修改稿)
相关推荐
的结构设计,参数计算。 用单片机控制的电机交流调速系统设计 调速系统 总体方案设计 转速开环恒压频比的调速系统,虽然结构简单,异步电动机在不同频率小都能获得较硬的机械特性但不能保证必要的调速精度,而且在动态过程中由于不能保持所需的转速,动态性能也很差,它只能用于对调速系统的静,动态性能要求不高的场合。 如果异步电动机能象直流电动机一样,用控制电枢电流的方法来控制转矩
.MCS51 系列单片机系统极其应用 .北京:高等教育出版社 ,2020 [2] 林伸茂 .8051单片机彻底研究实习篇 .北京:人民邮电出版社 ,2020 [3] 胡学海 .单片机原理极其应用系统设计 .北京 :电子工业出版社 ,2020 [4] 张毅刚 .单片机原理极其应用 .哈尔滨:哈尔滨工业大学出版社 ,2020 [5] 韩志军等 .单片机应用系统设计 .北京 :机械 工业出版社
扫描方式是利用 CPU 完成其他工作的空余时间,调用键盘扫描子程序来检验按键状态,响应键盘输入。 执行键功能程序时, CPU 不再享有 键输入要求,直到 CPU 重新扫描键盘为止。 定时扫描方式 : 定时扫描方式就是每隔一段时间对键盘扫描一次,她利用单片机内部的定时器产生一定时间(如 20ms)的定时,定时时间到产生定时器溢出中断。 CPU 在中断服务程序中键盘进行扫描
/INT1(外部中断 1) TO(记时器 0外部输入) T1(记时器 1外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和变成校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间
写日期、时间和温度 分离日期 \时间 \温度显示值 键扫描子程序 显示子程序 闹铃子程序 结束 湖北工业大学商贸学院毕业设计 7 3 系统单元模块设计 主控模块( AT89S52 模块) 目前,在我国比较流行的就是美国 ATMEL 公司的 89C51 它是一种带 Flash ROM的单片机,事实上 ,89C51 目前正在用 89S52 代替。 本系统就是以 AT89S52 作为主控芯片。 图
宁波技师学院电气系流水灯课程设计 3 复位电路 图 按键复位电路 按键手动复位有电平方式和脉冲方式。 而此次选用的便是按键电平复位。 按键电平复位是通过复位端经电阻与 Vcc 接通而实现的。 电路如图 所示。 宁波技师学院电气系流水灯课程设计 4 数码管电路 图 数码管电路 此电路可以十分清楚的体现出当前 LED 指示灯所运行的模式。 图 数码管 宁波技师学院电气系流水灯课程设计 5