单片机课程设计——基于C51简易计算器

合集下载

51单片机计算器课程设计

51单片机计算器课程设计

51单片机计算器课程设计一、课程目标知识目标:1. 让学生掌握51单片机的基本原理及其在计算器中的应用。

2. 使学生理解并掌握计算器程序设计的步骤和要点,包括键盘输入、显示输出、数据处理等。

3. 帮助学生了解并掌握基本的数字逻辑运算,如加、减、乘、除等。

技能目标:1. 培养学生运用51单片机进行计算器硬件设计和程序编写的能力。

2. 培养学生运用Keil等开发工具进行51单片机程序开发的能力。

3. 培养学生通过查阅资料、团队协作解决实际问题的能力。

情感态度价值观目标:1. 激发学生对电子技术和编程的兴趣,培养其主动学习的态度。

2. 培养学生的创新意识和动手能力,使其具备解决问题的信心。

3. 培养学生良好的团队协作精神和沟通能力,提高其综合素质。

课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际问题解决能力。

学生特点:学生具备一定的电子技术基础和编程能力,对51单片机有一定了解。

教学要求:结合学生特点,注重理论与实践相结合,以项目为导向,引导学生主动探索、实践和解决问题。

通过课程学习,使学生达到预定的知识目标和技能目标,并培养其情感态度价值观。

在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 51单片机原理回顾:涉及51单片机的内部结构、工作原理、寄存器等基础知识。

相关教材章节:第一章《51单片机概述》2. 计算器功能设计:介绍计算器的基本功能,如数字输入、运算符选择、结果显示等。

相关教材章节:第二章《51单片机I/O口应用》3. 硬件电路设计:讲解计算器硬件电路的搭建,包括键盘电路、显示电路等。

相关教材章节:第三章《51单片机硬件设计基础》4. 程序设计:分析计算器程序设计的流程,包括程序框架、各功能模块的实现等。

相关教材章节:第四章《51单片机C语言编程》5. 软件开发工具使用:介绍Keil开发环境的使用方法,编译、下载程序到51单片机。

基于51单片机的简易计算器

基于51单片机的简易计算器

基于51单片机的简易计算器51单片机是一种广泛应用于嵌入式系统中的常用微控制器。

我们可以利用51单片机的强大功能和丰富的外设资源,设计一个简易计算器。

这个计算器可以进行基本的加减乘除运算,并且具备显示结果的功能。

首先,我们需要准备一块51单片机开发板,一块1602液晶显示屏模块,以及一些按键开关和电阻。

我们可以将运算器主要分为以下几个模块:数码管显示模块、键盘输入模块、运算模块和存储模块。

数码管显示模块:我们使用1602液晶显示屏模块来显示计算器的结果。

我们可以通过51单片机的IO口,将计算结果发送给液晶显示屏模块,实现结果的显示。

键盘输入模块:我们可以使用几个按键开关来实现数字和运算符的输入。

通过对按键的检测,我们可以将用户输入的数字和运算符转化为字符形式,并保存到内存中。

运算模块:我们需要根据用户输入的数字和运算符,进行相应的运算。

我们可以使用栈来实现这个功能。

栈是一种常用的数据结构,具有"先进后出"的特点。

我们可以将用户输入的数字和运算符按照一定的规则入栈,然后按照相应的顺序进行出栈和运算。

最后将结果保存到内存中。

存储模块:我们可以使用内部RAM来保存运算结果。

51单片机的内部RAM具有一定的存储能力,可以满足我们的基本需求。

在编写程序时,我们可以使用汇编语言或者C语言。

通过合理的编程,我们可以实现计算器的各项功能。

总结一下,基于51单片机的简易计算器主要包括数码管显示模块、键盘输入模块、运算模块和存储模块。

我们可以通过合理的编程,将这些模块相互配合,实现一个功能完善的计算器。

这个计算器不仅可以进行基本的加减乘除运算,还可以显示结果,方便用户进行计算。

基于C51简易计算器综述

基于C51简易计算器综述

单片机课程设计简 易 计 算 器专 业班 级 学生姓名 学 号 任课教师 提交日期JINGCHU UNIVERSITY OF TECHNOLOGY目录摘要 (01)引言 (01)一、设计任务和要求.............................1、1 设计要求1、2 性能指标1、3 设计方案的确定二、单片机简要原理.............................2、1 AT89C51的介绍2、2 单片机最小系统2、3 七段共阳极数码管三、硬件设计...................................3、1 键盘电路的设计3、2 显示电路的设计四、软件设计...................................4、1 系统设计4、2 显示电路的设计五、调试与仿真.................................5、1 Keil C51单片机软件开发系统5、2 proteus的操作六、心得体会....................................参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................一、设计任务和要求1.1 设计要求本次课程设计,我选择的课题是单片机十进制加法计算器软硬件设计,设计任务为:设计一键盘显示装置,键盘上除需定义10个十进制数字键外还要相应的功能键,其它键不定义无响应。

利用此系统可分别可输入十进制被加数与加数,实现两数相加并将结果以十进制形式显示出来。

(扩展:多位10进制数相加)1.2 性能指标本课程设计的十进制加法计算器的计算范围为0~255,计算结果全为整数,计算结果溢出结果不显示。

