微机原理课程设计简易计算器

合集下载

微机原理课件设计简易计算器

微机原理课件设计简易计算器

$二○一一~二○一二学年第一学期信息科学与工程学院自动化系:课程设计计划书课程名称:微机原理及应用课程设计班级:自动化 0901姓名:王立学号: 4032 ]指导教师:孟志华二○一一年十二月六日一、课题名称简易计算器设计二、课题目的利用8088和8255设计一个简易计算器,并将其结果显示在LED数码管上。

熟悉系统设计的基本步骤,掌握8088与8255的接口设计,掌握通过8255设计键盘扫描技术,掌握通过8255显示七段共阴极数码管设计。

加强对8088数据总线,地址总线及接口寻址的理解,加深对8255的端口控制的理解。

!三、需求分析(1)能够实现99以内的加减乘法运算,并显示在2位LED上。

(2)对于减法运算产生的负数,可在LED上显示“-”号,若负量超过9,则显示“E0”。

四、方案选择方案一:、该方案将LED显示电路直接接在8088的DB上,而键盘则采用8255进行扫描。

(方案二:该方案则是将LED 显示电路和键盘扫描电路分别接在两个不同的8255上,扫描和显示时,选中不同的8255。

方案三:)该方案则只用一片8255驱动LED 显示和键盘扫描电路。

方案评估:方案一:LED 显示驱动电路实现起来较简单,但是很浪费系统总线资源,舍弃!方案二:释放了系统数据总线,但是方案缺乏经济性,因为采用了两片8255,与建设资源节约型社会初衷冲突!舍弃!方案三:此种方案较为经济,方便,具有模块化的特点(因为将计算和显示电路全部集成在了8255上,应用时,直接挂接8255即可实现要求!)&综上所述:采用方案三!五、程序流程图程序总流程图:…判断输入流程图:六、系统原理图键盘映射图:-注:1、复位电路单独画在旁边,其参数设置符合6MHZ。

2、74HC04反相器由于位置不够,本人自己画了一个小型的74HC04。

3、IOW,IOR信号线由于采用了最大系统组态,故由8288的IORC和AIOWC代替。

4、8088的CLK由8284A提供,其电路连接方式参照Datasheet5、最大系统组态连接方式参照课本。

简易计算器的课程设计

简易计算器的课程设计

简易计算器的课程设计一、课程目标知识目标:1. 学生能理解简易计算器的内部工作原理,掌握其基本功能操作。

2. 学生能运用计算器进行基本的算术运算,包括加、减、乘、除以及百分比计算。

3. 学生理解并掌握计算器上各个按键的功能及其在数学运算中的应用。

技能目标:1. 学生能够使用计算器辅助解决实际问题,如购物找零、面积计算等。

2. 学生通过计算器的使用,提高数据输入、结果读取和运算过程纠错的能力。

3. 学生能够结合数学知识,利用计算器进行数据的简单统计分析。

情感态度价值观目标:1. 培养学生对待科学技术的积极态度,认识到计算器在日常生活和学习中的便捷性。

2. 增强学生的团队协作意识,通过小组活动,学会分享和交流使用计算器的经验。

3. 培养学生遵守计算器使用的规则,养成良好的计算器使用习惯,珍惜公共资源。

本课程设计针对的学生群体为小学高年级学生,他们已经具备了一定的数学基础和操作简单电子设备的能力。

课程性质为实用技能型,旨在通过简易计算器的教学,将理论知识与实践操作相结合,提高学生解决实际问题的能力。

在教学要求上,注重培养学生的动手操作能力和创新思维,同时强调情感态度的培养,使学生在学习技能的同时,也能形成正确的价值观。

通过具体学习成果的分解,教师可进行有针对性的教学设计和学习效果评估。

二、教学内容本章节教学内容依据课程目标,结合教材内容,科学系统地组织以下部分:1. 简易计算器基础知识:介绍计算器的发展历程、种类及简易计算器的结构组成,对应教材第二章第一节。

2. 计算器按键功能:详细讲解各按键的功能及其在数学运算中的应用,对应教材第二章第二节。

3. 基本运算操作:教授如何使用计算器进行加、减、乘、除以及百分比计算,对应教材第二章第三节。

4. 计算器在实际应用中的使用:结合实际案例,如购物找零、面积计算等,展示计算器的实用性,对应教材第二章第四节。

5. 数据的简单统计分析:利用计算器进行数据输入、处理和简单统计分析,对应教材第二章第五节。

简易计算器设计的课程设计

简易计算器设计的课程设计

简易计算器设计的课程设计一、课程目标知识目标:1. 学生能够理解简易计算器的基本原理,掌握其设计流程。

2. 学生能够运用所学编程知识,实现简易计算器的功能。

3. 学生能够了解并掌握计算器界面设计的基本原则。

技能目标:1. 学生能够运用所学的编程技能,独立完成简易计算器的设计与开发。

2. 学生能够通过编写代码,实现计算器的加、减、乘、除等基本运算功能。

3. 学生能够运用调试工具,对计算器程序进行测试和优化。

情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣和热情,增强信息素养。

