简易计算器课程设计
简易计算器c课程设计
简易计算器c 课程设计一、课程目标知识目标:1. 让学生掌握简易计算器C的基本结构,包括算术表达式、运算符和操作数。
2. 使学生了解计算器C中的数据类型及其在内存中的存储方式。
3. 让学生理解顺序结构程序设计的原理,并能够运用到简易计算器C的开发中。
技能目标:1. 培养学生运用计算器C编写简单程序的能力,如加减乘除运算。
2. 培养学生分析问题、解决问题的能力,能够针对特定需求设计相应的计算器功能。
3. 提高学生的编程实践能力,通过动手编写代码,实现简易计算器的功能。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发他们主动探索新知识的欲望。
2. 培养学生团队协作意识,学会与他人共同分析问题、解决问题,共同进步。
3. 培养学生严谨、细致的学习态度,养成良好的编程习惯,为今后的学习打下基础。
课程性质:本课程属于编程启蒙课程,以实践操作为主,结合理论讲解,让学生在动手实践中掌握编程基础。
学生特点:本课程面向的学生为具有一定计算机操作基础,对编程感兴趣的年级学生。
教学要求:教师需结合学生特点,以实例为主线,引导学生主动参与课堂,注重培养学生的动手实践能力和团队协作精神。
通过本课程的学习,使学生在掌握计算器C基本知识的同时,提高编程技能和综合素质。
二、教学内容1. 计算器C基本语法:介绍计算器C的数据类型、变量、常量的定义及使用,让学生掌握基本语法规则。
- 教材章节:第一章 计算器C概述- 内容列举:数据类型、变量定义、常量定义、运算符、表达式。
2. 算术表达式:讲解算术表达式的构成,以及加减乘除运算符的使用方法。
- 教材章节:第二章 算术表达式- 内容列举:算术表达式构成、运算符优先级、括号的使用。
3. 顺序结构程序设计:引导学生学习顺序结构程序设计,掌握程序的基本执行流程。
- 教材章节:第三章 程序结构与控制流程- 内容列举:顺序结构、程序执行流程、输入输出语句。
4. 简易计算器C程序设计:结合前面的知识,设计一个简易计算器C程序,实现加减乘除运算。
简易计算器的课程设计
简易计算器的课程设计一、课程目标知识目标: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. 程序调试与优化:教授学生如何使用调试工具,对计算器程序进行测试、调试和优化。
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. 简易计算器程序设计与实现:将所学知识综合运用,设计并实现具备基本运算功能的简易计算器。
- 教材章节:第六章 综合应用实例教学内容根据课程目标进行科学性和系统性组织,制定详细的教学大纲,确保教学内容的安排和进度。
dsp简易计算器课程设计
dsp简易计算器课程设计一、课程目标知识目标:1. 理解DSP(数字信号处理)的基本概念和原理;2. 掌握简易计算器的设计方法和步骤;3. 学会运用DSP技术进行简单数值的计算。
技能目标:1. 能够运用所学知识,设计并实现一个简易计算器程序;2. 能够运用DSP技术进行基本的算术运算;3. 能够分析计算器的性能,并进行优化。
情感态度价值观目标:1. 培养学生对DSP技术及编程的兴趣,激发学习热情;2. 培养学生的团队协作精神,学会共同解决问题;3. 培养学生严谨的科学态度,注重实践操作和理论知识的结合。
课程性质:本课程为信息技术课程,结合了数字信号处理和编程实践。
学生特点:学生具备一定的编程基础,对DSP技术有一定了解,具备基本的算术运算能力。
教学要求:通过本课程的学习,使学生能够运用所学知识,独立设计并实现简易计算器,提高学生的编程实践能力和解决问题的能力。
将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容1. 数字信号处理基础- 介绍DSP的基本概念、发展及应用;- 理解数字信号与模拟信号的区别及转换方法;- 掌握基本的数字信号处理算法。
2. 简易计算器设计原理- 分析计算器的基本功能需求;- 学习计算器的设计方法及步骤;- 了解计算器的用户界面设计。
3. 编程实践- 学习使用DSP开发工具和编程环境;- 编写简易计算器的程序代码;- 调试和优化计算器程序。
4. 教学大纲- 第一周:数字信号处理基础,介绍相关概念,分析计算器功能需求;- 第二周:学习计算器设计原理,讨论设计方法,进行用户界面设计;- 第三周:编写计算器程序,进行功能实现和调试;- 第四周:优化计算器程序,提高性能,总结课程。
教材章节关联:- 第一章:数字信号处理概述;- 第二章:数字信号处理算法;- 第三章:编程实践。
教学内容确保与课本章节紧密关联,遵循由浅入深的原则,使学生能够系统地掌握DSP简易计算器的设计与实现。
简易计算器课程设计
山东大学控制科学与工程学院课程设计报告书课程设计名称:简易计算器班级:测控一班学号: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是等于号。
c简易计算器课程设计
c 简易计算器课程设计一、课程目标知识目标:1. 学生能理解简易计算器的基本原理,掌握加、减、乘、除四则运算的操作方法。
2. 学生能够运用所学知识,解决生活中简单的数学问题。
3. 学生了解计算器的发展历程,认识到科技对生活的影响。
技能目标:1. 学生能够熟练操作简易计算器,进行基本的四则运算。
2. 学生通过实际操作,培养动手能力和问题解决能力。
3. 学生能够运用计算器辅助学习,提高数学学习效率。
情感态度价值观目标:1. 学生培养对数学学习的兴趣,树立正确的数学观念。
2. 学生在合作交流中,培养团队意识和沟通能力。
3. 学生通过计算器的使用,认识到科技发展的成果,增强民族自豪感。
课程性质:本课程为信息技术与数学学科的整合课程,旨在通过简易计算器的学习,提高学生的数学素养和信息技术能力。
学生特点:四年级学生具备一定的数学基础和信息技术能力,好奇心强,善于合作交流。
教学要求:教师需结合学生的特点,采用启发式教学,引导学生主动探究,注重培养学生的动手能力和问题解决能力。
在教学过程中,关注学生的情感态度,激发学生的学习兴趣,使学生在轻松愉快的氛围中学习。
通过本课程的学习,使学生达到预期的学习成果。
二、教学内容1. 计算器的历史与原理:介绍计算器的发展简史,探讨计算器的工作原理,让学生了解计算器的演变过程,认识到科技对生活的改变。
2. 简易计算器操作方法:详细讲解加、减、乘、除四则运算的操作步骤,让学生熟练掌握计算器的使用方法。
3. 实践应用:结合数学课本中的实际例题,指导学生运用计算器进行计算,解决实际问题,提高计算速度和准确性。
4. 计算器在数学学习中的应用:探讨计算器在辅助数学学习中的作用,如:简化计算过程、提高解题效率等。
教学内容安排和进度:第一课时:计算器的历史与原理,计算器的简单操作。
第二课时:四则运算的操作方法,实践练习。
第三课时:计算器在数学学习中的应用,解决实际问题。
教材章节:《信息技术》第四章:计算器与计算机。
简易减法计算器课程设计
简易减法计算器课程设计一、课程目标知识目标:1. 学生能够理解减法的基本概念,掌握减法运算的规则。
2. 学生能够运用减法运算解决实际问题,如计算物品数量减少、温度变化等。
3. 学生了解简易减法计算器的原理,能够运用其进行基本的减法计算。
技能目标:1. 学生能够熟练运用减法运算,提高计算速度和准确性。
2. 学生通过制作简易减法计算器,培养动手操作能力和创新思维。
3. 学生能够运用所学的减法知识,解决生活中的实际问题,提高解决问题的能力。
情感态度价值观目标:1. 学生对数学产生兴趣,积极主动地参与课堂学习。
2. 学生在合作探究中,学会互相尊重、团结协作,培养良好的团队精神。
3. 学生通过解决实际问题,体会数学的实用价值,增强对数学学科的认识和信心。
课程性质:本课程为小学二年级数学课程,以培养计算能力和解决实际问题能力为主要目标。
学生特点:二年级学生具备一定的加减法基础,好奇心强,喜欢动手操作,但注意力集中时间较短。
教学要求:结合学生特点,采用生动有趣的教学方法,激发学生的学习兴趣,注重培养动手操作能力和解决实际问题的能力。
在教学过程中,关注学生的个体差异,因材施教,使每位学生都能达到课程目标。
将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容本节课教学内容主要包括以下几部分:1. 减法运算的概念与规则:通过实例引入减法运算,让学生理解减法的意义,掌握减法运算的步骤和规则。
2. 简易减法计算器的制作与应用:结合教材中的内容,引导学生动手制作简易减法计算器,学习其工作原理,并能够运用其进行基本的减法计算。
3. 减法运算在实际问题中的应用:选取与学生生活密切相关的实际问题,如购物找零、计算物品减少等,让学生学会运用减法运算解决问题。
4. 教学内容的安排和进度:- 第一节课:回顾加法运算,导入减法运算的概念与规则,进行基础练习。
- 第二节课:介绍简易减法计算器的制作方法,学生分组动手制作,并交流展示。
简易的计算器课程设计
简易的计算器课程设计一、课程目标知识目标:1. 学生能理解计算器的基本功能,掌握开关机、数字输入、基本运算符号的使用。
2. 学生能掌握计算器上各按键的功能,如清除、撤销等操作。
3. 学生了解计算器的类型,如简单计算器、科学计算器等。
技能目标:1. 学生能熟练操作计算器,完成基本的数学运算,如加减乘除、百分比等。
2. 学生能运用计算器解决实际生活中的数学问题,如购物找零、计算面积等。
3. 学生能通过计算器进行简单的数据统计和分析。
情感态度价值观目标:1. 学生培养对数学的兴趣和好奇心,认识到计算器在生活中的重要性。
2. 学生养成良好的计算习惯,尊重数学知识,注重实际应用。
3. 学生在小组合作中,学会分享和倾听,培养团队协作精神。
本课程针对小学四年级学生设计,结合学生的认知特点,注重培养实际操作能力和解决问题的能力。
课程以计算器为工具,引导学生运用数学知识解决实际问题,提高学生对数学学科的兴趣和自信心。
通过分解课程目标,教师可以更好地进行教学设计和评估,确保学生达到预期学习成果。
二、教学内容本章节教学内容主要包括以下三个方面:1. 计算器的基本操作与功能- 认识计算器的各部分名称和功能- 学习开关机、数字输入、基本运算符号的使用- 掌握清除、撤销等操作教学内容关联课本第四章第一节数学工具的使用。
2. 基本数学运算- 加减乘除四则运算- 百分数、乘方运算- 混合运算顺序与计算教学内容关联课本第四章第二节数学运算的应用。
3. 计算器在实际生活中的应用- 解决购物找零问题- 计算简单图形的面积和周长- 数据的统计与处理教学内容关联课本第四章第三节数学与生活。
教学大纲安排如下:第一课时:认识计算器及其基本操作第二课时:基本数学运算与计算器操作第三课时:计算器在实际生活中的应用教学进度根据学生的掌握情况灵活调整,确保学生充分理解和掌握教学内容。
三、教学方法针对本章节内容,采用以下教学方法:1. 讲授法:教师通过生动的语言和形象的表达,向学生介绍计算器的基本操作与功能,以及基本数学运算的规则。
c课程设计简易计算器
c 课程设计简易计算器一、课程目标知识目标: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. 数字逻辑基础:逻辑门电路的原理与功能,重点讲解与门、或门、非门等基本逻辑门。
3. 简易计算器电路原理:介绍计算器电路的基本结构,包括电源、输入部分、处理部分和显示部分。
- 电源:讲解如何为计算器电路提供稳定的电源。
- 输入部分:讲解按键扫描电路的原理,使学生理解如何将按键输入转化为电路信号。
- 处理部分:讲解算术逻辑单元(ALU)的功能,重点介绍加法器、寄存器等组成部分。
- 显示部分:介绍七段显示器的原理,使学生了解数字显示的电路实现方式。
简易计算器的课程设计
简易计算器的课程设计一、课程目标知识目标:1. 学生能理解简易计算器的基本原理,掌握其功能和使用方法。
2. 学生能运用所学的数学知识,如加、减、乘、除等运算,进行计算器操作。
3. 学生了解计算器在日常生活和学习中的应用场景。
技能目标:1. 学生能够熟练操作简易计算器,完成基本的数学运算。
2. 学生通过计算器解决实际问题,提高问题解决能力和逻辑思维能力。
3. 学生通过小组合作,培养团队协作能力和沟通能力。
情感态度价值观目标:1. 学生培养对数学学习的兴趣,认识到数学与生活的紧密联系。
2. 学生在学习过程中,培养细心、耐心和严谨的学习态度。
3. 学生通过计算器的使用,认识到科技进步对生活的影响,增强科技意识。
课程性质:本课程为实践操作课程,结合数学知识,培养学生的实际操作能力和问题解决能力。
学生特点:考虑到学生所在年级的特点,课程内容难度适中,注重激发学生的学习兴趣和动手能力。
教学要求:教师应注重理论与实践相结合,关注学生的个别差异,引导他们主动探索和解决问题。
在教学过程中,将目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 计算器的发展历史及分类- 了解计算器的演变过程,认识不同类型的计算器及其功能特点。
2. 简易计算器的结构组成- 学习简易计算器的按键功能、显示屏幕、电池等组成部分。
3. 基本数学运算操作- 学习运用计算器进行加、减、乘、除等基本数学运算。
4. 计算器在生活中的应用实例- 分析计算器在购物、预算、科学研究等领域的实际应用。
5. 计算器操作技巧与注意事项- 掌握计算器操作的快捷键,了解使用计算器时的注意事项。
6. 解决实际问题的方法- 结合实际问题,运用计算器进行数据计算和问题分析。
教学内容安排与进度:第一课时:计算器的发展历史及分类,简易计算器的结构组成。
第二课时:基本数学运算操作,计算器在生活中的应用实例。
第三课时:计算器操作技巧与注意事项,解决实际问题的方法。
简易计数器课程设计
简易计数器课程设计一、课程目标知识目标:1. 学生能理解简易计数器的基本结构和工作原理;2. 学生掌握简易计数器的编程方法,能运用所学知识设计并实现简单的计数功能;3. 学生了解简易计数器在实际应用场景中的使用价值。
技能目标:1. 学生能运用所学编程知识,独立完成简易计数器的编程设计;2. 学生具备分析问题、解决问题的能力,能针对计数过程中的异常情况提出解决方案;3. 学生具备良好的团队协作能力,能在小组合作中发挥积极作用。
情感态度价值观目标:1. 学生对编程产生兴趣,愿意主动探索和学习相关知识;2. 学生在学习过程中,培养耐心、细心和勇于克服困难的品质;3. 学生认识到科技发展对社会进步的重要性,增强社会责任感和创新意识。
课程性质:本课程为信息技术学科,旨在培养学生的编程思维和实际操作能力。
学生特点:五年级学生,对新鲜事物充满好奇,具备一定的逻辑思维能力,但在编程方面尚处于起步阶段。
教学要求:教师应注重理论与实践相结合,引导学生通过动手实践掌握编程方法,关注学生的学习过程,培养其解决问题的能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 简易计数器的基本原理:介绍计数器的作用、工作原理,结合课本第二章内容,使学生了解计数器在编程中的重要性。
- 计数器的作用与分类- 计数器的工作原理2. 编程设计简易计数器:根据第三章编程知识,教授学生设计简易计数器的方法,涵盖以下内容:- 编程语言基础:变量、循环结构等- 计数器编程实现:累加、累减等基本操作- 异常处理:计数器上限、下限处理3. 简易计数器的应用场景:结合第五章实例,让学生了解计数器在实际编程中的应用,包括:- 计数器在游戏开发中的应用- 计数器在日常生活中的应用4. 小组合作与实践:组织学生进行小组合作,运用所学知识设计并实现简易计数器项目,提高学生的团队协作能力和编程实践能力。
教学进度安排:第一课时:简易计数器基本原理及分类第二课时:编程设计简易计数器(1)第三课时:编程设计简易计数器(2)第四课时:简易计数器的应用场景及小组合作实践教学内容与教材紧密关联,旨在确保学生通过本章节学习,能够掌握简易计数器的设计和应用,提高编程实践能力。
简易计算器完整课程设计
一、设计要求1.设计4*4的键盘,其中10个数字键0~9,第十三个键为”+“,第十五个键为”=“2 ,实现1位数的简单加运算二、硬件系统设计1、LED接口电路简易计算器需要2位8段码LED显示电路。
用LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。
然后接至各数码显示器的共阴极端。
2、键盘接口电路简易计算器需要4*4的行列式键盘。
8255A的B口作为输出端,C口作为输出端。
采用的是方式0。
3、计算器逻辑电路图将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图逻辑电路结构如下:Cpu 8255 键盘三、软件设计1、LED 显示程序设计LED 显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED 显示器,器排列形状如下图所示:为了显示数字或符号,要为LED 显示器提供代码,即字形代码。
七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。
简易计算器用到的数字0~9的共阴极字形代码如下表:0~9七段数码管共阴级字形代码显示字型gfedcba段码Pb0-Pb7Pa0-Pa4Pc0-Pc4D0-D7 wrrdA0-A1csXd0-Xd7Iow# Ior#Xa1Xa2 Ioy3 A0-Dpx0-x3m1-m4001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fh 2位LED显示的程序框图如下:2、读键输入程序设计为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。
为了得到被按键的键码,现使用行扫描法识别按键。
其程序框图如下:3、主程序设计(1)数值送显示缓冲程序设计简易计算器所显示的数值最大位为一位。
简易计算器课程设计摘要
简易计算器课程设计摘要一、课程目标知识目标:1. 学生能够掌握简易计算器的基本功能,包括加、减、乘、除等四则运算。
2. 学生能够理解计算器的操作原理,了解显示屏、按键与内部电路之间的关系。
3. 学生能够运用计算器解决日常生活中遇到的基础数学问题。
技能目标:1. 学生能够熟练操作简易计算器,进行快速准确的计算。
2. 学生能够通过使用计算器,培养解决问题的能力和逻辑思维能力。
3. 学生能够通过小组合作,共同探讨计算器的使用技巧,提高团队协作能力。
情感态度价值观目标:1. 学生能够增强对数学学科的兴趣,认识到数学在生活中的重要性。
2. 学生能够树立正确的计算观念,注重计算的准确性和效率。
3. 学生能够培养严谨的学习态度,对待计算任务认真负责。
4. 学生能够学会尊重他人,学会倾听和分享,形成良好的团队合作精神。
课程性质:本课程为信息技术与数学学科的融合课程,以实践操作为主,注重培养学生的动手能力和解决问题的能力。
学生特点:四年级学生具备一定的数学基础和逻辑思维能力,对新鲜事物充满好奇心,喜欢动手操作。
教学要求:教师应结合学生特点,以实际操作为主,引导学生主动探究,注重培养学生的自主学习能力和团队合作精神。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,确保每个学生都能达到课程目标。
通过本课程的学习,使学生能够将所学知识运用到实际生活中,提高综合素质。
二、教学内容本课程教学内容紧密结合课程目标,确保学生掌握简易计算器的使用及其背后的数学概念。
1. 计算器基础知识:- 计算器的发展历程- 计算器的种类及功能- 认识简易计算器的外观、按键布局及其功能2. 基本操作与四则运算:- 认识显示屏,理解操作结果- 学习加、减、乘、除四则运算的操作方法- 练习使用计算器解决实际问题3. 进阶操作与问题解决:- 掌握计算器上的额外功能,如百分比、乘方等- 解决涉及复合运算的数学问题- 通过计算器进行数据比较和分析教学大纲安排如下:- 第一课时:计算器基础知识介绍,认识简易计算器- 第二课时:基本操作学习,加、减、乘、除四则运算- 第三课时:进阶操作学习,掌握额外功能键的使用- 第四课时:综合练习,解决实际生活中的数学问题教学内容与教材关联性:- 章节一:数学基础知识与计算器操作- 章节二:四则运算在实际生活中的应用- 章节三:计算器的进阶功能及其在数学中的应用教学内容注重科学性和系统性,通过理论与实践相结合,使学生在学习过程中逐步提高计算能力和解决问题的能力。
单片机简易计算器课程设计
单片机简易计算器课程设计一、课程目标知识目标:1. 学生能理解单片机的基本结构及其工作原理,掌握简易计算器的硬件组成。
2. 学生能掌握C语言编程的基本语法,运用其编写简易计算器的程序代码。
3. 学生能了解简易计算器的工作流程,理解其功能模块的设计与实现。
技能目标:1. 学生能够运用所学知识,设计并搭建简易计算器的硬件电路。
2. 学生能够运用C语言编写简易计算器的程序,实现加、减、乘、除等基本运算功能。
3. 学生能够对计算器程序进行调试和优化,解决实际问题。
情感态度价值观目标:1. 学生通过课程学习,培养对单片机及编程的兴趣,激发探究精神。
2. 学生在团队协作中学会沟通、分享,培养合作意识,增强团队精神。
3. 学生能够认识到所学知识在生活中的应用,体会科技改变生活的意义。
课程性质:本课程为实践性较强的课程,要求学生动手操作,结合理论知识进行实际应用。
学生特点:学生已具备一定的电子基础和编程知识,对单片机有一定了解,但实践能力有待提高。
教学要求:注重理论与实践相结合,引导学生主动参与,培养其动手能力和解决问题的能力。
通过课程学习,使学生能够将所学知识运用到实际项目中,提高其综合素质。
二、教学内容1. 硬件知识:- 单片机基本结构:介绍51单片机的内部结构、工作原理及其引脚功能。
- 硬件电路设计:讲解简易计算器的硬件组成,包括按键、显示屏、电源等模块。
2. 软件编程:- C语言基础:复习C语言基本语法,包括变量、数据类型、运算符、控制结构等。
- 编程实践:根据简易计算器的功能需求,编写程序代码,实现基本运算功能。
3. 系统设计与实现:- 系统设计:分析简易计算器的功能模块,设计程序流程图。
- 系统实现:指导学生搭建硬件电路,编写程序代码,实现简易计算器的功能。
4. 调试与优化:- 调试方法:教授程序调试方法,培养学生解决问题的能力。
- 优化策略:讨论程序优化策略,提高计算器性能。
教学内容安排与进度:1. 第1周:单片机基本结构及硬件电路设计。
简易计算器完整课程设计
一、设计要求1.设计4*4的键盘,其中10个数字键0~9,第十三个键为”+“,第十五个键为”=“2 ,实现1位数的简单加运算二、硬件系统设计1、LED接口电路简易计算器需要2位8段码LED显示电路。
用LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。
然后接至各数码显示器的共阴极端。
2、键盘接口电路简易计算器需要4*4的行列式键盘。
8255A的B口作为输出端,C口作为输出端。
采用的是方式0。
3、计算器逻辑电路图将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图逻辑电路结构如下:Cpu 8255 键盘三、软件设计1、LED显示程序设计LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED 显示器,器排列形状如下图所示:为了显示数字或符号,要为LED显示器提供代码,即字形代码。
七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。
简易计算器用到的数字0~9的共阴极字形代码如下表:0~9七段数码管共阴级字形代码2位LED显示的程序框图如下:2、读键输入程序设计为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。
为了得到被按键的键码,现使用行扫描法识别按键。
其程序框图如下:3、主程序设计(1)数值送显示缓冲程序设计简易计算器所显示的数值最大位为一位。
(2)运算主程序设计首先初始化参数,送LED低位显示“0”,高位不显示。
然后扫描键盘看是否有键输入,若有,读取键码。
判断键码是数字键、还是功能键(“+”“=”),是数值键则送LED显示并保存数值,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。
运算主程序框图如下所示:4、简易计算器源程序con8255 equ 06c6h ;8255的控制端口的物理号c8255 equ 06c4h ;C端口的端口号b8255 equ 06c2h ; B端口的端口号a8255 equ 06c0h ; A端口的端口号data segmentlist DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H ;对应数字的显示码keycode DB 0EEH, 0DEH, 0BEH, 7EHDB 0EDH, 0DDH, 0BDH, 7DHDB 0EBH, 0DBH, 0BBH, 7BHDB 0E7H, 0D7H, 0B7H, 77H;对应键的特征值(键盘识别码)num1 dw 0 ;偏移量x DB 0FFH ;存放参与运算的第一个数y DB 0FFH ;存放运算符z DB 0FFH ;存放参与运算的第二个数re DB 0FFH ;存放运算结果data endssstack segment stackssda db 100 dup(?)sstack endscode segmentassume cs:code, ds:datastart: mov ax, datamov ds, axcall init8255 ;初始化8255 ispk:call clear ;B端口清零call ispkey ;判断是否有建按下and al, 0fhcmp al, 0fhje ispkcall findkeyboardcall dispnumcmp num1, 14je js1call cunshujmp disnum1js1: call jisuanmov x, 0ffhmov y, 0ffhmov z, 0ffhmov nUM1, 0mov re,0ffhcall dispnummov cx,1000www: loop wwwjmp ispkdisnum1:is: jmp ispkmov ah, 4chint 21hinit8255 proc near ;初始化8255 mov al, bmov dx, 06c6hout dx, alretinit8255 endpclear proc nearmov dx, b8255out dx, alclear endpispkey proc near ;判断是否有建按下mov al, 00hmov dx, a8255out dx, almov dx, c8255in al, dxretispkey endpfindkeyboard proc near ;找具体键盘按键cl1: mov al, bmov ah, alshl ah, 4mov dx, a8255 ;al传递给a端口out dx, almov dx, c8255 ;c端口读入数据赋值给alin al, dxcmp al, 0fhje cl2jmp exitkcl2: mov al, bmov ah, alshl ah, 4mov dx, a8255out dx, almov dx, c8255in al, dxand al, 0fhcmp al, 0fhje cl3jmp exitkcl3: mov al, bmov ah, alshl ah, 4mov dx, a8255out dx, almov dx, c8255in al, dxand al, 0fhcmp al, 0fhje cl4jmp exitkcl4: mov al, bmov ah, alshl ah, 4mov dx, a8255out dx, almov dx, c8255in al, dxand al, 0fhcmp al, 0fhexitk:add ah, al ;得到键盘识别码retfindkeyboard endpdispnum proc near ;显示数字子程序cmp ah,0b7hjnz ll2mov cl,remov ch,0mov si,offset listadd si,cxmov al,[si]mov dx,06c2hout dx,almov num1,14jmp ll3ll2: mov cx, 16mov si, offset keycodemov di, offset listmov num1, 0numl1: cmp [si], ahje exitinc siadd num1, 1loop numl1exit: add di, num1 ;显示相应数字mov al, [di]mov dx, 06c2hout dx, alll3: retdispnum endpCUNSHU PROC NEAR ;存放数据PUSH AXCMP X, 0FFHJNE Y1MOV AL, BYTE PTR NUM1MOV X, ALJMP EX1Y1: CMP Y, 0FFHJNE Z1MOV AL, BYTE PTR NUM1MOV Y, ALJMP EX1Z1:MOV AL, BYTE PTR NUM1MOV Z, ALEX1: POP AXRETCUNSHU ENDPJISUAN PROC NEAR ;计算子程序PUSH SILEA SI, KEYCODEMOV AX, 0ADD AL, XADD AL, ZADD SI, AXMOV AH, [SI]MOV RE, ALPOP SIRETJISUAN ENDPcode endsend start四、心得体会课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科研训练论文题目:基于单片机的计算器的设计目录一、概述 (3)1.1设计要求及任务: (3)1.2设计原理: (3)二、系统总体方案及硬件设计 (3)2.1计算器总体思想 (3)2.2硬件的选择与连接 (4)2.2.1硬件选择 (4)2.2.2接口设计 (5)三、软件设计 (7)3.2系统流程总图 (8)3.3显示程序设计 (8)3.4键盘识别程序设计 (9)3.4.1原理与分析 (9)3.4.2流程图 (10)四、设计体会与总结 (11)五、参考文献 (11)附录基于单片机的计算器的设计摘要:本设计是一个实现加减乘除的计算器,它的硬件主要由四部分构成,一个8051单片机芯片,两个八段共阴极数码管,一个4*4键盘,它可以实现一位数的加减乘除运算。
显示部分:采用LED动态显示。
按键部分:采用4*4键盘。
采用软件识别键值,并执行相应的操作。
关键词:LED接口;键盘接口;8255A;汇编语言一、概述1.1设计要求及任务:(1)设计4*4的键盘,其中10个数字键0~9,其余六个键“+”、“—”、“*”、“/”、“=”、和“C”键;(2)设计两位LED接口电路;(3)实现1位数的简单运算1.2设计原理:(1)LED显示器接口技术LED动态显示接口技术(2)键盘显示技术逐行(逐列扫描法)二、系统总体方案及硬件设计2.1计算器总体思想显示部分:采用LED动态显示。
按键部分:采用4*4键盘。
采用软件识别键值,并执行相应的操作。
执行过程:开机显示零,等待键入数值,当键入数字,经通过数码管显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在数码管上输出运算结果。
图1 系统设计框图2.2硬件的选择与连接图二硬件连接总图2.2.1硬件选择(1)由于本设计比较简单,因此选用内部含有4KBE2PROM的89C51单片机作为系统的核心。
(2)扩展输入/输出端口在扩展输入/输出端口时,要求输入口能够缓冲,,输出口能够锁存。
常用小规模集成电路芯片74LS244或74LS245等扩展输入端口,用74LS273、74LS373、 74LS377扩展输出端口。
这种扩展方法的特点是电路简单,但功能单一、灵活性差。
因而常采用中规模的可编程并行接口芯片8255A扩展输入/输出端口。
(3)锁存电路采用74LS3732.2.2接口设计(1)单片机与8255A的接口设计8255A中的数据总线缓冲器为三态双向数据缓冲存储器,用于将8255A的数据线D0~D7和单片机的数据总线(P0口)连接,实现单片机和接口间的数据传送。
读写控制部件的接口设计1、/CS为片选信号,接成低电平表示8255A被选中。
/CS与P2.7相连,用P2口的最高位控制8255A是否工作。
即将P2.7控制为低电平。
2、RESET-复位信号,高电平有效,接在单片机的RST端。
3、/RD和/WR为读写控制信号,低电平有效。
分别将两个端口接单片机的/RD和/WR4、A1和A0-端口选择信号,分别与单片机的低两位地址线P1.1和P1.0相连。
用于选择不同端口。
采用74LS373三态锁存器,用于分离P0口第八位地址线,将它的Q0和Q1口接至8255A的地址输入端A0和A1。
所以若将P1.2~P1.7和P2.0~P2.6全接为高电平,A口地址为07FFCH,B口地址为07FFDH,C口地址为07FFEH,控制字寄存器地址为07FFFH.(2)LED显示电路的设计:简易计算器需要2位8段码LED显示电路。
用8051单片机经8255A扩展2位8段码LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作位码口。
图三显示器接口电路(3)键盘接口设计89C51单片机经8255A扩展4*4行列式键盘,8255A的B口和C口用于扩展键盘接口,B口高4位作为输出口,C口低4位作为输入口。
设各口工作于方式零。
则8255A 的工作方式控制字为10000001(81H)键盘接口设计图四键盘接口图三、软件设计3、1软件系统的功能该设计能够实现1位的加减乘除和清零功能,利用实验箱上4*6键盘中前4列,即0-9,A-F键。
A,B,C,D分别为“+”“-”“*”“/”键,E是等于键,F清零。
其他是数字键。
再利用实验箱上的LED显示器,对于即时按下的键和结果进行显示。
3.2系统流程总图图五系统总流程图3.3显示程序设计LED显示器有共阴极和共阳极两种。
共阴极就是把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地,某端接高电平时才发亮。
共阳极则是把发光二极管的阳极连在一起构成公共阳极,使用时公共阳接十5V端。
某端接低电平时才发亮。
在此次设计中采用共阴极接法。
LED动态显示接口技术:动态显示中,任意时刻虽只有一位显示器被点亮,但当一个循环周期小于人的视觉暂留时间时,看上去与全部显示器持续点亮的效果相同。
从而提高数码管的利用效率,所以采用LED动态显示接口技术。
多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示),另一个用于输出位控线,位控线的数目等于显示器的位数。
利用LED动态显示的方法,设置显示缓冲地址和循环次数,让两个数码管从左到右依次显示,之间要调用延时子程序,但延时时间小于人的视觉暂留。
程序流程图如下图六显示程序设计流程图3.4键盘识别程序设计3.4.1原理与分析1、测试是否有键按下:①单片机I/O 口向所有列线输出低电平。
即向列口写入00H。
②然后输入各行线状态,即读输入口的字。
③比较:若行线状态全为高电平,则表明无键按下;若行线状态中有低电平,则表明有键按下。
2、消抖动3、扫描键盘以确定被按键的物理位置4、计算键码如果键号是按从左到右,从上到下的顺序编排的,按这种编排规律,各行的首键号依次是 00H、08H、10H、18H,如列线按0~7的顺序编号,则可选用键码的计算公式为:键码= 首键号十列号5、等待键释放实验箱提供6*4的小键盘,只使用前四列,即0-9,A-F键。
A,B,C,D分别为“+“-”“*”“/”键,E是等于键,F清零。
其他是数字键。
再利用实验箱上的LED显示器,对于即时按下的键和结果进行显示。
向列扫描码逐列输出低电平,然后从行码地址读回。
如果有键按下,则相应的行值应为低,如果无键按下,由于上拉电阻的作用,行码为高。
这样可以通过输出的列码和读取的行码判断按下的是什么键,在判断有键按下后,要有一定的延时,防止键盘抖动。
在接线时将KEY/LED CS 接到 CS0上,则列扫描地址为08002H,行扫描地址为08001H。
为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。
为了得到被按键的键码,现使用行扫描法识别按键。
3.4.2流程图该程序可由两部分构成,首先扫描是否有键按下是执行TESTKEY程序,若有键按下则调用GETKEY程序,若无键按下则继续扫描按键程序直到有键按下。
图七键盘扫描程序的流程图四、设计体会与总结通过基于8051单片机简易计算器的设计,加深了我对单片机课程的了解,学以致用,不但回顾了过去所学,更使我了解了现在的不足,弥补了一些知识漏洞。
更重要的是在实际设计和试验中形成了更加科学合理的认识,不断形成更为合理和具有科学性的思想方式。
在这次设计中接住了互联网等途径查询相关信息,并在图书馆查阅了大量单片机资料。
这不但扩展了有关单片机领域的眼界,而且完善了以往的知识体系。
提高了运用知识的综合能力。
五、参考文献【1】郭文川主编. 单片机原理与接口技术[M]. 北京:中国农业出版社,2007【2】何利民。
MCS-51系列单片机应用系统设计【M】。
北京:北京航空航天大学出版社,1990.143.-160。
【3】李华。
MCS-51系列单片机实用接口技术【M】。
北京:北京航空航天大学出版社,1993.148.-158。
附录:PAPORT EQU 07FFCH ; 端控制口 A口PBPORT EQU 07FFDH ; 位控制口和键盘列线输出口 B口PCPORT EQU 07FFEH ; 键盘行码读入口 C口DATA1 EQU 70HDATA2 EQU 71HDIZHI1 EQU 72HDIZHI2 EQU 73HLEDBUF EQU 60H ;置显示缓冲单元首地址LJMP STARTSTART:MOV SP,#40HMOV LEDBUF+0,#0MOV LEDBUF+1,#03FHMLOOP:CALL DISPLAYLED ; 显示CALL TESTKEY ; 有键入?JZ MLOOP ; 无键入,继续显示CALL GETKEY ;读入键码JISUAN:MOV R3,ACJNE R3,#0FH,QU ;判断是否为清零键?MOV R3,#00H ;清零MOV R4,#00HMOV R5,#00HMOV DATA1,#00HMOV DATA2,#00HMOV DIZHI1,#00HMOV DIZHI2,#00HMOV LEDBUF+0,#0MOV LEDBUF+1,#03FHLJMP MLOOPQU: CLR CCJNE R3,#0AH,FOLLOW ; 判断是数字键还是功能键?FOLLOW:JC SHUZI ;R3<10,说明是数字键LJMP GNSHUZI: MOV A,R4 ;判断是否有运算符输入, JNZ SHUZI1 ;有就将数值存在DATA2MOV A,R3MOV DATA1,ALJMP XS ;显示第一次输入的数值SHUZI1:MOV A,R3MOV DATA2,ALJMP XS ;显示第二次输入的数值GN: MOV R4,#01H ;将01H给R4,说明已有运算符输入 CJNE R3,#0EH,JIA ;判断键值是否为“=”?MOV R4, #00h ;将R4清零MOV A,DIZHI1 ;执行“=”MOV DPH,AMOV A,DIZHI2MOV DPL,AMOV A,#00HJMP @A+DPTR ;转到本次输入的算法程序JA: CJNE R3, #0AH, JN ;若键值为“+”则将“+”的程序首地址MOV DPTR,#JIA ;存在DIZHI1和DIZHI2中MOV A,DPHMOV DIZHI1, AMOV A,DPLMOV DIZHI2, ALJMP MLOOPJN: CJNE R3, #0BH, CE ;若键值为“-”则将“-”的程序首地址存MOV DPTR, #JIAN ;DIZHI1和DIZHI2中MOV A, DPHMOV DIZHI1, AMOV A,DPLMOV DIZHI2, ALJMP MLOOPCE: CJNE R3,#0CH, CU ;若键值为“*”则将“*”的程序首地址存在MOV DPTR,#CHENG ;址存在DIZHI1和DIZHI2中MOV A,DPHMOV DIZHI1, AMOV A, DPLMOV DIZHI2, ALJMP MLOOPCu: CJNE R3, #0DH, ZHUAN ;若键值为“/”则将“/”的程序首地址存在MOV DPTR , #CHU ;存在DIZHI1和DIZHI2中MOV A, DPHMOV DIZHI1, AMOV A, DPLMOV DIZHI2, AZHUAN: LJMP MLOOPJIA: MOV A, DATA1 ;加法程序ADD A, DATA2LJMP XSJIAN: MOV A, DATA1 ;减法程序SUBB A, DATA2LJMP XSCHENG: MOV A, DATA1 ;乘法程序MOV B, DATA2MUL ABLJMP XSCHU: MOV A, DATA1 ;除法程序MOV B, DATA2DIV ABXS: MOV B, #10 ;显示个位数字DIV ABMOV R5,AMOV A, BMOV DPTR,#LEDMAPMOVC A, @A+DPTRMOV LEDBUF+1,AMOV A, R5FRIST:CJNE A,#0,NEXTLJMP MLOOP ;运算完后继续扫描键盘NEXT:MOV B,#10 ;显示十位数字DIV ABMOV R5,AMOV A,BMOV DPTR, #LEDMAPMOVC A, @A+DPTRMOV LEDBUF+0, AMOV A,R5LJMP FRISTENDLEDMAP:DB 3FH,06H,5BH,4FH ;八段管显示码DB 66H,6DH,7DH,07HDB 7FH,6FH,77H,7CHDB 39H,5EH,79H,71HDELAY:MOV R7,#0 ;延时子程序DELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6,DELAYLOOPRET;显示子程序************************************************ DISPLAYLED:MOV R0,#LEDBUFMOV R1,#2 ;共两个八段管MOV R2,#02H ;02H=0000 0010B从左边开始显示LOOP: MOV DPTR,#PBPORT ;位控口地址MOV A,#0MOVX @DPTR,A ;将零输出到位控口,关闭所有八段管 MOV A,@R0ACALL LEDMAPMOV DPTR,#PAPORT ;段控口地址MOVX @DPTR,A ;输出到段控口MOV DPTR,#PAPORTMOV A,R2MOVX @DPTR,A ;显示一位八段管MOV R6,#1 ;1毫秒延时CALL DELAYMOV A,R2 ;显示下一位RR AMOV R2,AINC R0DJNZ R1,LOOPRET;判断是否有键按下子程序**********************************88 TESTKEY:MOV DPTR,#PBPORTMOV A,#0MOVX @DPTR,A ;输出线置零MOV DPTR,#PCPORT ; 读入键状态MOVX A, @DPTRCPL AANL A,#0FH ;高四位不用,将高四位清零RET;定义键码的值***************************************KEYTABLE:DB 0DH, 0CH, 0BH, 0AHDB 0EH, 03H, 06H, 09HDB 0FH, 02H, 05H, 08HDB 00H, 01H, 04H, 07H;若有键按下,找出键码所在位置**************************** GETKEY:MOV DPTR,#PBPORTMOV P2,DPHMOV R0,#LOW(PCPORT)MOV R1,#00001000BMOV R2,#4KLOOP:MOV A,R1 ;找出键所在的列CPL AMOVX @DPTR,ACPL ARR AMOV R1,AMOVX A,@R0CPL AANL A,#0FHJNZ GOON1 ;该列有键入DJNZ R2,KLOOPMOV R2,#0FFH ;没有键按下,返回0FFH SJMP EXITGOON1:MOV R1,A ;键值=列X4+行MOV A,R2DEC ARL ARL AMOV R2,A ;R2=(R2-1)*4MOV A,R1 ;R1中为读入的行值MOV R1,#4LOOPC:RRC A ;移位找出所在行JC EXITINC R2 ;R2=R2+行值 DJNZ R1,LOOPCEXIT:MOV A,R2 ;取出键码 MOV DPTR,#KEYTABLEMOVC A,@A+DPTRMOV R2,AWAITRELEASE:MOV DPTR,#PBPORTCLR AMOVX @DPTR,AMOV R6,#10CALL DELAY ;调用延时程序消抖动CALL TESTKEYJNZ WAITRELEASEMOV A,R2RET。