1、加法:三位加法,计算结果超过255溢出不显示2、减法:三位减法,计算结果若小于零溢出不显示3、乘法:三位数乘法4、除法:整数除法5、有清零功能1.3 设计方案的确定按照1.1的设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于AT89C51芯片的I口不够多,而且为了硬件电路设计的简单化,故选择串行动态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行动态显示显示运算结果。

51简易计算器课程设计

51简易计算器课程设计

51简易计算器课程设计一、课程目标知识目标:1. 学生能理解并掌握51简易计算器的基本原理和功能。

2. 学生能够运用所学的编程知识,编写出具备加、减、乘、除基本运算功能的51简易计算器程序。

3. 学生能够理解并运用51单片机的内外部中断,实现计算器按键识别与功能调用。

技能目标:1. 学生能够熟练使用51单片机的开发环境和编程工具。

2. 学生通过实践操作,掌握51单片机的I/O口编程,提高动手实践能力。

3. 学生能够通过团队协作,解决编程过程中遇到的问题,提升问题解决能力。

情感态度价值观目标:1. 学生培养对单片机编程的兴趣,增强学习计算机科学的热情。

2. 学生在课程实践中,养成动手操作、观察问题、思考问题的良好习惯。

3. 学生通过团队协作,培养沟通与协作意识,增强团队荣誉感。

本课程针对五年级学生设计,课程性质为实践性较强的信息技术课程。

结合学生特点,课程目标注重培养学生的学习兴趣和动手能力,同时考虑教学要求,将目标分解为具体的学习成果,为后续的教学设计和评估提供依据。

二、教学内容1. 51单片机基本原理与结构:介绍51单片机的组成、工作原理及特点,让学生对51单片机有整体的认识。

- 教材章节:第一章 51单片机概述2. 51单片机开发环境与编程工具:学习如何搭建51单片机开发环境,掌握编程工具的使用。

- 教材章节:第二章 51单片机开发环境与编程工具3. I/O口编程:学习51单片机I/O口的基本操作,实现计算器按键输入与LED显示。

- 教材章节:第三章 I/O口编程与应用4. 基本运算程序编写:学习编写加、减、乘、除基本运算的程序,掌握运算逻辑。

- 教材章节:第四章 算术运算程序设计5. 中断编程与应用:学习51单片机中断原理,运用外部中断实现按键识别与功能调用。

- 教材章节:第五章 中断系统及其应用6. 简易计算器程序设计与实现:将所学知识综合运用,设计并实现具备基本运算功能的简易计算器。

- 教材章节:第六章 综合应用实例教学内容根据课程目标进行科学性和系统性组织,制定详细的教学大纲,确保教学内容的安排和进度。

单片机课程设计——基于C51简易计算器

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计摘要本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。

设计过程在硬件与软件方面进行同步设计。

硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。

显示采用3位7段共阴极LED动态显示。

软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。

编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。

引言十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。

在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。

单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。

关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减目录摘要 (01)引言 (01)一、设计任务和要求.............................1、1 设计要求1、2 性能指标1、3 设计方案的确定二、单片机简要原理.............................2、1 AT89C51的介绍2、2 单片机最小系统2、3 七段共阴极数码管三、硬件设计...................................3、1 键盘电路的设计3、2 显示电路的设计四、软件设计...................................4、1 系统设计4、2 显示电路的设计五、调试与仿真.................................5、1 Keil C51单片机软件开发系统5、2 proteus的操作六、心得体会....................................参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................一、设计任务和要求1.1 设计要求本次课程设计,我选择的课题是单片机十进制加法计算器软硬件设计,设计任务为:设计一键盘显示装置,键盘上除需定义16个十六进制数字键外还要相应的功能键,其它键不定义无响应。

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计基于51单片机的简易计算器设计一、引言随着微电子技术和嵌入式技术的发展,越来越多的智能化设备被应用于日常生活中。

其中,基于51单片机的简易计算器设计具有广泛的应用价值。

本文将介绍如何使用51单片机设计一个简易计算器,实现加减乘除的基本运算功能。

二、设计方案1.硬件组成:本设计采用51单片机作为主控芯片,与键盘、显示器等外围设备相连。

键盘用于输入数字和运算符,显示器则用于显示运算结果。

2.软件设计:软件部分包括主程序和子程序。

主程序负责初始化硬件、读取键盘输入和显示运算结果。

子程序包括加减乘除的运算子程序,可根据输入的运算符和操作数进行相应的运算。

3.算法实现:在加减乘除的运算子程序中,采用基本的数学运算方法实现。

对于加法,直接将两个操作数相加;对于减法,将两个操作数相减;对于乘法,采用循环相乘的方法;对于除法,采用循环相除的方法。

三、实验结果在实验中,我们成功地使用51单片机设计了一个简易计算器,实现了加减乘除的基本运算功能。

在测试过程中,我们输入了不同的数字和运算符,得到了正确的运算结果。

同时,我们也测试了计算器的稳定性,发现其在连续运算时表现良好,没有出现明显的误差或故障。

四、结论基于51单片机的简易计算器设计具有简单易行、实用性强等优点。

通过实验测试,我们验证了其可行性和稳定性。

此外,该设计还可以根据需要进行扩展和优化,例如增加更多的运算功能、优化算法等。

未来,我们可以进一步研究如何提高计算器的运算速度和精度,以及如何将其应用于更多的实际应用场景中。

