课程设计说明书
课程设计说明书【范本模板】

邮电与信息工程学院课程设计说明书课题名称:软件项目实训学生学号:6102040124专业班级:11测控01班学生姓名: 徐晗学生成绩:指导教师:陈希课题工作时间:2014-6—9至2014-6-22一、课程设计任务的基本要求:(1)课程设计目的:1.全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶向下,逐步细化,模块化的设计原则。
2.掌握C语言基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设计。
3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能力.(2)课程设计总体要求:1。
采用模块化程序设计方法。
2.主菜单设计界面如下:3.子菜单界面如下:选择结构子菜单:循环结构子菜单:4。
在对应模块下完成如下功能: (1)单选择if语句:(2)双选择if语句:(3)多选择if语句:(4)switch语句(5)while循环语句(6)do—while循环语句(7)for循环语句(8)循环嵌套例如:switch语句案例界面:(3)论文部分1、学生应提交的资料:纸质《课程设计说明书》1份;课程设计报告1份。
2、课程设计报告的内容附在《课程设计说明书》后,内容包括:一、设计目的1。
全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶而下,逐步细化,模块化的原则。
2。
掌握C语言的基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设计。
3。
掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能力.二、系统功能模块图(略)三、设计函数列表在C语言中每一个功能模块都对应一个函数,即由函数来实现各功能模块的具体功能,也就是建立功能模块与函数之间一一对应的关系,在编写程序时可以减少不课程设计报告一、设计目的1. 全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶而下,逐步细化,模块化的原则。
2. 掌握C语言的基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设计.3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能力。
课程设计说明书模板

课程设计说明书模板课程设计说明书1. 课程名称:[填写课程名称]2. 课程设计目的:[填写课程设计的主要目的和需求]3. 课程设计目标:[填写课程设计的具体目标]4. 课程大纲:[填写课程的大纲,包括每个单元的主题、教学目标、教学内容、教学方法、评价方式等]5. 教学资源:[列举所需的教学资源,如教科书、参考书、多媒体设备等]6. 教学活动:[列举每个单元的教学活动,包括课堂讲解、实验、讨论、小组活动等]7. 评估方式:[说明课程的评估方式,包括考试、作业、项目等]8. 教学团队:[介绍教学团队的成员,包括主讲教师、助教等]9. 课程进度安排:[设置每个单元的教学时间,包括预计的课程开始和结束日期]10. 教学参考文献:[列举可供参考的教学资料和文献]11. 补充说明:[如有任何额外的补充说明,请在此处填写]以上是一个简单的课程设计说明书模板,具体的内容根据课程的实际需求进行填写和修改。
12. 课程设计背景:[解释为什么设计此课程,背景资料和理由等]13. 教学目标细化:[具体阐述每个单元的教学目标,并且可分为知识、技能和态度等层面]14. 教学方法和策略:[详细描述采用的教学方法和策略,如讲授、案例分析、小组合作等]15. 教学评估标准:[明确课程评估的标准和要点,例如针对知识理解的测验、技能表现的评估等]16. 教学资源准备:[具体说明所需的教学材料、设备、实验器具等,以及相关的采购和准备工作]17. 学习支持与辅助:[列举可提供给学生的学习支持和辅助资源,如电子教学平台、辅导手册等]18. 教学组织和管理:[描述课堂组织和管理的方式,包括上课时间、课堂纪律、小组分工等]19. 教学团队角色职责:[详细说明教学团队中各成员的角色职责,包括主讲教师、助教、辅导员等]20. 课程进度和时间安排:[具体列出每个单元的教学时间安排,包括每周课时数、教学时间分配等]这些补充内容可以根据课程的具体要求和设计者的个人情况进行修改和适应,以更好地满足教学需求和目标。
混凝土课程设计设计说明书

