rw1601可以用C语言写程序吗,用8051+1601LCD设计的整型计算器讲解.doc

浙江海洋学院

设计题目 用8051+1601LCD设计的整型计算器

摘 要

当今时代,是一个新技术层出不穷的年代。单片机具有体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

它所给人带来的方便不可否认,本设计是由单片机实现的模拟计算器它不仅能实现数据的加减乘除运算而且还能使数据及其计算结果在LCD管上显示出来能够实现0-256的数字四则运算。本设计是用单片机AT89C52来控制采用共阳极数码显示软件部分是由C语言来编写的。为了满足计算器的基本要求,可以基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于单片机设计计算器,并用LCD 液晶显示数据,4*4 的矩阵键盘实现数据输入,程序语言我们使用c语言。

设计任务:利用键盘和数码管设计一个简单的数学计算器可以完成简单的如加减乘除的四则运算并将运算结果在数码管上显示出来。

关键词:加减乘除运算;单片机AT89C52;LCD 液晶显示;4*4 的矩阵键盘实现数据输入

目 录

1.引言5

2.方案论证与设计5

2.1 要求与内容5

2.2 设计方案5

3.硬件设计6

3.1 单片机最小系统6

3.2 LCD显示模块7

3.3 输入模块8

4. 软件设计9

4.1 输入程序流程图设计9

5. 实验结果与讨论11

5.1 仿真实验11

5.2 结果讨论14

6.心得体会14

7.附 录A; 源程序14

8.参考文献19

用8051+1601LCD设计的整型计算器

引 言

不同于通用计算机应用程序设计,单片机C语言程序设计必须针对具体的微控制器及外围电路来进行

方案设计

设计要求

用单片机AT89C51来控制采用共阳极数码显示软件部分是由C语言来编写的。为了满足计算器的基本要求,可以基本的运算(加减乘除),数据归零和出错警告提示,我们采用基于单片机设计计算器,并用LCD 液晶显示数据,4*4 的矩阵键盘实现数据输入,程序语言我们使用c语言。

设计方案

2.1.1 单片机芯片的选择

根据功能和指标要求,本系统选用MCS-51系列单片机AT89C51为主控机。通过扩展必要的外围接 口电路,实现对计算器的设计。计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。用七段数码管作为显示电路,矩阵键盘作为输入电路。模块图如下1.1。

图1.1

硬件设计

单片机最小系统

单片机最小系统选用AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字竹内部RAM , 32个I/O口线,3个16 位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器.串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.如图3.1

图3.1

3.2.LCD显示模块

1601采用标准的14脚接口,其管脚功能介绍如下:

1:VSS为电源地

2:VDD接5V电源正极

3:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。

4:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

5:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。

6:E(或EN)端为使能(enable)端。

7~14:D0~D7为8位双向数据。

具体看图3.2

图3.2

输入模块

计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式。为此,引入了矩阵键盘的应用,采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率

图3.3

软件设计

4.1输入程序流程图设计

该计算器系统的软件设计分为以下几个模块:(1)主程序模块,(2) 读键输入程序流程图,(3)显示程序 (4)计算程序。

(1)运算主程序设计

首先初始化参数,送LED低位显示“0”,高位不显示。然

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

块存储监控与服务压测调优利器-EBS Lens发布

简介:SLS团队联合EBS团队发布了EBS Lens,针对块存储提供数据分析、资源监控的功能,可以帮助用户获取云上块存储资源信息与性能监控数据、提升云上块存储资源的管理效率、高效分析业务波动与资源性能消耗情况。 EBS监控现状 块存储是阿里云为…

阿里云 EventBridge 事件驱动架构实践

简介:我们认为 EventBridge 是云原生时代新的计算驱动力,这些数据可以驱动云的计算能力,创造更多业务价值。 作者:周新宇 本文内容整理自 中国开源年会 演讲 首先做一个自我介绍,我是 RocketMQ 的 PMC member 周新宇…

1.在c 语言中字符型占,C程序设计试题1.doc

C程序设计试题1一、 单项选择题1. 选出C语言的合法变量名______A _auto_ B stud#1 C static D 2_end2. 如果函数体中没有return语句,则正确的说法是A. 函数不能返回 B. 函数执行最后一条语句后返回C. 可以有break语句返回 D. 可以用continue语句返回3. 函数调用时&a…

代理网关设计与实现(基于NETTY)

简介:本文重点在代理网关本身的设计与实现,而非代理资源的管理与维护。 作者 | 新然 来源 | 阿里技术公众号 一 问题背景 平台端购置一批裸代理,来做广告异地展现审核。从外部购置的代理,使用方式为:通过给定的HTTP …

Gartner 发布2022年数据分析十二大趋势:数据和分析将成为创新起源

作者 | 宋慧出品 | CSDN 云计算数据与分析将会成为创新的起源,为企业发展创新助力同时,还将有基于数据的变现、降本增效,基于数据与分析的决策能力已成为有韧性企业的最核心能力。对数据的分析已经被企业与技术界愈加重视,国际研究…

“2021ISIG中国产业智能大会低代码峰会”即将开幕,钉钉宜搭叶周全受邀出席