五、改进意见与展望1.增加更多的运算功能:例如实现括号、开方、指数等高级运算,满足更复杂的数学计算需求。

2.优化算法:针对现有的加减乘除运算算法进行优化,提高运算速度和精度。

例如采用更高效的除法算法,减少运算时间。

3.增加存储功能:在计算器中加入存储单元,使得用户可以在多个步骤之间进行数据传递和保存。

4.增强人机交互界面:优化显示器的显示效果,增加用户输入的便捷性,提高用户体验。

基于C51单片机的简易计算器设计

基于C51单片机的简易计算器设计

基于单片机的简易设计原理专业:通信专业班级:通信1班姓名:刘民学号:1304041127摘要:按下键盘,通过键盘扫描程序,在LCD液晶显示屏上显示按键的操作过程,最终显示计算结果,实现计算器的基本功能。

本文详细介绍LCD显示屏、矩阵键盘与C51单片机接口的应用,并介绍如何通过C51单片机实现计算器的算法。

关键字:C51单片机,键盘,LCD液晶,计算器一、设计任务:本次实验是要以51系列单片机为核心实现一个简易计算器,它的结构简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块STC90C51单片机构成,通过软件编程可实现简单加、减、乘、除、清除结果。

实现对计算器的设计,具体设计如下:1、采用6位显示,最大显示值为“999999”,设计16个按键的矩阵键盘,按键包括‘0~9’、‘+’、‘-’、‘*’、‘/’、‘=’、‘C’。

2、加减法做四字节运算;乘法做双字节运算;除法被除数为四字节,除数为两字节。

3、当运算结果超出显示范围时,显示ERROR!。

4、上述运算输入值均为整数,当结果带有小数时,可以采用四舍五入方式处理,也可以带小数显示。

二、方案论证经分析,计算器电路包括三个部分:显示电路、、4*4键扫描电路、单片机微控制电路。

具体如下:⒈)LCD显示电路LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。

又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.⒉)4*4键盘扫描电路(中断式,扫描式,反转式)用户设计行列键盘接口,一般常采用3 种方法读取键值。

一种是中断式,外两种是扫描法和反转法。

扫描法:对键盘上的某一行送低电平,其他行及列全为高电平,然后读取列值,检查各列线点评的变化,如果某列线电平为低电平,就可以确定此行此列交叉点处的按键被按下,采用延时去抖动。

⒊)单片机微控制电路微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。

基于C51单片机的简易计算器

基于C51单片机的简易计算器

期末课程设计学院:软件学院_____ 专业:软件工程_____ 年级:2009级____ 课程:_单片机应用技术_____ 老师:_林丽玉_____姓名:_苏志彬_ _____ 学号:_************ ______二〇一二年六月基于C51单片机的简易计算器学号:123012009186摘要:按下键盘,通过键盘扫描程序,在LCD液晶显示屏上显示按键的操作过程,最终显示计算结果,实现计算器的基本功能。

本文详细介绍LCD显示屏、矩阵键盘、独立键盘与C51单片机接口的应用,并介绍如何通过C51单片机实现计算器的算法。

关键字:C51单片机,键盘,LCD液晶,计算器1.引言本次实验是要以51系列单片机为核心实现一个简易计算器,它的结构简单,外部主要由3*4矩阵键盘外加2*4独立键盘和一个液晶显示屏构成,内部由一块STC90C51单片机构成,通过软件编程可实现简单加、减、乘、除、平方、立方、开根号、清除结果。

在现实生活中我们用到计算器的频率很高,且并不陌生,计算器电路包括三个部分:LCD显示电路、键盘扫描电路、单片机微控制电路。

2.LCD显示1、LCD显示器介绍LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特性实现信息的显示。

液晶显示器具有体积小、重量轻、功耗低、显示内容丰富灯特点,在单片机的应用系统中得到广泛的应用,液晶显示器按功能可分为三类:笔段式液晶显示器、字符型液晶显示器和图像点阵式液晶显示器。

前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图行,达到图文并茂的效果,本次实验是采用LCD1602字符型液晶显示器,LCD1602能够同时显示16x2即32个字符。

1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。

每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用。

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
1. 研究背景
•计算器是人们日常生活和工作中常用的工具之一。

•通过设计简易计算器,可以加深学生对51单片机的理解和应用。

2. 目标和需求
•设计一个基于51单片机的简易计算器,能够进行基本的四则运算和开方运算。

•要求计算器能够显示输入和计算结果。

•要求计算器具备简单的界面和操作。

3. 设计方案
•使用51单片机作为计算器的控制核心。

•通过键盘输入数字和运算符,并显示在液晶屏上。

•根据输入的运算符,进行相应的计算,并将结果显示在液晶屏上。

4. 硬件设计
•使用51单片机作为主控芯片。

•连接液晶屏模块,用于显示输入和计算结果。

•连接键盘模块,用于输入数字和运算符。

5. 软件设计
•使用C语言进行编程。

•设计主程序,包括初始化、输入处理和计算输出等功能。

•设计函数,实现基本的四则运算和开方运算。

6. 实验结果
•成功设计并实现了基于51单片机的简易计算器。

•可以正常进行基本的四则运算和开方运算。

•输入和计算结果能够准确显示在液晶屏上。