混凝土课程设计设计说明书一、课程目标知识目标:1. 学生能理解混凝土的基本概念、分类及用途;2. 学生掌握混凝土的主要组成材料及其作用,了解混凝土配合比的基本原则;3. 学生了解混凝土的性质,包括强度、耐久性、抗渗性等,并能够描述这些性质在实际工程中的应用。
技能目标:1. 学生能够运用混凝土配合比的基本原则,进行简单混凝土配比的计算;2. 学生通过实验,掌握混凝土试件的制作、养护及强度测试方法;3. 学生能够运用所学知识,分析混凝土工程中可能出现的问题,并提出解决方案。
情感态度价值观目标:1. 学生培养对建筑材料科学研究的兴趣,激发探索精神;2. 学生认识到混凝土材料在现代工程建设中的重要性,增强环保和资源节约意识;3. 学生通过团队协作完成实验任务,培养合作精神和沟通能力。
课程性质:本课程属于工程技术类课程,旨在帮助学生了解混凝土材料的基本知识,提高实验操作技能。
学生特点:学生为八年级学生,具有一定的物理、化学知识基础,对实验操作充满好奇心。
教学要求:结合学生特点,注重理论知识与实践操作的相结合,强调学生的动手能力和问题解决能力的培养。
通过具体的学习成果分解,使学生在掌握知识的同时,提升技能和情感态度价值观。
后续教学设计和评估将以此为基础,确保课程目标的实现。
二、教学内容1. 混凝土基本概念与分类- 混凝土的定义、特点及应用- 混凝土的分类及各类混凝土的用途2. 混凝土组成材料- 水泥、砂、石子、水等原材料的作用及选用原则- 外加剂和掺合料的功能及使用方法3. 混凝土配合比设计- 配合比的基本原则- 简单混凝土配合比的计算方法4. 混凝土的性质- 强度、耐久性、抗渗性等性能指标- 混凝土性质影响因素及改善措施5. 混凝土施工技术- 混凝土浇筑、养护、施工质量控制- 常见混凝土工程质量问题及预防措施6. 混凝土实验- 混凝土试件的制作、养护及强度测试方法- 实验操作注意事项及安全要求教学内容安排与进度:第1-2周:混凝土基本概念与分类第3-4周:混凝土组成材料第5-6周:混凝土配合比设计第7-8周:混凝土的性质第9-10周:混凝土施工技术第11-12周:混凝土实验操作与实践教材章节及内容对应:第一章:混凝土基本概念与分类第二章:混凝土组成材料第三章:混凝土配合比设计第四章:混凝土的性质第五章:混凝土施工技术附录:混凝土实验操作指南三、教学方法为了提高教学效果,激发学生的学习兴趣和主动性,本课程将采用以下多样化的教学方法:1. 讲授法:教师通过生动的语言、形象的表达,系统地向学生传授混凝土的基本概念、性质、配合比设计等理论知识。
课程设计课程设计说明书

课程设计课程设计说明书一、教学目标本课程的教学目标是使学生掌握XX学科的基本概念、原理和方法,培养学生运用XX知识解决实际问题的能力。
具体来说,知识目标包括:1.掌握XX学科的基本概念、原理和方法;2.了解XX学科的发展趋势和应用领域。
技能目标包括:1.能够运用XX知识解决实际问题;2.具备XX学科的基本实验技能。
情感态度价值观目标包括:1.培养学生对XX学科的兴趣和热情;2.培养学生团队合作、创新思维和科学精神。
二、教学内容根据课程目标,本课程的教学内容主要包括XX学科的基本概念、原理和方法,以及实际应用案例。
具体安排如下:第一章:XX学科概述1.1 XX学科的定义和发展历程1.2 XX学科的应用领域和前景第二章:XX基本原理2.1 XX原理的提出和证明2.2 XX原理的应用案例第三章:XX方法与应用3.1 XX方法的原理和步骤3.2 XX方法在实际问题中的应用第四章:XX学科的发展趋势4.1 XX学科的最新研究成果4.2 XX学科的未来发展方向三、教学方法为了实现课程目标,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体安排如下:1.讲授法:通过教师的讲解,使学生掌握XX学科的基本概念、原理和方法;2.讨论法:引导学生针对实际问题进行思考和讨论,培养学生的创新思维和解决问题的能力;3.案例分析法:通过分析具体案例,使学生了解XX方法在实际问题中的应用;4.实验法:让学生亲自动手进行实验,培养学生的实验技能和科学精神。
四、教学资源为了支持教学内容和教学方法的实施,本课程将利用多种教学资源,包括教材、参考书、多媒体资料和实验设备等。
具体安排如下:1.教材:选用国内权威出版的XX学科教材,为学生提供系统、科学的学习资料;2.参考书:推荐学生阅读相关领域的经典著作和最新研究论文,拓展知识面;3.多媒体资料:利用课件、视频等多媒体资源,丰富教学手段,提高学生的学习兴趣;4.实验设备:配备必要的实验设备,为学生提供动手实践的机会,培养实验技能。
课程设计开发说明书