简介:2021年12月8-9日,“2021ISIG中国产业智能大会” 将在上海举行。阿里巴巴资深技术专家,钉钉宜搭创始人叶周全将作为特邀嘉宾出席大会。 2021年12月8-9日,由中国电子技术标准化研究院、苏州市金融科技协会、中国计算机用户协会…

在 react 里写 vue3 ? 还写了自定义 hooks和 Hoc 构建了响应式 !

作者 | 👽来源 | 前端Sharing前言自从vue3.0正式发布之后,vue3.0核心响应式部分被单独抽离成vue/reactivity包,也就是说,我们可以脱离vue框架之外,单独使用vue/reactivity做一些其他的愉快的事😊&#xff0…

怎么输出链表长度C语言,下面程序输出结果不,如输出的链表长度结果不对,不知有关问题在哪里。请高手看下...

当前位置:我的异常网 C语言 下面程序输出结果不,如输出的链表长度结果不对,不下面程序输出结果不,如输出的链表长度结果不对,不知有关问题在哪里。请高手看下www.myexceptions.net 网友分享于:2013-09-18 浏览&…

阿里云云效发布研发协同工具,以新的产研协同工作方式助力实现BizDevOps

简介:2021云栖大会云效BizDevOps分论坛上,阿里云云效技术负责人陈鑫发布阿里云云效产品研发协同工具支撑ALPD理论,以新的产研协同工作方式助力实现BizDevOps。 编者按:10月21日,2021云栖大会云效BizDevOps分论坛上&am…

打通JAVA与内核系列之一ReentrantLock锁的实现原理

简介:写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不展开,本文主要讨论J…

android如何创建spinner组件,Andriod开发之下拉列表控件(Spinner)的用法

Spinner是Android的下拉列表控件,今天对这个控件进行了学习,发现该控件比其它简单控件使用起来稍微复杂,特地将Spinner控件的使用方法以及注意事项记录下来,以备后用。Spinner控件在Android中的继承结构如下:java.lang…

恒生与中国信通院联合发布《证券行业分布式核心系统SRE运维白皮书》

在互联网金融模式的变革和冲击下,金融机构面临着海量客户管理、业务场景快速增长、金融服务和产品多样化等挑战。 为应对不断增加的技术创新需求,证券行业核心系统正逐步从传统IT集约型架构向支持敏捷开发、弹性扩容、智能灵活的分布式架构转型&#xff…

媒体声音 | 阿里云王伟民:阿里云数据库的策略与思考

简介:DTCC 2021大会上,阿里云数据库事业部 产品与解决方案部总经理 王伟民(花名:唯敏)发表主题演讲《云原生数据库2.0,一站式全链路数据管理与服务》,并接受IT168企业级&ITPUB执行总编 老鱼…

阿里云云治理中心正式上线,助力企业快速云落地

简介:2021年11月1日,阿里云"云治理中心"(Cloud Governance Center)产品正式上线,云治理中心是基于企业IT治理的最佳实践,帮助客户快速搭建业务上云的标准Landing Zone(上云登陆区)&am…

超值一篇分享,Docker:从入门到实战过程全记录

作者 | 天元浪子来源 | CSDN博客和Docker相关的概念想要真正理解Docker,就不得不从虚拟化技术的发展历程说起。普遍认为虚拟化技术经历了物理机时代、虚拟机时代,目前已经进入到了容器化时代。可以说,Docker是虚拟化技术不断发展的必然结果。…

linux phpunit 安装,在CentOS 7/CentOS 8系统中安装PHPUnit的方法

本文介绍在CentOS 7/CentOS 8操作系统中安装PHPUnit的方法,只需要运行几个命令就可以了,非常的简单。PHPUnit是PHP应用程序的单元测试框架,它是单元测试框架的xUnit体系结构的一个实例,它在JUnit中很受欢迎,PHPUnit需要…

解读如何安全快速建立IT治理环境

简介:云计算经过十多年的发展,从基础的IAAS,大数据,到各种的PaaS有丰富的产品和生态,非常有效地助力了业务增长和技术创新,并提高了业务的效率。最直观的感受是过去需要几天到一个月的资源交付,…

com+ system application 启动_dubbo启动引导过程(基于2.7.9)

前言再百度或google上一搜索dubbo服务暴露过程 相关的文章已经有很多了,但是文章基本都是基于老版本的dubbo,当你对着文章去看下载下来的代码时,会发现很多东西对不上;出于此目的,我便有了自己根据新版本(就…

函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化

简介:本文将介绍借助函数计算下一代 IaaS 底座神龙裸金属和安全容器,进一步降低绝对延迟且能够大幅降低冷启动频率。 作者:修踪 背景 函数计算在 2020 年 8 月创新地提供了容器镜像的函数部署方式。AWS Lambda 在 2020 年 12 月 Re-Invent…

为什么服务端程序都需要先 listen 一下?

作者 | 张彦飞allen来源 | 开发内功修炼大家都知道,在创建一个服务器程序的时候,需要先 listen 一下,然后才能接收客户端的请求。例如下面的这段代码我们再熟悉不过了。int main(int argc, char const *argv[]) {int fd socket(AF_INET, SOC…