7. 总结与展望
•通过设计这个简易计算器,学生对51单片机的理解和应用能力有了提高。

•下一步可以考虑增加更多的功能,如科学计算和数据存储等。

以上是本次基于51单片机简易计算器课程设计的报告。

通过这个实验,学生对51单片机的应用能力得到了提升,进一步增强了对计算器的理解。

在未来的课程设计中,可以进一步拓展功能,提升计算器的实用性和功能性。

基于51单片机的简易教学计算器设计

基于51单片机的简易教学计算器设计

基于51单片机的简易教学计算器设计设计目的:本设计旨在基于51单片机实现一个简易的教学计算器,可以进行基本的四则运算,并具备一些辅助功能,帮助学生进行数学计算和学习。

设计要求:1.显示器:使用液晶显示器(LCD)来显示操作数和计算结果。

2.键盘输入:设计一个按键矩阵作为输入设备,用于输入数字和操作符。

3.四则运算:实现加法、减法、乘法和除法四种基本运算。

4.辅助功能:提供开平方、取倒数等辅助功能。

5.界面友好:界面清晰、操作简单。

硬件设计:1.51单片机(AT89C52):作为计算器的核心芯片,控制程序运行和与外围设备的交互。

2.液晶显示器(LCD):用于显示操作数和计算结果。

3.按键矩阵:用于输入数字和操作符。

4.运算模块:用于进行四则运算和辅助功能计算。

软件设计:1.系统初始化:初始化51单片机和LCD屏幕,设置键盘矩阵的引脚。

2.输入处理:通过按键矩阵检测用户输入,并将输入的字符存储在缓冲区中。

3.表达式计算:根据用户输入的表达式,通过逆波兰表达式算法将其转换为后缀表达式,并进行计算得到结果。

4.显示结果:将计算结果显示在LCD屏幕上。

5.辅助功能:根据用户选择的辅助功能,进行相应的计算,并显示结果。

6.重置功能:提供清零功能,将计算器的状态和显示结果重置。

操作流程:1.系统初始化:开机时,系统进行初始化,屏幕显示“计算器”字样。

2.输入操作数和操作符:用户通过按键矩阵输入操作数和操作符。

3.计算结果:用户输入“=”符号后,计算器根据输入的表达式进行计算,并将结果显示在LCD屏幕上。

4.辅助功能:在计算结果显示完成后,用户可选择进行辅助功能,如开平方、取倒数等操作。

5.重置功能:用户可通过按下“C”键进行重置,将计算器状态和显示结果清零。

总结:本设计基于51单片机实现了一个简易的教学计算器,具备基本的四则运算功能和一些辅助功能。

其使用液晶显示器作为显示设备,利用按键矩阵进行输入操作,通过逆波兰表达式算法进行计算,并将结果显示在屏幕上。

基于C51单片机计算器实训报告

基于C51单片机计算器实训报告

目录一、设计的意义二、设计的流程三、设计的原理四、设计的模块五、元器件清单六、成品的制作七、设计的总结一、设计的意义计算器是日常工作和学习生活中的常用工具,人们利用它代替了许多复杂计算,包括加减乘除和其他运算。

尤其是小型计算器,它携带方便,在生活中用起来方便快捷,成为了财政、学习、生意上都青睐的必需品。

它的需求广泛,在计算器的发展上存在很大的空间和市场意义。

单片机在我国的各行各业得到了广泛使用,单片机的出现是计算机制造技术高速发展的产物。

如今,它已经广泛应用到我们生活中的各个领域,如:电子、科技、通信、汽车、工业等。

一般只需几块钱,有着经济廉价的优势,用单片机可以很方便的实现计算器的设计。

本设计是以单片机为基础设计出简单的一次式计算器。

二、设计的流程本设计的计算器硬件电路采用三部分电路模块构成,第一部分是键盘模块,采用4*4矩阵键盘作为输入电路;第二部分是LCD1602液晶显示模块;第三部分是以89C52单片机作为控制核心。

软件程序主要由三部分组成:主程序、按键扫描程序和LCD1602显示程序。

下图为硬件模块框图:下图为设计流程图:三、设计的原理硬件电路原理图:四、设计的模块1、电源模块:电源的设计采用了自锁开关控制电源正极的接通与断开,当P1接上+5V直流电源时;若S1没有按下,此时S1的1与5端口接通,+5V电流不流通到电路,电路不工作;当S1按下后,3与5端口接通,此时+5V电流流通到电路是电路工作。

2、89C52单片机模块:此模块式是本设计的控制核心模块,常称为单片机最小系统;单片机最小系统由三部分组成:STC89C52芯片部分、复位部分(由按键开关、极性电容、10K电阻组成)、晶振部分(由12M石英晶振、两个30PF的瓷片电容组成)。

主要起程序的输入与控制、程序的复位、时间频率控制的作用。

3、4*4矩阵键盘模块:键盘可分为两类:编码键盘和非编码键盘。

编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。

基于51单片机简易计算器课程设计

基于51单片机简易计算器课程设计