2. 学生通过团队协作,培养沟通能力和团队精神,学会共同解决问题。

3. 学生在设计与开发简易计算器的过程中,体验创新实践的过程,培养创新思维和动手能力。

课程性质:本课程为信息技术课程,旨在帮助学生将所学的编程知识运用到实际项目中,提高学生的编程实践能力和创新能力。

学生特点:六年级学生具备一定的编程基础,对新鲜事物充满好奇心,喜欢动手实践。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,强调动手实践,培养创新思维。

在教学过程中,关注学生的个体差异,鼓励学生相互交流、合作,共同完成学习任务。

通过本课程的学习,使学生能够将所学知识运用到实际项目中,提高解决问题的能力。

二、教学内容1. 计算器原理:介绍计算器的基本工作原理,包括算术运算逻辑、数据存储与处理等。

教材章节:第三章 计算机硬件基础2. 编程语言基础:回顾所学的编程语言(如Python),重点掌握变量定义、数据类型、运算符、条件语句和循环语句等。

教材章节:第二章 编程语言基础3. 界面设计:讲解计算器界面设计的原则和技巧,如布局、颜色、字体等。

教材章节:第四章 用户界面设计4. 编程实现计算器功能:引导学生运用所学知识,编写程序实现计算器的加、减、乘、除等基本运算功能。

教材章节:第五章 算法与程序设计5. 程序调试与优化:教授学生如何使用调试工具,对计算器程序进行测试、调试和优化。

微机原理课件设计简易计算器

微机原理课件设计简易计算器