课程设计开发说明书一、课程目标知识目标:1. 学生能够掌握课程相关的基本概念,如XX、XX、XX,并能够理解它们在实际情境中的应用。
2. 学生能够了解课程主题的历史背景、发展过程及其在现代生活中的重要意义。
3. 学生能够描述和解释课程内容中的关键原理和规律,形成系统的知识结构。
技能目标:1. 学生通过案例分析和实际问题解决,培养观察、思考、分析问题的能力。
2. 学生能够运用所学知识解决实际问题,提高解决问题的策略和方法。
3. 学生通过小组合作和课堂讨论,培养沟通、协作和团队精神。
情感态度价值观目标:1. 学生对课程主题产生兴趣,激发学习热情,形成积极的学习态度。
2. 学生在学习过程中,培养尊重事实、追求真理的科学精神。
3. 学生通过课程学习,认识到所学知识对社会和个人的价值,增强社会责任感和使命感。
课程性质分析:本课程旨在帮助学生深入理解学科知识,提高解决实际问题的能力。
课程内容与现实生活紧密相关,注重培养学生的实践能力和综合素质。
学生特点分析:考虑到学生所在年级的特点,课程内容设计注重知识深度和广度,以适应学生的认知发展水平。
同时,关注学生个体差异,提供不同难度的学习任务,使全体学生都能在课程中收获成长。
教学要求:1. 教师需关注学生的学习过程,及时给予反馈和指导,确保课程目标的实现。
2. 教学方法应灵活多样,注重启发式教学,引导学生主动探究、积极思考。
3. 评估方式应与课程目标相匹配,全面、客观地评价学生的学习成果。
二、教学内容本课程依据课程目标,结合教材内容,组织以下教学章节:1. 章节一:XX概念与性质- 教材章节:第一章- 内容:介绍XX的基本概念、性质及分类,以实例阐述XX在实际生活中的应用。
2. 章节二:XX发展历程与现状- 教材章节:第二章- 内容:讲解XX的发展历程,分析其在我国及世界范围内的现状,探讨未来发展趋势。
3. 章节三:XX基本原理与规律- 教材章节:第三章- 内容:阐述XX的基本原理,分析XX现象的规律,举例说明原理在实践中的应用。
课程设计说明书