电气与电子信息工程学院单片机课程设计设计题目:简易电子计算器专业班级: 12级电信(1)班学号: *************名:**指导教师:章磊艾青设计时间:2014/06/03~2014/06/13 设计地点:K2—407课程设计任务书2013 ~2014 学年第2学期学生姓名:杨峥专业班级:电子信息工程技术(专)2012(1)班指导教师:艾青、章磊工作部门:电气学院电信教研室一、课程设计题目:单片机课程设计1. 出租车计价器系统设计2. 医院住院病人呼叫器的设计3. 作息时间控制器4. 数字温度计的设计5. 火灾报警器的设计6. 电子密码锁7. 电子计算器8.学生自选二、课程设计内容1. 以单片机为核心器件,构造系统;2. 熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;3. 熟悉、掌握单片机汇编语言的软件设计方法;4. 熟悉、掌握印刷电路板的设计方法;5. 根据具体设计课题的技术指标和给定条件,能独立而正确地进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;6. 学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;7. 编写设计说明书,参考毕业设计论文格式撰写设计报告(5000字以上)。

三、进度安排2.执行要求智能电子产品设计制作共8个选题,每组不超过7人,为避免雷同,在设计中每个同学所采用的方案不能一样。

四、基本要求(1)进行方案论证并根据要求确定系统设计方案;(2)绘制系统框图和电气原理草图,程序流程图;(3)对相关电路进行电路参数计算和元器件选择;(4)进行软件汇编并调试;(5)利用Proteus和Keil uVision2对系统进行联调;(6)绘制系统原理总图,列出原器件明细表;(7)画出软件框图,列出程序清单;(8)写出使用说明书;(9)对设计进行全面总结,写出课程设计报告。

五、课程设计考核办法与成绩评定第1章方案的选择与概述1. 单片机概述当今时代,是一个新技术层出不穷的时代。

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告引言:计算器是现代社会中常见的电子设备之一,它能够帮助人们进行各种数学运算,提高计算效率。

本文将介绍基于51单片机的简易计算器的设计过程及实现方法。

一、设计目标本次设计的目标是实现一个简易计算器,能够进行基本的加减乘除运算,并能够显示计算结果。

通过该设计,旨在加深学生对51单片机的理解,培养其实际操作能力。

二、硬件设计1. 电源模块:采用稳压电源模块,提供稳定的电压给单片机及其他电路模块。

2. 单片机模块:采用51单片机,作为计算器的核心控制模块,负责接收按键输入、进行运算和显示结果。

3. 按键模块:设计合适的按键电路,用于输入数字和操作符。

4. 显示模块:采用数码管或液晶显示屏,显示计算结果。

5. 连接线:将各个模块连接起来,确保信号的传输畅通。

三、软件设计1. 初始化:设置单片机的工作模式、端口方向和初始状态。

2. 按键扫描:通过轮询的方式检测按键是否被按下,若有按键按下则进行相应的处理。

3. 输入处理:根据按键的顺序和操作符的位置进行输入的处理,将输入的数字和操作符分别存储在相应的变量中。

4. 运算处理:根据输入的操作符进行相应的运算,得出计算结果。

5. 结果显示:将计算结果通过数码管或液晶显示屏进行显示。

6. 清零处理:在计算结果显示完毕后,对相关的变量进行清零处理,以便进行下一次的计算。

四、功能实现1. 加法运算:通过按下"+"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。

2. 减法运算:通过按下"-"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。

3. 乘法运算:通过按下"*"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。

基于C51单片机简易计算器的课程设计

基于C51单片机简易计算器的课程设计

赣南师范大学基于C51单片机的简易计算器学院:物理与电子信息学院专业: 电子信息工程班级:学名:学号:指导教师:日期:目录1. 绪论 (3)2。

系统软件设计方案 (4)2。

1设计目标和实现方法 (4)2.2整体方案论证 (4)3. 系统硬件的设计与介绍 (5)3.1复位电路的设计与运用 (5)3。

2时钟振荡器电路的设计与运用 (6)3.3输入电路的设计 (6)3.4输出电路的设计 (8)4。

系统程序的设计与介绍 (11)4。

1 LED显示程序流程图设计 (11)4.2读键输入程序流程图设计 (13)4。

3主程序流程图设计 (14)4.4仿真与调试 (15)5. 结论 .................................................... . (17)元件清单 (18)附录1简易计算器源程序 (19)1.绪论中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。

这种算筹多是用竹子制成,也有用木头,兽骨充当材料的。

大约二百七十枚一束,放在布袋里可以随身携带。

直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时期的珠算盘已经与现代的珠算盘几乎没有差别.17世纪初,西方国家的计算工具已经有了较大的发展,英国数学家纳皮尔发明的”纳皮尔算筹”,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的快速发展,也为实现现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具.1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了世界上第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外一个窗口中,但是只能做加减计算。

1694年,莱布尼兹在德国将其改进成可以进行乘除的计算.此后,一直要到20世纪50年代末才有了电子计算器的出现。

(完整)基于51单片机的简易计算器设计

(完整)基于51单片机的简易计算器设计

(完整)基于51单片机的简易计算器设计基于51单片机的简易计算器设计计算器作为一种常见的电子设备,既能满足日常生活的计算需求,又能帮助人们提高工作效率。

本文将介绍基于51单片机的简易计算器的设计。

该计算器具备加减乘除的基本计算功能,并支持用户输入和结果显示。

下面将从材料准备、电路连接和程序设计三个方面详细介绍该计算器的设计。