微机原理课件设计简易计算器(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--二○一一~二○一二学年第一学期信息科学与工程学院自动化系课程设计计划书课程名称:微机原理及应用课程设计班级:自动化 0901 姓名:王立学号: 4032指导教师:孟志华二○一一年十二月六日2一、课题名称简易计算器设计二、课题目的利用8088和8255设计一个简易计算器,并将其结果显示在LED数码管上。

熟悉系统设计的基本步骤,掌握8088与8255的接口设计,掌握通过8255设计键盘扫描技术,掌握通过8255显示七段共阴极数码管设计。

加强对8088数据总线,地址总线及接口寻址的理解,加深对8255的端口控制的理解。

三、需求分析(1)能够实现99以内的加减乘法运算,并显示在2位LED上。

(2)对于减法运算产生的负数,可在LED上显示“-”号,若负量超过9,则显示“E0”。

四、方案选择方案一:该方案将LED显示电路直接接在8088的DB上,而键盘则采用8255进行扫描。

3方案二:该方案则是将LED显示电路和键盘扫描电路分别接在两个不同的8255上,扫描和显示时,选中不同的8255。

方案三:该方案则只用一片8255驱动LED显示和键盘扫描电路。

方案评估:方案一:LED显示驱动电路实现起来较简单,但是很浪费系统总线资源,舍弃!方案二:释放了系统数据总线,但是方案缺乏经济性,因为采用了两片8255,与建设资源节约型社会初衷冲突!舍弃!方案三:此种方案较为经济,方便,具有模块化的特点(因为将计算和显示电路全部集成在了8255上,应用时,直接挂接8255即可实现要求!)综上所述:采用方案三!4五、程序流程图程序总流程图:5判断输入流程图:6六、系统原理图7注:1、复位电路单独画在旁边,其参数设置符合6MHZ。

2、74HC04反相器由于位置不够,本人自己画了一个小型的74HC04。

3、IOW,IOR信号线由于采用了最大系统组态,故由8288的IORC和AIOWC代替。

简易计算器课程设计

简易计算器课程设计

山东大学控制科学与工程学院课程设计报告书课程设计名称:简易计算器班级:测控一班学号:201000171202姓名:魏凯峰一、电路工作原理该电路主要由以下几部分组成,1、51系列单片机最小系统板,由AT89C51单片机,复位电路,晶振电路(晶振频率是11.0592MHZ),这部分是控制中心,晶振电路可产生程序运行所需要的时钟频率。

2、显示部分,由8位共阴数码管和两个74HC573锁存器、排阻(1K)组成,74HC573锁存器用于动态显示数据,也有驱动显示作用,排阻是限流作用。

3、按键部分,由20位独立键盘组成,按矩阵形式连接,用到9个IO口。

原理:键盘作为数字输入,矩阵键盘的工作原理是当某个键按下时,其两端的IO口电平变化,程序中通过相应位的与或运算,就可以判断出是哪个按键被按下,单片机中的程序不断读取键盘的输入并实时显示在数码管上,数码管用段位选不断切换显示,如当位选为高电平时即为点亮,然后再输入相应的数字段码(该电路中用的是共阴极数码管的字码),这样数码管上便可以显示相应数字。

锁存器中的LE口就是段位选口,高电平有效,数码管中的A、B......G、DP是数码管中的每一段,只要某个字母为高电平,则该段二极管就会被点亮(共阴极)。

在同时显示多个数字时要利用到动态显示,视觉动态显示主要就是利用人眼的视觉感来设计的,一般来说如果显示的频率过慢,则会有断断续续的显示;如果显示的频率加快,则人眼就分辨不出这种视觉残余!二、程序简要说明从主函数开始,先是定义一些变量,然后是调用显示函数displaypro(0),先显示0,然后进入一个大循环while(1),在循环里面先检测键盘keyscan(),并把检测值赋给K,然后是段位选循环8次检测,然后用switch(k)函数来执行键盘操作,k的值从0到9表示输入数字0到9,10到13表示加减乘除,17、15分别表示十六进制和二进制,16表示小数点,14表示正负号,18表示清除,19是等于号。

课程设计 简易计算器的设计制作

课程设计 简易计算器的设计制作

1一. 设计任务简易计算器的设计制作二.设计内容利用16个4脚按键开关组合成4×4的键盘,4根行线和4根列线接至单片机的另一并行输出口上,作为输出设备;再配合使用电源,时钟电路,复位电路即可构成一基于51单片机的最小输入,输出系统。

三.设计要求1、设计简易计算器,要求能对0-99之间的数进行加、减、乘、除运算。

2、用4×4的键盘作为输入设备。

3、用LED 或LCD 进行显示。

4、编写无符号数加、减、乘、除运算、输入和显示的程序。

5、对系统的进行综合和调试,使其具有对0-99之间的数进行加、减、乘、除运算的功能。

6、编写课程设计的总结 四.参考选取元器件见附录1 五.设计方案论证液晶显示模块与单片机的连接方式通常有两种,一种为直接访问方式(总线方式),另一种为间接控制方式(模拟口线)。

直接访问方式就是将液晶显示模块的接口作为存储器或I/O 设备直接挂在单片机总线上,单片机以访问存储器或I/O 设备的方式控制液晶显示模块的工作。

间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接,单片机通过 对这些接口的操作,达到对液晶显示模块的控制。

间接控制方式的特点是电路简单,可省略单片机外围的数字逻辑电路,控制时序由软件产生,可以实现高速单片机与液晶显示模块的接口,故本次设计采用间接控制方式。

(1)模拟口线2图2-2-1(2)总线方式图2-2-2六.设计原理1.逻辑框图(由于实际电路与任务电路有部分出入,但原理相同,见图2-2-3)图2-2-3 2.键盘结构及其原理图2-2-4如图2-2-4所示,键盘中有无键按下是由列线送入全扫描字,然后读LCD 显示AT89C51矩阵键盘输入时钟电路 复位电路入行线状态来判断。

具体是:向列线输出全扫描字00H,将全部列线置为低电平,然后将行线的电平状态读入累加器A中。

如果有键按下,总会有一根行线电平被拉至低电平,从而使输入不全为1。

键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态实现的。

微机课设简易计算器

微机课设简易计算器

微机课程设计报告题目简易计算器仿真学院(部)信息学院专业通信工程班级2011240401学生姓名张静学号3312 月14 日至12 月27 日共2 周指导教师(签字)吴向东宋蓓蓓单片机十进制加法计算器设计摘要本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。

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

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

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

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

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

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

简易的计算器课程设计

简易的计算器课程设计

简易的计算器课程设计一、课程目标知识目标:1. 学生能理解计算器的基本功能,掌握开关机、数字输入、基本运算符号的使用。

2. 学生能掌握计算器上各按键的功能,如清除、撤销等操作。

3. 学生了解计算器的类型,如简单计算器、科学计算器等。

技能目标:1. 学生能熟练操作计算器,完成基本的数学运算,如加减乘除、百分比等。

2. 学生能运用计算器解决实际生活中的数学问题,如购物找零、计算面积等。

3. 学生能通过计算器进行简单的数据统计和分析。

情感态度价值观目标:1. 学生培养对数学的兴趣和好奇心,认识到计算器在生活中的重要性。

2. 学生养成良好的计算习惯,尊重数学知识,注重实际应用。

3. 学生在小组合作中,学会分享和倾听,培养团队协作精神。

本课程针对小学四年级学生设计,结合学生的认知特点,注重培养实际操作能力和解决问题的能力。

课程以计算器为工具,引导学生运用数学知识解决实际问题,提高学生对数学学科的兴趣和自信心。

通过分解课程目标,教师可以更好地进行教学设计和评估,确保学生达到预期学习成果。

二、教学内容本章节教学内容主要包括以下三个方面:1. 计算器的基本操作与功能- 认识计算器的各部分名称和功能- 学习开关机、数字输入、基本运算符号的使用- 掌握清除、撤销等操作教学内容关联课本第四章第一节数学工具的使用。

2. 基本数学运算- 加减乘除四则运算- 百分数、乘方运算- 混合运算顺序与计算教学内容关联课本第四章第二节数学运算的应用。

3. 计算器在实际生活中的应用- 解决购物找零问题- 计算简单图形的面积和周长- 数据的统计与处理教学内容关联课本第四章第三节数学与生活。

教学大纲安排如下:第一课时:认识计算器及其基本操作第二课时:基本数学运算与计算器操作第三课时:计算器在实际生活中的应用教学进度根据学生的掌握情况灵活调整,确保学生充分理解和掌握教学内容。

三、教学方法针对本章节内容,采用以下教学方法:1. 讲授法:教师通过生动的语言和形象的表达,向学生介绍计算器的基本操作与功能,以及基本数学运算的规则。

微机原理课设--简易计数器设计

微机原理课设--简易计数器设计

1.总体设计思想及主要功能1.1总体设计思想程序主要分为主程序,输入子程序,输出子程序,加法子程序,减法子程序,乘法子程序,除法子程序。

根椐输入的符号选用不同的运算子程序,最后调用输出子程序。

各个程序的具体做法,详见后面的流程图和分析。

本程序的关键是在输入、输出程序,值得特别注意的地方是call 和ret的调用,而且还要清楚跳转的返回地址;由于计算器比数学用表等计算工具要先进得多,应该积极倡导学生加速用计算器取代数学用表的进程。

从键盘输入数据与运算符;可以进行加、减、乘、除四则运算,输入和输出的数均必须为十进制的。

输入的数据最大为双字的,。

如果输入的除数为0;输出错误信息。

输入的表达式有误,输出错误信息。

输入的两个数,不能除尽时,输出除数输入错误信息。

如果输入了空格,同样输出错误信息。

输出的数据最大可输出4字,为的是输出乘除法的结果。

除法最后所得结果可为小数点后四位值。

1.2实现的主要功能(1)输入和输出的数均为十进制的。

(2)输入的数据最大为双字的且必须是数字,当输入字母或其他非数字符号时,输出错误信息。

(3)如果输入的除数为0;输出错误信息。

(4)输入的表达式有误,输出错误信息。

(5)输入的两个数,有一个大于双字,输出错误信息。

(6)如果输入了空格,输出错误信息。

(7)输出的数据最大可输出4字,为的是输出乘法的结果。

(8)除法有不能整除的情况时,输出小数结果保留小数点后四位并显示除数输入错误信息。

2.简单计算器的流程图2.1 主程序的流程图主程序设计思路说明:输入的数据如果超过双字,就会溢出,因为我定义的存储器为双字的。

输入什么样的数都会有一个范围,一定得有这个信息。

根据输入的符号调用相应的函数。

除法和别的不一样,还要输出余数,并且,除数不能是0。

所以我就在里面调用了输出函数,要输出两次,而外面只能输出一次,为了更好输出结果,我就只好这样了。

输入y可以继续进行运算,要注意的是,要把原来的数给清0,不然得不到答案。

微机原理简易计算器课程设计

微机原理简易计算器课程设计

告计报课程设简易计算器课程设计名称:三系系别:张梦瑶学生姓名:1 11通信班班级:20110306111 学号:成绩:指导教师:袁静开课时间:2013-2014 学年 1 学期微机原理课程设计——简易计算器一.设计题目简易计算器二.主要内容1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。

2、画出程序流程图。

3、根据流程图,编写源程序。

4、上机调试程序。

三.具体要求1、利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。

2、利用BIOS中断的10号功能调用来设置显示方式。

3、利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。

四.进度安排五.成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。

考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。

成绩评定:优,良,中,及格,不及格。

:如发现抄袭,按照不及格处理。

特别说明页24共页2第微机原理课程设计——简易计算器目录前言 .....................................................41、设计题目 (5)2、设计内容 (5)2.1 基本内容 (5)2.2 主要功能 (5)3、设计原理及方案 (6)3.1 总体方案 (6)3.2 程序流程图 (7)3.2.1 主程序 (7)3.2.2 计算子程序 (8)3.3 系统模块详细设计 (9)3.3.1 界面设置 (9)3.3.2 算法选择设置 (10)3.3.3 数制转换设置 (11)4.汇编源程序代码 ........................................135、调试运行结果 (20)5.1 操作说明 (20)5.2 调试运行结果 (20)6、心得体会 (23)7、参考文献 (24)页24共页3第微机原理课程设计——简易计算器前言课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

微型计算机原理与接口技术简易计算器系统设计

微型计算机原理与接口技术简易计算器系统设计

微型计算机原理与接口技术简易计算器系统设计计算器是一种能够进行基本算术运算的设备,它通常包括数字输入、运算功能、显示屏和输出等部分。

在设计计算器系统时,我们首先需要确定计算器的硬件结构和组成,然后再考虑如何实现各个功能模块之间的接口。

首先,我们需要确定计算器的硬件结构,包括中央处理器(CPU)、存储器、输入设备、输出设备和控制器等。

其中,CPU负责执行计算器的运算逻辑,存储器用于存储运算过程中的数据,输入设备用于接收用户的输入,输出设备用于显示计算结果,控制器用于控制各个部件之间的数据传输和协调工作。

接下来,我们需要考虑如何实现输入设备和CPU之间的接口。

常见的计算器输入设备有键盘和按钮,这些设备通常以二进制码的形式将输入的数字和操作符传输给CPU。

在接口设计中,我们可以使用行列扫描和键盘编码等技术,将键盘上每个按钮与一个独立的编码对应,通过扫描键盘的行和列,可以确定用户按下的是哪个按钮,并将对应的编码传输给CPU。

接着,我们需要考虑如何实现CPU和存储器之间的接口。

存储器通常分为寄存器和内存两部分,寄存器用于存储CPU运算过程中的中间结果,内存用于存储用户输入的数据和计算结果。

在接口设计中,我们可以使用地址线和数据线来实现CPU与存储器之间的数据传输。

通过选择不同的地址线,CPU可以读取和写入不同的数据,从而实现数据的存储和读取等操作。

最后,我们需要考虑如何实现CPU和输出设备之间的接口。

输出设备通常是液晶显示屏或数码管等,它们用于显示计算结果。

在接口设计中,我们可以使用数据线和控制线来实现CPU与输出设备之间的数据传输和控制。

通过向输出设备发送指定的数据和控制信号,CPU可以控制输出设备实现相应的显示功能。

综上所述,微型计算机原理与接口技术是一个涉及计算机硬件结构、工作原理和接口设计的重要课程。

在本简易计算器系统设计中,我们考虑了计算器的硬件结构和组成,以及输入设备、存储器、CPU和输出设备之间的接口。

简易计算器的课程设计

简易计算器的课程设计

简易计算器的课程设计一、课程目标知识目标:1. 学生能理解简易计算器的基本原理,掌握其功能和使用方法。

2. 学生能运用所学的数学知识,如加、减、乘、除等运算,进行计算器操作。

3. 学生了解计算器在日常生活和学习中的应用场景。

技能目标:1. 学生能够熟练操作简易计算器,完成基本的数学运算。

2. 学生通过计算器解决实际问题,提高问题解决能力和逻辑思维能力。

3. 学生通过小组合作,培养团队协作能力和沟通能力。

情感态度价值观目标:1. 学生培养对数学学习的兴趣,认识到数学与生活的紧密联系。

2. 学生在学习过程中,培养细心、耐心和严谨的学习态度。

3. 学生通过计算器的使用,认识到科技进步对生活的影响,增强科技意识。

课程性质:本课程为实践操作课程,结合数学知识,培养学生的实际操作能力和问题解决能力。

学生特点:考虑到学生所在年级的特点,课程内容难度适中,注重激发学生的学习兴趣和动手能力。

教学要求:教师应注重理论与实践相结合,关注学生的个别差异,引导他们主动探索和解决问题。

在教学过程中,将目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 计算器的发展历史及分类- 了解计算器的演变过程,认识不同类型的计算器及其功能特点。

2. 简易计算器的结构组成- 学习简易计算器的按键功能、显示屏幕、电池等组成部分。

3. 基本数学运算操作- 学习运用计算器进行加、减、乘、除等基本数学运算。

4. 计算器在生活中的应用实例- 分析计算器在购物、预算、科学研究等领域的实际应用。

5. 计算器操作技巧与注意事项- 掌握计算器操作的快捷键,了解使用计算器时的注意事项。

6. 解决实际问题的方法- 结合实际问题,运用计算器进行数据计算和问题分析。

教学内容安排与进度:第一课时:计算器的发展历史及分类,简易计算器的结构组成。

第二课时:基本数学运算操作,计算器在生活中的应用实例。

第三课时:计算器操作技巧与注意事项,解决实际问题的方法。

微机原理课程设计任务书04(简易计算器)

微机原理课程设计任务书04(简易计算器)
1、设计有可以显示输入数字与运算结果的数码管,有可供使用的16个按键,16个键对应于0~9数字以及+、-、*、/、=以及重新开始;
2、能实现10以内的加、减、乘、除单步运算并显示结果,
3、能够显示“错误”提示;
4、能够中止还未输入完的计算式。
课程设计任务书
3.对本课程设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
2、《数字电子技术基础》阎石高等教育出版社2001
3、《电子电路基础》童诗白高等教育出版社1995第2版
4、《电子技术课程设计指导》高等教育出版社 彭介华2002
课程设计任务书
5.本课程设计课题工作进度计划:起迄日期 Nhomakorabea工作内容
12年
12月21日~月日12月21日~12月25日12月26日~12月28日
皖西学院
课程设计任务书
系别:
机电学院
专业:
电气自动化
学生姓名:
学号:
课程设计题目:
简易计算器设计
起迄日期:
12月24日~1月4日
课程设计地点:
教学实验楼B楼
指导教师:
下达任务书日期: 12年12月21日
课程设计任务书
1.本次课程设计应达到的目的:
1、综合运用相关课程中所学到的理论知识去独立完成某一设计课题;
12月29日~1月3日
12月31日~1月4日
1月5日
下达设计任务书
完成原理设计
系统仿真
安装调试
撰写设计报告
答辩或成绩考核
教研室主任审查意见:
负责人签字:
年月日
1、根据技术指标及实验室条件自选方案设计出原理电路图(用propel 99),分析工作原理,选择元件参数。

微机简单计算器程序设计

微机简单计算器程序设计

微机简单计算器程序设计一、问题分析计算器是一种常见的应用程序,可以进行基本的数学运算。

简单计算器可以进行加法、减法、乘法和除法运算,用户可以输入两个数字和运算符,计算器将显示计算结果。

二、需求分析1.用户可以输入两个数字和运算符。

2.计算器可以进行加法、减法、乘法和除法运算。

3.计算器可以显示计算结果。

三、设计思路1.接收用户输入的两个数字和运算符。

2.根据运算符进行相应的运算。

3.显示计算结果。

四、程序设计下面是一个使用C语言编写的简单计算器程序:```c#include <stdio.h>int maifloat num1, num2, result;char operator;printf("请输入两个数字和运算符(例如:2 + 5):"); scanf("%f %c %f", &num1, &operator, &num2);switch (operator)case '+':result = num1 + num2;printf("%.2f + %.2f = %.2f\n", num1, num2, result); break;case '-':result = num1 - num2;printf("%.2f - %.2f = %.2f\n", num1, num2, result); break;case '*':result = num1 * num2;printf("%.2f * %.2f = %.2f\n", num1, num2, result); break;case '/':if (num2 != 0)result = num1 / num2;printf("%.2f / %.2f = %.2f\n", num1, num2, result);} elseprintf("错误:除数不能为0\n");}break;default:printf("错误:无效的运算符\n");}return 0;```五、程序运行1.编译程序并运行。

微型计算机课程设计-简易计算器

微型计算机课程设计-简易计算器

课程设计设计名称: 微型计算机技术及应用——简易计算器学院:信息工程学院课程:微型计算机技术及应用姓名:学号:班级:2014级计算机科学与技术二班目录摘要 (3)一、前言 (4)1.1背景 (4)1.2项目介绍 (4)二、课程设计的目的与任务 (5)2.1设计目的 (5)2.2设计任务 (5)三、设计过程 (5)3.1基础理论 (5)3.1.1DOSBox简介 (5)3.1.2中断 (8)四、设计 (11)4.1总体方案 (11)4.2原理框图 (12)4.3程序代码 (13)五、系统模块详细设计与调试 (24)5.1系统模块详细设计 (24)5.1.1设置屏幕显示方式 (24)5.1.2显示主菜单 (24)5.1.3从键盘接收一个数字 (24)5.1.4接收键入用于计算的数 (25)5.1.5显示结果 (25)5.1.6子程序A2——将数的ASCII码转为二进制数 (25)5.1.7将计算结果的二进制数转换为对应的十进制数ASCII码并输出显示(A3程序段) (27)5.2程序编译、运行与调试 (27)六、设计总结 (29)七、参考文献 (31)摘要本次课程设计是通过使用DOSBox汇编语言编程软件实现的利用汇编语言编写的较为复杂的程序设计。

该课程设计主要是设计一个较为简单的计算器,界面显示要求用户从键盘上分别输入两个随机数,完成四则运算,然后将运算结果显示到屏幕上。

该设计智能实现简单的正整数之间的四则运算,无法对小数进行精确地识别。

而除法运算可以精确到3位小数,减法可以显示出负数的结果。

采用DOS调用(INT 21H)来完成键盘的输入和屏幕的输出。

通过这次的课程设计能够进一步加深对专业知识和理论知识学习的认识和理解。

关键词:DOSBox;微机原理;计算器;汇编语言一、前言1.1背景计算器是现代人发明的可以进行数字运算的电子机器。

现代的电子计算器能进行数学运算的手持电子机器,拥有集成电路芯片,但结构比电脑简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱。

微机课程设计--计算器

微机课程设计--计算器

课程设计课程名称微机课程设计题目名称__ 计算器学生学院____ 自动化__ ______ 专业班级____ 12电力(2) _2015 年 1月 7日一.目的1. 巩固和加深对《微机原理及应用》课程内容的认识和理解,提高应用水平; 2. 掌握汇编语言程序的编程方法; 3. 熟悉键盘控制和七段数码管的使用。

二.设计要求课程设计内容按下图接线上机编程:1、编程 将储存器的数据F 、D 、B 、9、7、5共6个数经XLAT 查表后,在六位七段数码管LED 上显示出来;2、 编程按学号实现下面键盘,在显示器上显示对应键值,要求显示值能左移;上两行下两行1~5号 6~10号 3、编程实现:a).定义键盘按键,12个为数字键0~F ,4个功能键:加号+,除号÷,等号=,CLEAR 清零键;a) 可进行四位16进制除法运算。