课程设计说明书1. 引言课程设计是现代教育教学改革的重要组成部分,它旨在培养学生的创新思维和实践能力。
本文档旨在为课程设计提供详细的说明和指导,帮助教师和学生有效地进行课程设计工作。
2. 设计目标课程设计的目标是提供一个学习框架,使学生能够充分理解和掌握所学课程的关键概念和技能。
具体目标包括:- 培养学生的分析和解决问题的能力;- 培养学生的团队合作和沟通能力;- 激发学生的创新和创造力;- 提高学生的实践能力;- 促进学生的自主学习和自我管理能力。
3. 课程设计步骤3.1 确定课程目标和学习内容在设计课程之前,首先需要明确课程的目标和学习内容。
课程目标应与学生的学习需求和教学要求相一致,并具有明确的可测量性。
学习内容应包括基本概念、原理和应用。
3.2 制定教学计划和学习活动根据课程目标和学习内容,制定详细的教学计划和学习活动。
教学计划应包括教学目标、教学方法、评价方法和学习资源等。
学习活动应设计成富有创意和挑战的,能够培养学生的实践和创新能力。
3.3 开展学习和实践活动在课程设计实施过程中,教师应引导学生积极参与学习和实践活动。
通过小组讨论、实验、实习等方式,培养学生的团队合作、沟通和解决问题的能力。
3.4 进行评估和反馈课程设计结束后,教师应及时进行评估和反馈。
评估可以包括学生的作业、项目成果、实习报告等。
根据评估结果,教师可以为学生提供个性化的指导和建议,帮助他们改进学习。
4. 教学方法为了有效实施课程设计,教师可以采用多种教学方法,包括: - 授课讲解:教师将重点理论知识讲解给学生,并进行互动讨论和思考;- 实践体验:学生通过实验、实习等实际操作来巩固所学知识;- 小组合作:学生分组合作完成项目任务,培养团队合作和沟通能力;- 个性化指导:教师根据学生的学习进展,提供个性化的学习指导和反馈。
5. 课程评价课程评价是课程设计的重要环节。
为了全面评价学生的学习情况,教师可以采用多种评价方法,包括:- 作业/project成果评价:根据学生交付的作业和项目成果,评估其理解和应用能力;- 考试评价:通过考试对学生的知识掌握程度进行评估;- 口头表现评价:通过学生的展示、演讲等口头表现,评估其沟通和表达能力。
建水课程设计设计说明书
建水课程设计设计说明书一、课程目标知识目标:1. 学生能掌握建水地区的历史文化背景,理解其在中国历史中的重要地位。
2. 学生能了解并描述建水古城的建筑特色、文化传承以及与当地生活的关系。
3. 学生能掌握基本的地理学概念,分析建水地区的自然环境对古城建筑风格的影响。
技能目标:1. 学生通过实地考察、资料搜集等途径,培养探究学习的能力。
2. 学生能运用地图、绘画等工具,制作建水古城模型,提高空间思维和动手操作能力。
3. 学生通过小组合作,提升沟通协调和团队合作能力。
情感态度价值观目标:1. 学生培养对传统文化的尊重和热爱,增强民族自豪感。
2. 学生在学习过程中,培养对地理、历史学科的兴趣,激发主动学习的热情。
3. 学生通过了解建水古城的保护与开发,认识到人与自然和谐共生的重要性,树立可持续发展观念。
课程性质:本课程以实地考察和课堂学习相结合的方式,让学生深入了解建水古城的历史、地理、文化等知识。
学生特点:五年级学生具有一定的自主学习能力和合作意识,对新鲜事物充满好奇心。
教学要求:教师应充分调动学生的积极性,注重培养学生的实践能力和综合素质,将理论知识与实际操作相结合,提高学生的学习效果。
通过课程目标的分解,使学生在学习过程中达到预期的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 建水地区历史文化背景介绍:包括建水历史沿革、重要历史事件、文化名人等,对应教材第三章第一节。
2. 建水古城建筑特色分析:学习古城墙、街巷、古建筑类型及风格,对应教材第三章第二节。
3. 建水地区自然环境与古城建筑关系:探讨地理、气候等因素对古城建筑风格的影响,对应教材第三章第三节。
4. 建水古城保护与开发探讨:分析古城保护的意义、现状及开发策略,对应教材第三章第四节。
5. 实践活动:组织学生实地考察建水古城,拍摄照片、绘制地图,并制作古城模型,锻炼学生动手能力和空间思维。
教学大纲安排:第一课时:建水地区历史文化背景介绍第二课时:建水古城建筑特色分析第三课时:建水地区自然环境与古城建筑关系第四课时:建水古城保护与开发探讨第五课时:实践活动(实地考察、拍摄照片、绘制地图、制作模型)教学内容注重科学性和系统性,结合课程目标,合理安排教学进度,确保学生能够在学习过程中掌握相应知识,提高实践能力。
《机电一体化系统设计课程设计》设计说明书
《机电一体化系统设计课程设计》设计说明书一、课程设计的目的机电一体化系统设计是一门综合性很强的课程,通过本次课程设计,旨在让我们将所学的机电一体化相关知识进行综合运用,培养我们独立设计和解决实际问题的能力。
具体来说,课程设计的目的包括以下几个方面:1、加深对机电一体化系统概念的理解,掌握系统设计的基本方法和步骤。
2、熟悉机械、电子、控制等多个领域的知识在机电一体化系统中的融合与应用。
3、培养我们的工程实践能力,包括方案设计、图纸绘制、参数计算、器件选型等。
4、提高我们的创新思维和团队协作能力,为今后从事相关工作打下坚实的基础。
二、课程设计的任务和要求本次课程设计的任务是设计一个具有特定功能的机电一体化系统,具体要求如下:1、确定系统的功能和性能指标,包括运动方式、精度要求、速度范围等。
2、进行系统的总体方案设计,包括机械结构、驱动系统、控制系统等的选择和布局。
3、完成机械结构的详细设计,绘制装配图和零件图。
4、选择合适的驱动电机、传感器、控制器等器件,并进行参数计算和选型。
5、设计控制系统的硬件电路和软件程序,实现系统的控制功能。
6、对设计的系统进行性能分析和优化,确保满足设计要求。
三、系统方案设计1、功能需求分析经过对任务要求的仔细研究,确定本次设计的机电一体化系统为一个小型物料搬运机器人。
该机器人能够在规定的工作空间内自主移动,抓取和搬运一定重量的物料,并放置到指定位置。
2、总体方案设计(1)机械结构采用轮式移动平台,通过直流电机驱动轮子实现机器人的移动。
机械手臂采用关节式结构,由三个自由度组成,分别实现手臂的伸缩、升降和旋转,通过舵机进行驱动。
抓取机构采用气动夹爪,通过气缸控制夹爪的开合。
(2)驱动系统移动平台的驱动电机选择直流无刷电机,通过减速器与轮子连接,以提供足够的扭矩和速度。
机械手臂的关节驱动选择舵机,舵机具有控制精度高、响应速度快等优点。
抓取机构的气缸由气泵提供气源,通过电磁阀控制气缸的动作。
课程设计说明书
第1章工程概述1.1资料采集(一)设计题目:河北省石家庄市某酒店建筑工程空调系统设计(二)原始资料1、室外气象条件:地点:河北省石家庄市地理位置:东经114°25′北纬38°02′海拔:海拔80.5米采暖室外计算温度:-6.0℃冬季通风室外计算温度:-5.9℃夏季通风室外计算温度:30.8℃夏季通风室外计算相对湿度:56%冬季空气调节室外计算温度:-8.6℃冬季空气调节室外计算相对湿度:54%夏季空气调节室外计算干球温度:35.2℃夏季空气调节室外计算湿球温度:26.8℃夏季空气调节室外计算日平均温度:30.1℃冬季室外平均风速:1.4m/s夏季室外平均风速:1.5m/s冬季室外大气压力:102020Pa夏季室外大气压力:99390Pa2、室内条件:夏季:t=26±1 ℃, φ=50±10﹪。
冬季:t=15~28℃, φ≥40﹪。
对于具体建筑而言,由于房间的使用功能各不相同,其室内计算参数也有较大差异。
查表1-1可得各室内计算参数:表1-1 室内计算参数3、土建条件:建筑平面图中拟建建筑为办公建筑,共3层,该建筑为正南朝向。
建筑底层层高4.2m,二层层高3.5m。
该设计任务为建筑工程设计中的室内空调系统设计项目。
外墙体为内表面抹灰砖墙,外墙厚度为370mm,窗为双层钢窗,屋顶为保温屋顶。
(1)外墙:参照表1-2370mm 砖墙水泥砂浆内表面白灰粉刷表1-2 外墙参数(2)屋顶:参照表1-31、预制混泥土板25mm,表面喷白色水泥浆2、通风层≥200mm3、卷材防水层4、水泥砂浆找平层20mm5、保温层(沥青膨胀珍珠岩)125mm6、隔汽层7、现浇钢筋混泥土屋面板70mm8、内粉刷表1-3 屋顶参数(3)外窗:双层玻璃窗。
=8.7W/m2²K铝合金框:2.0³2.5m 80﹪玻璃αn=18.6W/m2²KΑw玻璃为3mm厚普通玻璃,大厅为内遮阳(白布帘)。
教学课程设计说明书模板
教学课程设计说明书模板一、项目概述本教学课程设计说明书模板旨在为教师在设计课程时提供指导和参考。
通过本模板,教师可以详细说明课程的目标、内容、教学方法、评估方式等关键要素,为教学活动的顺利进行提供指导。
二、项目目标本项目的主要目标是设计一门符合教学要求的课程,以达到培养学生综合素质和提高学习能力的目标。
通过科学合理的教学课程设计,提高学生的学习兴趣和主动性,培养学生的创新思维和实践能力,使学生能够灵活地运用所学知识解决实际问题。
三、课程内容1. 课程介绍:简要介绍课程的背景和意义,引起学生的兴趣和学习动机。
2. 教学目标:明确课程的教学目标,包括知识、能力和素养的培养目标。
3. 课程大纲:详细列出课程的各个单元或模块,每个单元或模块包括的主题、目标、内容和学时等。
确保课程设计合理有序,能够覆盖所需的知识点和技能。
4. 教学方法:结合具体的课程内容和教学目标,选择适合的教学方法,如讲授、示范、讨论、实验、小组活动等,以促进学生的积极参与和主动探究。
5. 教学资源:列举所需的教具、实验器材、参考书籍等教学资源,确保教学过程顺利进行。
6. 评估方式:明确课程的评估方式,包括作业、考试、实验报告等。
要求评估方式与课程目标相匹配,能够全面、准确地评价学生的学习成果。
四、教学安排1. 课程周期:确定课程的教学周期,包括总学时和每周学时。
2. 教学进度:安排具体的教学进度表,每个单元或模块的学时安排和重点内容。
3. 课堂活动:设计每堂课的教学活动和教学方法,保证活动的多样性和趣味性,增加学生的参与度。
4. 作业布置:根据课程内容和学生能力水平,合理布置各类作业,以巩固和拓展学生的学习成果。
五、教学评价1. 评价标准:明确课程的评价标准,包括知识理解、能力应用、思维发展、实践操作等方面。
2. 评价方法:选择合适的评价方法,如考试、实验报告、项目展示等,以客观、公正、全面地评价学生的学习效果。
3. 评价周期:确定课程的评价周期,包括阶段性评价和总结性评价。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件23信息与电气工程学院课程设计说明书(200 /200 学年第学期)课程名称:小型数字系统设计题目:数字计算器专业班级:计算机3班学生姓名:王尚飞学号:120210310指导教师:设计周数:设计成绩:2014年12月25日1、课程设计目的数字计算器的原理与设计是51单片机课程设计课题中的一个。
在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。
单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,数字计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,同时学习查阅资料、参考资料的方法。
本设计是基于51系列的单片机进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。
设计过程在硬件与软件方面进行同步设计。
硬件选择AT89C51单片机和74LS00,输入用4×4矩阵键盘。
显示C51LCD显示。
软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。
选用编译效率最高的Keil软件进行编程,并用proteus仿真。
2.1软件方面设计2.1.1系统分析系统主要包括主程序、键盘程序、LCD显示程序、运算程序。
主程序主要是用来进行初始化,调用其他子程序,清空各个标志位,清空缓存区,读取键码,判断功能,在LED上作出回应。
键盘程序用来实现键盘的输入功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。
为了得到被按键的键码,使用行扫描法识别按键。
LCD显示程序用来显示运算过程和运算结果。
运算程序用来接收键盘输入并进行运算。
2.1.2系统设计#include <reg51.h>//#include<intrins.h>//#include <absacc.h>/#include <stdio.h>//#include <math.h>//#include<float.h>//#include <string.h>#include <stdlib.h> /*库函数*///#include <ctype.h> /*字符操作函数*/#define Uchar unsigned char#define Uint unsigned int// LCM1602A端口地址定义char xdata Lcd1602CmdPort _at_ 0x7cff; //E=1 RS=0 RW=0char xdata Lcd1602WdataPort _at_ 0x7dff; //E =1 RS=1 RW=0 char xdata Lcd1602StatusPort _at_ 0x7eff; //CS=1 RS=0 RW=1#define Busy 0x80 // 忙判别位code Uchar exampl[]=" counter:";//Uchar tab[]="0123456789- ";void Delay400Ms(void);void Delay5Ms(void);void LcdWriteData( char dataW );void LcdWriteCommand( Uchar CMD,Uchar AttribC );void LcdReset( void );void Display( void);void DispOneChar(Uchar x,Uchar y,Uchar Wdata);void ePutstr(Uchar x,Uchar y, Uchar code *ptr);void kbscan(void);//键盘扫描函数void keycl(Uchar keyvol );//键值处理void left(Uchar rx,Uchar date);//移位函数void flagcon(void);//进入加减乘除等于相应的操做bit add,subb,mul,div,equ,flag;//加,减,乘,除, "+" "-" "*" "/" "=" Uchar dat[]={'0',' ',' ',' ',' ',' ',};//存放数子串值Uchar s[12];Uchar rdat;//按键次数long int lvalue,result;//左值,右值Uchar num;//float result;//结果//主程序void main(void){Uchar temp;Delay400Ms(); //启动时必须的延时,等待lcm进入工作状态LcdReset(); //这也是必需的....初始化temp = 32;ePutstr(0,0,exampl); //上面一行显示一个预定字符串while(1){kbscan();Display();Delay400Ms();}}//显示字符串void ePutstr(Uchar x,Uchar y, Uchar code *ptr){Uchar i,l=0;while (ptr[l] >31){l++;};for (i=0;i<l;i++) {DispOneChar(x++,y,ptr[i]);// if ( x == 16 )//{// x = 0; y ^= 1;// }}}// 演示一行连续字符串,配合上位程序演示移动字串void Display( void ){Uchar i;if(equ==1){DispOneChar(0,1,'=');for(i=0;i<num;i++){DispOneChar(i+1,1,s[i]); }// DispOneChar(0,1,'='); //DispOneChar(1,1,s[0]); //DispOneChar(2,1,s[1]); //DispOneChar(3,1,s[2]); //DispOneChar(4,1,s[3]); //DispOneChar(5,1,s[4]); //DispOneChar(6,1,s[5]); //DispOneChar(7,1,s[6]); //DispOneChar(8,1,s[7]); //DispOneChar(9,1,s[8]); //DispOneChar(10,1,s[9]); //DispOneChar(11,1,s[10]); //DispOneChar(12,1,s[11]); }else{DispOneChar(10,1,dat[5]); DispOneChar(11,1,dat[4]); DispOneChar(12,1,dat[3]); DispOneChar(13,1,dat[2]); DispOneChar(14,1,dat[1]); DispOneChar(15,1,dat[0]); }}// 显示光标定位void LocateXY( char posx,char posy){Uchar temp;temp = posx & 0xf;posy &= 0x1;if ( posy )temp |= 0x40;temp |= 0x80;LcdWriteCommand(temp,0);}// 按指定位置显示数出一个字符void DispOneChar(Uchar x,Uchar y,Uchar Wdata){LocateXY( x, y ); // 定位显示地址LcdWriteData( Wdata ); // 写字符}// 初始化程序, 必须按照产品资料介绍的初始化过程进行void LcdReset( void ) {LcdWriteCommand( 0x38, 0); // 显示模式设置(不检测忙信号) Delay5Ms();LcdWriteCommand( 0x38, 0); // 共三次Delay5Ms();LcdWriteCommand( 0x38, 0);Delay5Ms();LcdWriteCommand( 0x38, 1); // 显示模式设置(以后均检测忙信号) LcdWriteCommand( 0x08, 1); // 显示关闭LcdWriteCommand( 0x01, 1); // 显示清屏LcdWriteCommand( 0x06, 1); // 显示光标移动设置LcdWriteCommand( 0x0c, 1); // 显示开及光标设置}// 写控制字符子程序: E=1 RS=0 RW=0void LcdWriteCommand( Uchar CMD,Uchar AttribC ) {if (AttribC) while( Lcd1602StatusPort & Busy ); // 检测忙信号?Lcd1602CmdPort = CMD;}// 当前位置写字符子程序: E =1 RS=1 RW=0void LcdWriteData( char dataW ) {while( Lcd1602StatusPort & Busy ); // 检测忙信号Lcd1602WdataPort = dataW;}// 短延时void Delay5Ms(void){Uint i = 1552;while(i--);}//长延时void Delay400Ms(void){Uchar i = 5;Uint j;while(i--){j=3267;while(j--);};}void kbscan(void)//键盘扫描函数{Uchar line,row;P1=0xf0;if((P1&0xf0)!=0xf0){Delay5Ms();if((P1&0xf0)!=0xf0){// line=P1;row=0xfe;while((row&0x10)!=0){P1=row;if((P1&0xf0)!=0xf0){line=((P1&0XF0)|0X0F);keycl(row&line);//进入处理 }elserow=(row<<1)|0x01;}}}// return(0);}//键值处理函数void keycl(Uchar keyvol){Uchar i;Uchar k;Delay400Ms();Delay400Ms();switch(keyvol){case 0xeb:{ rdat++,k='1';s[rdat-1]=k;left( rdat,k); }break;//1case 0xdb:{ rdat++,k='2';s[rdat-1]=k;left( rdat,k); }break;//2case 0xbb:{ rdat++;k='3';s[rdat-1]=k;left( rdat,k); }break;//3case 0xed:{ rdat++,k='4';s[rdat-1]=k;left( rdat,k); }break;//4case 0xdd:{ rdat++,k='5';s[rdat-1]=k;left( rdat,k); }break;//5case 0xbd:{ rdat++,k='6';s[rdat-1]=k;left( rdat,k); }break;//6case 0xee:{ rdat++,k='7';s[rdat-1]=k;left( rdat,k); }break;//7case 0xde:{ rdat++,k='8';s[rdat-1]=k;left( rdat,k); }break;//8case 0xbe:{ rdat++,k='9';s[rdat-1]=k;left( rdat,k); }break;//9case0xd7:{ if((rdat!=0)|(mul==1)){rdat++;k='0';s[rdat-1]=k;left( rdat,k);} }break;//0 case 0xe7:{ rdat=0;add=0;subb=0;mul=0;div=0;lvalue=0;equ=0;//rvalue=0;result=0;dat[0]='0';for(i=1;i<7;i++){dat[i]=' ';}for(i=0;i<12;i++){s[i]=' ';}for(i=0;i<15;i++){DispOneChar(i,1,' ');}DispOneChar(15,1,'0');} break;//ON/Ccase 0x77:{if(rdat!=0){add=1;subb=0;mul=0;div=0;rdat=0;lvalue=atol(s);for(i=0;i<12;i++){s[i]=' ';} dat[0]='0';for(i=1;i<7;i++){dat[i]=' ';}}}break;//+case 0x7b:{if(rdat!=0){subb=1;add=0;mul=0;div=0;rdat=0;lvalue=atol(s);for(i=0;i<12;i++){s[i]=' ';}dat[0]='0';for(i=1;i<7;i++){dat[i]=' ';}}}break;//-case 0x7d:{if(rdat!=0){mul=1;add=0;subb=0;div=0;rdat=0;lvalue=atol(s);for(i=0;i<12;i++){s[i]=' ';}dat[0]='0';for(i=1;i<7;i++){dat[i]=' ';}}}break;//*case 0x7e:{if(rdat!=0){ div=1;add=0;subb=0;mul=0;rdat=0;lvalue=atol(s);for(i=0;i<12;i++){s[i]=' ';}dat[0]='0';for(i=1;i<7;i++){dat[i]=' ';}}}break;// /case 0xb7:{if(rdat!=0){equ=1;rdat=0;result=atol(s);for(i=0;i<12;i++){s[i]=' ';}dat[0]='0';for(i=1;i<7;i++){dat[i]=' ';}flagcon();for(i=10;i<15;i++){DispOneChar(i,1,' ');} DispOneChar(15,1,'0');}}break;//=}}//移位函数void left(Uchar rx,Uchar date){equ=0;switch(rx){case 1:dat[0]=date;break;case 2:dat[1]=dat[0],dat[0]=date;break;case 3:dat[2]=dat[1],dat[1]=dat[0],dat[0]=date;break;case 4:dat[3]=dat[2],dat[2]=dat[1],dat[1]=dat[0],dat[0]=date;break;case5:dat[4]=dat[3],dat[3]=dat[2],dat[2]=dat[1],dat[1]=dat[0],dat[0]=date;break;case6:dat[5]=dat[4],dat[4]=dat[3],dat[3]=dat[2],dat[2]=dat[1],dat[1]=dat[0],dat[0]=date;b reak;}}//进入加减乘除等于相应的操做void flagcon(void){if(add==1){result=lvalue+result;add=0;}if(subb==1){result=lvalue-result;subb=0;}if(mul==1){result=lvalue*result;mul=0;}if(div==1){result=lvalue/result;div=0;}num=sprintf(s,"%ld",result);}2.1.3系统实施下载安装Keil软件将代码一一写入运行烧写代码得到单片机程序,下载运行Proteus软件,将刚才得到的代码导入单片机中仿真模拟运行。