一、材料准备在设计计算器之前,我们需要准备以下材料:1. 51单片机开发板:用于控制计算器的整个运行过程;2. 液晶显示屏:用于显示用户输入的数字和计算结果;3. 数字按键:用于用户输入数字和运算符;4. 连接线:用于连接51单片机开发板、液晶显示屏和数字按键。

二、电路连接1. 连接液晶显示屏和51单片机开发板:将液晶显示屏的VCC、GND、SCL和SDA引脚分别与开发板上对应的引脚连接。

2. 连接数字按键和51单片机开发板:将数字按键的引脚依次与开发板上的IO口引脚连接,其中有一根引脚需要连接到开发板的中断口。

三、程序设计1. 初始化设置:在程序开始时,进行液晶显示屏和数字按键的引脚初始化设置,以及相应的中断设置。

2. 输入处理:通过数字按键输入,获取用户输入的数字和运算符,并将其保存到相应的变量中。

3. 运算处理:根据用户输入的运算符,对相应的数字进行加、减、乘、除的运算,并将结果保存到一个变量中。

4. 结果显示:将运算结果显示在液晶显示屏上,以便用户查看计算结果。

5. 重置处理:在每次运算结束后,对相关变量进行重置,以便下一次计算。

通过以上程序设计,我们可以完成基于51单片机的简易计算器的设计。

在实际使用过程中,用户只需要通过数字按键输入相应的数字和运算符,计算器就可以自动进行运算,并将结果显示在液晶显示屏上,方便用户进行查看。

总结本文介绍了基于51单片机的简易计算器的设计。

通过合理的材料准备、电路连接和程序设计,我们可以实现一个具备加减乘除功能的计算器。

该计算器不仅能满足人们日常的计算需求,还能帮助提高工作效率。

51单片机计算器课程设计

51单片机计算器课程设计

51单片机计算器课程设计1. 前言51单片机凭借其简单易用、功能强大、可靠性高等诸多特点,成为了广大电子爱好者及相关从业人员的首选芯片类型。

在本次课程设计中,我们将利用51单片机的优势,设计一个简单的计算器。

通过该计算器的实现,旨在提高学生对51单片机的掌握程度,并且让他们能够更加深入地理解单片机的中断、定时器、按键等重要功能模块的理解。

2. 计算器设计需求分析在现实生活中,计算器的实现方案有很多,例如典型的哈工大计算器,其实现原理基于双栈式逆波兰表达式求值等。

而在51单片机的实现方案中,为了简化设计难度,我们采用了两次按键计算器。

即用户需要通过按数字键,来输入计算器要计算的操作数,在输入完所有的操作数后,再按下其他的计算符键,计算器通过读取已经输入的操作数,并根据按下的计算符键,来执行计算器指定的计算操作。

3. 设计思路在上面的需求分析中,我们设计了一个基于两次按键进行计算的计算器。

如果直接采用传统数字键和计算符键按下即时执行的计算器交互方式,由于涉及到用户输入顺序的问题,将会使程序开发难度大大增加。

因此,我们可以利用中断机制,在用户按下数字键和计算符键时,分别将其存储到数组中。

等到用户完成所有操作数的输入后,再由程序根据存储在数组中的操作数,按照计算符键的指令,进行计算操作。

4. 硬件设计计算器硬件设计采用与按键通用的IO口输入输出方式。

在本例中,我们设置计算器的数字键和计算符键均为IO口输入。

鉴于本次设计旨在简化流程,我们将设计与单片机外接数码管连接的部分留给读者自行研究。

在本次课程设计中,我们将不涉及数字键和计算符键信号的去抖动处理。

5. 软件设计通过对计算器设计的需求分析、设计思路以及硬件设计的分析后,我们来设计计算器的软件部分。

5.1 端口初始化根据本次课程设计的需求,我们采用两个IO口输入来实现计算器的数字键和计算符键,因此需要对IO口进行初始化。

```void PortInit(){P1=0xff;/数字键P1.0—P1.7设定为输出P1=0xff;/计算符键P2.0—P2.7设定为输出}```5.2 按键检测监测按键是否按下需要使用到中断机制,在本次课程设计中采用P1口的0~7位和P3口的0~3位硬件中断。

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计设计一个基于51单片机的简易计算器,主要功能包括加减乘除四则运算和百分数计算。

下面是设计的详细步骤:1.硬件设计:-使用51单片机作为主控芯片。

-连接16x2的LCD显示屏,用于显示输入和计算结果。

-连接16个按键开关,用于输入运算符和数字。

-连接4个LED灯,用于指示四则运算的选择。

2.软件设计:-初始化LCD显示屏,并显示欢迎信息。

-监听按键输入,在接收到输入后,根据输入的按键值判断操作类型。

-如果按键值对应数字键,保存输入的数字,并在LCD上显示当前输入的数字。

-如果按键值对应四则运算符(+、-、*、/),保存当前输入的数字,并保存运算符。

-如果按键值对应等号(=),根据保存的数字和运算符进行相应的运算,计算结果保存并显示在LCD上。

-如果按键值对应清零(C),将所有保存的数据清空,并显示初始状态。

-如果按键值对应百分号(%),将当前数字除以100并显示在LCD上。