b) 可进行五位10进制加法运算;4、电路框图5、课程设计报告课程设计完成后,交课程设计报告一份(内容包括:系统设计说明、系统原理图、程序设计流程图、源程序、注解)。

目录一、源程序 (3)1.程序一 (3)1.1 题目 (3)1.2 源程序 (4)2.程序二 (5)2.1题目 (5)2.2 源程序 (6)3.程序三 (11)3.1题目 (11)3.2 源程序 (13)二、心得与体会 (19)三、参考文献 (19)一、源程序1.程序一1.1题目:编程将储存器的数据F、D、B、9、7、5共6个数经XLAT查表后,在六位七段数码管LED上显示出来。

流程图:1.2源程序:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDA TA SEGMENTT1 DB 0FH, 0DH, 0BH, 09H, 07H, 05HT2 DB 0FCH, 60H, 0DAH, 0F2H, 66H, 0B6H, 0BEH, 0E0H ;设置0~F数码管段码DB 0FEH, 0F6H, 0EEH, 3EH, 9CH, 7AH, 9EH, 8EHDA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TASTART: MOV AX, DATAMOV DS, AXMOV AL, 82H ;8255A初始化MOV DX, 0606HOUT DX, ALA1:MOV AH, 0FEH ;移位代码LEA SI, T1MOV CX, 0006HA2:MOV AL, AHMOV DX, 0600HOUT DX, ALMOV AL, [SI]LEA BX, T2XLATMOV DX, 0604HOUT DX, AL ;查表的段码送C口显示INC SIROL AH, 01HCALL DALL YLOOP A2JMP A1DALL Y: ;延时PUSH AXPUSH CXMOV CX, 0002HA3:MOV AX,0FFFHA4:DEC AXJNZ A4LOOP A3POP CXPOP AXRETCODE ENDSEND START2.程序二2.1 题目:编程按学号实现下面键盘,在显示器上显示对应键值,要求显示值能左移;B A 9 8 7 6 5 40 1 2 3上两行下两行1~5号6~10号流程图:2.2源程序:STACK SEGMENT STACKDW 64 DUP (?)STACK ENDSDA TA SEGMENTTABLE DB 0FCH, 60H, 0DAH, 0F2H, 66H, 0B6H, 0BEH, 0E0H DB 0FEH, 0F6H, 0EEH, 3EH, 9CH, 7AH, 9EH, 8EHV AR1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEHV AR2 DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCHV AR3 DB 00H,00H,00H,00H,00H,00H,00H,00HDA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TASTART:MOV AX, DA TAMOV DS, AXMOV AL, 82H ;8255A初始化MOV DX, 0606HOUT DX, ALMOV BX, 0000HSTT: ;键盘测试MOV AL, 00HMOV DX, 0600HOUT DX, ALMOV DX, 0602HIN AL, DXAND AL, 60HCMP AL, 60HJNZ KEYKEYCALL DISP ;调用显示程序JMP STTKEYKEY:CALL TIME ;延时,去抖动MOV DX, 0602HIN AL, DXAND AL, 60HCMP AL, 60HJNZ KEYJMP STTKEY: ;键盘扫描识别MOV DX, 0600HMOV AL, 0FEHOUT DX, ALMOV DX, 0602HIN AL, DXTEST AL, 40H ;测试PCB6JNZ KEY_7CALL KEY0JMP STTKKEY_7:TEST AL, 20HJNZ KEY_1CALL KEY7JMP STTKKEY_1:MOV DX, 0600HMOV AL, 0FDHOUT DX, ALMOV DX, 0602HIN AL, DXTEST AL, 40HJNZ KEY_6CALL KEY1JMP STTKKEY_6:TEST AL, 20HJNZ KEY_2CALL KEY6JMP STTKKEY_2:MOV DX, 0600HMOV AL, 0FBHOUT DX, ALMOV DX, 0602HIN AL, DXTEST AL, 40HJNZ KEY_5CALL KEY2JMP STTKKEY_5:TEST AL, 20HJNZ KEY_3CALL KEY5JMP STTKKEY_3:MOV DX, 0600HMOV AL, 0F7HOUT DX, ALMOV DX, 0602HIN AL ,DXTEST AL, 40HJNZ KEY_4CALL KEY3JMP STTKKEY_4:TEST AL, 20HJNZ ABCCALL KEY4ABC:JMP STTK;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~KEY0: ;按键0处理子程序CALL LP1 ;低4位字节前移MOV AL, 00HMOV [DI+5],ALLEA BX, TABLE ;查表取出要显示数字的数码管段码XLATMOV [SI+5],ALCALL DISP ;显示RET ; 返回KEY7:CALL LP1MOV AL, 07HMOV [DI+5],ALLEA BX, TABLEXLATMOV [SI+5],ALCALL DISPRETKEY1:CALL LP1MOV AL, 01HMOV [DI+5],ALLEA BX, TABLEXLATMOV [SI+5],ALCALL DISPRETKEY6:CALL LP1MOV AL, 06HMOV [DI+5],ALLEA BX, TABLEXLATMOV [SI+5],ALCALL DISPRETKEY2:CALL LP1MOV AL, 02HMOV [DI+5],ALLEA BX, TABLEXLATMOV [SI+5],ALCALL DISPRETKEY5:CALL LP1MOV AL, 05HMOV [DI+5],ALLEA BX, TABLEXLATMOV [SI+5],ALCALL DISPRETKEY3:CALL LP1MOV AL, 03HMOV [DI+5],ALLEA BX, TABLEXLATCALL DISPRETKEY4:CALL LP1MOV AL, 04HMOV [DI+5],ALLEA BX, TABLEXLATMOV [SI+5],ALCALL DISPRET;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~LP1: ;数据移位保存子程序(前移四位)MOV CX, 0005HMOV SI, OFFSET V AR2MOV DI, OFFSET V AR3LP2:MOV AL, [SI+4]MOV [SI+5],ALMOV AL, [DI+4]MOV [DI+5],ALDEC SIDEC DILOOP LP2RET;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~DISP: ;显示子程序MOV SI, OFFSET V AR1MOV DI, OFFSET V AR2MOV CX, 0006HDIR:MOV AL, [SI]MOV DX, 0600HOUT DX, ALMOV AL, [DI]MOV DX, 0604HCALL TIMEINC SIINC DILOOP DIRRETTIME: ;延时程序PUSH AXPUSH CXMOV CX, 0005HTIME1:MOV AX, 00F0HTIME2:DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRET;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~STTK: ;放键测试CALL DISPMOV AL, 00HMOV DX, 0600HOUT DX, ALMOV DX, 0602HIN AL, DXAND AL, 60HCMP AL, 60HJNZ STTKJMP STTCODE ENDSEND START3.程序三3.1 题目:编程实现:a). 定义键盘按键,12个为数字键0~F,4个功能键:加号+,除号÷,等号=,CLEAR 清零键;b). 可进行四位16进制除法运算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DATA SEGMENT
BUFF DB 6 DUP(0)
JIEGUO DB 3 DUP(0)
COUNT EQU 6
TISHI DB 'The addition and subtraction operations of two two-digit',0DH,0AH,'Input "=",then output the result:',0DH,0AH,'$'
ERROR1 DB 0DH,0AH,'Input error!',0DH,0AH,'Please input again!',0DH,0AH,'$'
HUICHE DB 0DH,0AH,'$'
TUICHU DB 'Please press any key to continue!','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA
START: MOV AX,DATA
MOV DS,AX
LEA DX,TISHI
MOV AH,9
INT 21H
LEA SI,JIEGUO
LEA BX,BUFF
START1: MOV AH,1
INT 21H
CMP AL,'E' ;输入为E或e时退出程序
JZ EXIT
CMP AL, 'e'
JZ EXIT
CMP AL,'C' ;输入为C或c时清屏
JZ QINGPING
CMP AL,'c'
JZ QINGPING
CMP AL,0DH ;输入回车键换行重新输入
JZ HUANHANG
CMP AL,'+' ;输入的字符不为+,-,=,0到9的字符时,则报错,并重新换行输入,是则存储
JNZ LOOP1
JMP CUNCHU
HUANHANG: LEA DX, HUICHE ;实现换行的功能
MOV AH,9
INT 21H
JMP START1
ERROR: LEA DX,ERROR1
MOV AH,9
INT 21H
JMP START1
CUNCHU: ;对输入的字符进行存储MOV [BX],AL
INC BX
JMP START1
LOOP1:
CMP AL,'-'
JNZ LOOP3
JMP CUNCHU
LOOP2:
CMP AL,'0'
JB ERROR
CMP AL,'9'
JA ERROR
SUB AL,30H
JMP CUNCHU
LOOP3:
CMP AL,'='
JZ LOOP4
JMP LOOP2
LOOP4: XOR BX,BX
LEA BX,BUFF
MOV CX,COUNT
PANDUAN:
CMP BYTE PTR[BX+1], '+'
JZ JIAFA
JMP JIANFA
JIAFA: LEA BX,BUFF
MOV DL,BYTE PTR[BX] ;提取两个加数数据
MOV AL,BYTE PTR[BX+2]
ADD AL,DL
CMP AL,10
JAE TZ
ADD AL,30H
BACK: MOV [SI], AL
JC DATA2
JMP DATA1
TZ: SUB AL,10
ADD AL,30H
STC
JMP BACK
JIANFA: LEA BX,BUFF
MOV DL,BYTE PTR[BX] ;提取被减数和减数数据
MOV AL,BYTE PTR[BX+2]
CMP AL,DL
JZ ZERO
JA FU1
JB ZHENG1
ZHENG1: SUB DL,AL
MOV AL,DL
ADD AL,30H
MOV [SI], AL
JMP DATA1
FU1: SUB AL,DL
ADD AL,30H
MOV [SI], AL
JMP FUSHU1
ZERO: MOV DL, 30H ;结果为0的输出
MOV AH,2
INT 21H
JMP START1
DA TA1: LEA SI,JIEGUO
MOV DL,[SI]
MOV AH,2
INT 21H
JMP START1
DATA2: LEA SI,JIEGUO
MOV DL,31H
MOV AH,2
INT 21H
MOV DL,[SI]
MOV AH,2
INT 21H
JMP START1
FUSHU1: MOV DL,'-'
MOV AH,2
INT 21H
LEA SI,JIEGUO
MOV DL,[SI]
MOV AH,2
INT 21H
JMP START1
QINGPING: MOV AL,0 ;实现清屏功能
MOV BH,7
MOV CH,0
MOV DH,24H
MOV DL, 79H
MOV AH,6
INT 10H
MOV DX,0
MOV AH,2
INT 10H
JMP START1
EXIT: LEA DX,TUICHU ;退出程序MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START。

相关文档
最新文档