3.主要函数说明:- void init_lcd(:初始化LCD显示屏。

- void display_lcd(char* str):将指定字符串显示在LCD上。

- void clear_lcd(:清空LCD显示屏。

- char get_key(:获取按键输入的值。

- void calculate(:根据保存的数字和运算符进行计算。

- void add_digit(char digit):将输入的数字添加到当前数字中。

- void set_operator(char op):保存运算符。

- void clear_data(:清空所有保存的数据。

4.主要流程:-初始化LCD显示屏并显示欢迎信息。

-在循环中监听按键输入,并根据输入的按键值进行相应的操作。

-根据不同的按键值,调用不同的函数进行处理。

-最后计算结果显示在LCD上。

以上是基于51单片机的简易计算器设计的详细步骤和主要函数说明。

你可以根据这个设计框架进行具体的代码实现。

基于51单片机简易计算器课程设计报告(一)

基于51单片机简易计算器课程设计报告(一)

基于51单片机简易计算器课程设计报告(一)基于51单片机简易计算器课程设计报告1. 介绍在本次课程设计中,我设计了一个基于51单片机的简易计算器。

本报告将会详细介绍该计算器的设计思路、功能实现以及课程设计中遇到的问题与解决方法。

2. 设计思路功能需求•支持基本的加、减、乘、除运算•具备数字输入与显示功能•具备清零和等于功能•具备连续计算功能硬件设计本计算器的硬件设计主要包括51单片机、LCD显示模块以及按键输入模块。

其中,51单片机负责控制计算器的逻辑,LCD显示模块用于显示计算结果和用户输入,按键输入模块用于接收用户的输入。

软件设计计算器的软件设计主要分为以下几个部分: - 初始化:初始化51单片机、LCD模块以及按键模块。

- 按键扫描:通过扫描按键模块,获取用户的输入。

- 数字输入与显示:根据用户输入,将数字显示在LCD上。

- 运算逻辑:根据用户输入的运算符和数字,执行相应的计算操作,并将结果显示在LCD上。

3. 功能实现初始化在初始化阶段,我们需要初始化51单片机的GPIO口、LCD模块以及按键模块。

具体的初始化代码如下:// 初始化51单片机的GPIO口// 初始化LCD模块// 初始化按键模块按键扫描为了获取用户的输入,我们需要通过按键模块进行扫描。

具体的按键扫描代码如下:// 扫描按键模块// 如果检测到按键按下,则进行相应的处理数字输入与显示当用户按下数字键时,我们将获取到的数字输入缓存起来,并将其显示在LCD上。

具体的数字输入与显示代码如下:// 获取按键输入的数字// 将数字添加到输入缓存// 将输入缓存显示在LCD上运算逻辑当用户按下运算符键时,我们需要根据输入的数字和运算符执行相应的计算操作,并将结果显示在LCD上。

具体的运算逻辑代码如下:// 获取运算符输入// 根据运算符和输入的数字执行相应的计算操作// 将计算结果显示在LCD上清零和等于功能为了提升用户体验,我们还可以添加清零和等于功能。

毕业设计,基于C51单片机的简易计算器的设计演示PPT

毕业设计,基于C51单片机的简易计算器的设计演示PPT

PSEN ALE EA
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
PSEN ALE EA
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
7SEG-MPX8-LED
8051 CALCULATOR(简易计算器) (1)计算器能显示8位数字,开机运行时,只有 数码管最低位显示为“0”,其余位全部不显示; (2)具有4×4键盘,分别表示0~9、+、-、 ×、/ 、=和清零键CL,输入的数字从设计的键盘 输入; (3)可对两个无符号数进行加、减、乘、除运算, 并显示计算结果。 (4)结果溢出时发出“嘀”报警声
GND
ISET
VCC
2 3 4 5 6 7 8 9
P3.4
Q1
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
9
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7
本设计收获戒成效
• (1)查阅资料、熟悉计算器模拟系统的工作原理和设计 思路。 • (2)掌握单片机软件编程方法,了解硬件设计制作和方 法。 • (3)提高电路制作(protel99se软件)和调试能力。 • (4)提高毕业论文的撰写能力。 • (5)提高不人合作的能力和意识。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机十进制加法计算器设计摘要本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。

设计过程在硬件与软件方面进行同步设计。

硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。

显示采用3位7段共阴极LED动态显示。

软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。

编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。

引言十进制加法计算器的原理与设计是单片机课程设计课题中的一个。

在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。

单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。

关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除目录摘要 (01)引言 (01)一、设计任务和要求.............................1、1 设计要求1、2 性能指标1、3 设计方案的确定二、单片机简要原理.............................2、1 AT89C51的介绍2、2 单片机最小系统2、3 七段共阳极数码管三、硬件设计...................................3、1 键盘电路的设计3、2 显示电路的设计四、软件设计...................................4、1 系统设计4、2 显示电路的设计五、调试与仿真.................................5、1 Keil C51单片机软件开发系统5、2 proteus的操作六、心得体会....................................参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................一、设计任务和要求1.1 设计要求本次课程设计,我选择的课题是单片机十进制加法计算器软硬件设计,设计任务为:设计一键盘显示装置,键盘上除需定义10个十进制数字键外还要相应的功能键,其它键不定义无响应。

利用此系统可分别可输入十进制被加数与加数,实现两数相加并将结果以十进制形式显示出来。

(扩展:多位10进制数相加)1.2 性能指标本课程设计的十进制加法计算器的计算范围为0~255,计算结果全为整数,计算结果溢出结果不显示。

1、加法:三位加法,计算结果超过255溢出不显示2、减法:三位减法,计算结果若小于零溢出不显示3、乘法:三位数乘法4、除法:整数除法5、有清零功能1.3 设计方案的确定按照1.1的设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于AT89C51芯片的I口不够多,而且为了硬件电路设计的简单化,故选择串行动态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行动态显示显示运算结果。

主程序进行初始化,采用行列扫描进行查表得出键值,每次按键后调用显示子程序。

二、单片机简要原理在该课程设计中,主要用到一个AT89C51芯片和串接的共阴数码管。

作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。

2.1 AT89C51的介绍:图一AT89C51外形结构和引脚分布图芯片AT89C51的外形结构和引脚图如图一所示。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2.2 单片机最小系统单片机最小系统就是支持主芯片正常工作的最小部分,包括主控芯片、复位电路和晶振电路。

(一)复位电路图二复位电路本设计采用上电与手动复位电路,电阻分别选取100和10K,电容选取10uF,系统一上电,芯片就复位,或者中途按按键也可以进行复位。

(二)晶振电路图三晶振电路晶振电路是单片机的心脏,它用于产生单片机工作所需要的时钟信号。

单片机的晶振选取11.0592MHz,晶振旁电容选取30pF。

2.3 七段共阳极数码管图四七段共阳数码管图为七段共阳数码管的引脚图,从左到右数码管的段码分别为a,b,c,d,e,f,g和小数点dp,低电平时点亮,最右边为位选端。

三、硬件设计简易数字计算器系统硬件设计主要包括:键盘电路,显示电路以及其他辅助电路。

下面分别进行设计。

3.1 键盘电路的设计键盘可分为两类:编码键盘和非编码键盘。

编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。

通用计算机使用的标准键盘就是编码键盘。

当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。

但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路通常采用非编码键盘。

非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过接口软件来获取。

本课题需要的是16个按键,故选择用非编码键盘。

计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。

矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。

这样键盘上按键的个数就为4×4个。

这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。

矩阵键盘的工作原理:计算器的键盘布局如图五所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。

具体电路连接如图五所示:图五4*4键盘接口电路3.2 显示电路的设计当系统需要显示少量数据时,采用LED数码管进行显示是一种经济实用的方法。

数码管显示有静态显示和动态显示两种方法。

为了减少端口的使用,故选择动态显示。

电路如下图六所示:图六三位数码管的显示电路四、软件设计在十进制加法计算器的软件规划要求下,简易计算器的程序主要包括以下功能模块:(1)主模块,为系统的初始化。

(2)显示与读键模块,分为判键程序段、运算操作子程序、显示子程序等部分;4.1 系统设计(一)系统模块图单片机输入模块运算模块显示模块图六系统模块图此系统包括输入、运算和显示模块,由单片机控制。

其中通过输入键盘模块将数字0~9和运算符号“+”、“-”、“*”、“/”输入单片机进行运算;运算模块分别根据输入的运算符进行加减乘除运算;显示模块将运算后的数值通过动态扫描使之在数码管上输出。

(二)系统总流程图主程序主要是用来进行初始化的,调用其他子程序,清空各个标志位,清空缓存区,读取键码,判断功能,在LED上作出回应,主程序流程图如图六所示。

(1)数字送显示缓冲程序设计简易计算器所显示的数值最大位三位。

要显示数值,先判断数值大小和位数,如果是超过三位或大于255,将不显示数字。

可重新输入数字,再次计算。

(2)运算程序的设计首先初始化参数,送LED三位显示“0”,其它位不显示。

然后扫描键盘看是否有键输入,若有,读取键码。

判断键码是数字键、清零键还是功能键,是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。

图七 主程序流程图初始化参数清零键LED 显示输入数值 读取键值状态清零数值送显示缓存开始按键输入?分析键值数字键 等待数值输入结果送显示缓存保存结果和功能键根据上次功能键和输入的数据计算结果功能键否是是数字键是清零键是功能键4.2 显示与按键设计(一)LED显示程序设计LED显示器由七段发光二极管组成,排列成8字形状,因此也称为七段LED显示器。

为了显示数字或符号,要为LED显示器提供代码,即字形代码。

七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。

简易计算器用到的数字0~9的共阳极字形代码如下表:显示字型g f e d c b a段码001111110c0h100001100f9h210110110a4h310011110b0h4110011099h5110110192h6111110182h700001110f8h8111111180h9110111190h表一共阳极数码管段码对照表(二)读键子程序设计为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。

为了得到被按键的键码,现使用行扫描法识别按键。

其程序框图如图八:读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。

第一次所有列线均输出低电平,从所有读入键盘信息(行信息);第二次所有行线均输出低电平,从所有行线读入键盘信息(列信息)。

将两次读键信息进行组合就可以得到按键的特征编码,然后通过查表得到按键的顺序编码。

将各特征编码按希望的顺序排成一张表,然后用当前读得的特征码来查表。

当表中有该特征码时,它的位置就是对应的顺序编码;当表中没有该特征码时,说明这是一个没有定义的键码,与没有按键(0FFH)同等看待。

图八计算键值子程序流程图五、调试与仿真下面用KEIL uVision3与proteus仿真软件介绍十进制加法计算器的仿真与调试。

相关文档
最新文档