单片机课程设计
单片机课程设计任务及要求

单片机课程设计任务及要求第一篇:单片机课程设计任务及要求13Z机制《单片机课程设计》任务书及要求一、本课程设计的目的和意义通过课程设计使学生深入理解单片机的基本结构和工作原理。
掌握单片机系统常用接口的设计及扩展方法。
掌握汇编语言程序设计和程序调试的技巧。
学会单片机应用系统的设计与开发,培养学生分析问题和解决问题的能力。
为学生将来在机械设计制造及其自动化及其他领域应用单片机技术打下良好基础。
二、设计任务及要求1.硬件设计:根据所选题目要求,完成基于单片机的完整硬件接口电路设计。
2.程序设计:根据需要画出程序流程图,设计出全部汇编程序并给出程序设计说明和程序注释。
3.设计文件:设计报告字数约4000~5000字(不包括程序清单),内容及格式要求如下:(1)报告内容的一般安排λ目录(1页)λ前言(1页):说明所选题目的、当今应用说明、对课题的理解,及要解决的问题和课题的意义。
λ总体方案设计(3~4页):通过列举和分析若干可行技术方案、原理,从中选定可行最优设计方案,给出组成原理(框图)及技术路线。
λ硬件设计(4~8页):元器件选择与必要的介绍;单片机硬件系统及外围接口电路的设计,原理说明。
系统总电路图可占完整一页。
λ软件设计(6~10页):设计各功能子程序、中断服务程序,及主程序,程序中应有必要的注释。
对于复杂程序结构可先绘制程序流程图。
λ设计小结(1页):对设计中所存在的问题和不足进行分析和总结,提出建议、解决的方法和对这次设计实践的认识、收获和提高。
参考文献(1页)(2)设计报告书写要求以班级为单位购买徐师大标准的课程设计报告本,人手一册。
课程设计报告本应双面书写,每页的文字部分不得少于16行、每行不少于22字。
若整页为汇编语言程序,则该页不得少于20行。
设计说明书中插图总数不宜超过10个,插图可包括元器件图、单片机系统硬件电路图、程序流程图等,插图大小及所占篇幅根据线条密度定,线条不能太稀疏。
插图上下之外部不得留有超过一行文字高度的空白行。
单片机课程设计任务书

单片机课程设计任务书一、教学目标本课程旨在让学生了解和掌握单片机的基本原理和应用技能,通过理论学习和实践操作,使学生能够熟练使用单片机进行简单的程序设计和控制系统设计。
具体的教学目标如下:知识目标:使学生了解单片机的基本结构、工作原理和编程方法;掌握单片机的硬件接口和编程语言;了解单片机在不同领域的应用。
技能目标:培养学生具备单片机的程序设计、系统调试和故障排查能力;能够运用单片机实现简单的控制系统和智能设备。
情感态度价值观目标:培养学生对单片机技术和电子信息科学的兴趣和热情,提高学生创新意识和团队协作能力,使学生认识到单片机技术在现代社会中的重要地位和作用。
二、教学内容本课程的教学内容主要包括以下几个部分:1.单片机的基本原理:介绍单片机的结构、工作原理和性能特点,使学生了解单片机的基本概念。
2.单片机的编程语言:讲解单片机的编程语言,包括指令系统、编程规范和程序结构,培养学生具备编写简单程序的能力。
3.单片机的硬件接口:介绍单片机的各种接口电路,如并行接口、串行接口、ADC和DAC等,使学生掌握单片机与外部设备的数据交换方法。
4.单片机的应用案例:分析单片机在各个领域的应用实例,如家电、工业控制、智能交通等,帮助学生了解单片机的实际应用。
5.单片机编程实践:安排一定的实验课时,让学生动手实践,进行单片机的编程和系统调试,提高学生的实际操作能力。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:教师讲解单片机的基本原理、编程方法和应用案例,引导学生掌握单片机的相关知识。
2.讨论法:学生进行课堂讨论,分享学习心得和经验,提高学生的思维能力和团队协作能力。
3.案例分析法:分析单片机在实际应用中的典型案例,让学生了解单片机技术的应用前景。
4.实验法:安排实验室实践环节,让学生动手操作,进行单片机的编程和系统调试,提高学生的实际操作能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《单片机原理与应用》等教材,为学生提供理论学习的参考。
单片机课程设计说明书(word文档+全!)

调试工具:J-Link、ST-Link等 仿真工具:Proteus、Multisim等 编程技巧:模块化编程、代码优化等
程序流程图设计与实现
流程图设计:根据 需求分析,设计出 流程图
流程图实现:根据 流程图,编写程序 代码
程序调试:对编写 的程序进行调试, 确保其正确运行
人工智能:单片机在人工智能领域的应用将更加深入,如智能机器人、智能语音识别等
医疗健康:单片机在医疗健康领域的应用将更加普及,如智能医疗设备、智能穿戴设备等 环保节能:单片机在环保节能领域的应用将更加重要,如智能能源管理、智能环保设备等
感谢您的观看
汇报人:
软件测试与优化
测试方法:单元测试、集成测试、系统测试等 测 试 工 具 : J U n i t 、 Te s t N G 、 S e l e n i u m 等 优化目标:提高代码质量、提高运行效率、降低资源消耗等 优化方法:代码重构、算法优化、性能调优等
课程设计总结与 展望
课程设计总结
课程设计目标:掌 握单片机基本原理 和编程方法
课程设计目的
掌握单片机的基本原理和应用
提高编程能力和硬件设计能力
培养创新思维和解决问题的能 力
提高团队合作和沟通能力
课程设计要求
课程设计 目的:掌 握单片机 原理和应 用技术
课程设计 内容:包 括硬件设 计和软件 设计两部 分
课程设计要 求:硬件设 计要求实现 特定功能, 软件设计要 求编写程序 实现特定功 能
调试步骤:根据测 试结果,对硬件进 行调试和优化
常见问题:信号 干扰、电源不稳 定、硬件故障等
解决方案:根据问题 原因,采取相应的解 决方案,如更换元器 件、调整电路参数等
单片机显示控制课程设计

单片机显示控制课程设计一、课程目标知识目标:1. 让学生理解单片机显示控制的基本原理,掌握显示器件的工作机制;2. 学会使用编程语言对单片机进行编程,实现字符、图形的显示控制;3. 了解单片机显示控制在不同应用场景下的实际运用。
技能目标:1. 培养学生动手操作能力,能够独立完成单片机显示控制电路的搭建;2. 提高学生编程能力,使其能够熟练编写并调试显示控制程序;3. 培养学生分析问题和解决问题的能力,能够针对实际应用场景设计合适的显示控制方案。
情感态度价值观目标:1. 培养学生对单片机技术的兴趣,激发其学习热情;2. 培养学生团队协作精神,使其在合作中共同解决问题;3. 增强学生的创新意识,鼓励其勇于尝试新的显示控制方法。
课程性质:本课程为实践性较强的课程,结合理论知识,注重培养学生的动手操作能力和实际应用能力。
学生特点:学生具备一定的单片机基础知识,对编程和电路搭建有一定了解,但实践经验不足。
教学要求:教师应注重理论与实践相结合,通过讲解、示范、指导等教学手段,帮助学生掌握单片机显示控制技术,并能够将其应用于实际项目中。
同时,关注学生的个体差异,给予个性化的指导和支持。
通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程的学习打下坚实基础。
二、教学内容1. 单片机显示控制原理:讲解显示器件的工作原理,如LED、LCD等,分析单片机与显示器件的接口技术。
- 教材章节:第二章 单片机显示技术基础2. 显示控制编程:介绍单片机编程语言,以C语言为例,讲解显示控制编程方法,实现字符、图形的显示。
- 教材章节:第三章 单片机显示控制编程3. 电路设计与搭建:指导学生进行显示控制电路的设计与搭建,包括硬件连接、调试等。
- 教材章节:第四章 单片机显示控制系统设计4. 实践项目:开展单片机显示控制实践项目,如电子时钟、温度显示等,让学生在实际操作中掌握所学知识。
- 教材章节:第五章 单片机显示控制应用实例5. 创新设计与展示:鼓励学生进行创新设计,将所学知识应用于实际项目中,并进行展示和交流。
单片机系统的设计课程设计

单片机系统的设计课程设计一、课程目标知识目标:1. 让学生理解单片机系统的基本原理和组成,掌握其设计流程和方法。
2. 使学生掌握单片机编程的基础知识,能运用C语言或汇编语言进行简单程序编写。
3. 帮助学生了解单片机系统在实际应用中的功能与作用,如智能家居、机器人等。
技能目标:1. 培养学生具备独立设计单片机系统的能力,包括硬件电路设计和软件编程。
2. 提高学生运用单片机解决实际问题的能力,如数据采集、信号处理等。
3. 培养学生动手实践和团队协作的能力,能够完成课程项目的设计与实施。
情感态度价值观目标:1. 培养学生对单片机系统设计和开发产生兴趣,提高其学习积极性和主动性。
2. 培养学生具备创新精神和实践意识,敢于尝试新方法,解决实际问题。
3. 培养学生具备良好的团队合作精神和沟通能力,能够在团队中发挥积极作用。
课程性质:本课程为实践性较强的学科,要求学生在理解理论知识的基础上,动手实践,完成单片机系统的设计与实现。
学生特点:学生具备一定的电子技术基础和编程能力,对单片机系统有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,培养其创新能力和实践能力。
通过课程学习,使学生能够达到上述课程目标,为后续专业课程学习和实际工程应用打下坚实基础。
二、教学内容1. 单片机系统概述:介绍单片机的基本概念、发展历程、应用领域及未来发展趋势。
- 教材章节:第一章 单片机概述2. 单片机硬件结构:讲解单片机的内部结构、工作原理、主要性能指标及硬件连接方式。
- 教材章节:第二章 单片机硬件结构3. 单片机编程语言:学习单片机编程所需的基础知识,包括C语言和汇编语言。
- 教材章节:第三章 单片机编程语言4. 单片机I/O口编程:介绍I/O口的基本操作方法,包括输入、输出、中断等。
- 教材章节:第四章 单片机I/O口编程5. 单片机系统设计流程与方法:讲解单片机系统设计的步骤、方法及注意事项。
单片机综合实验课程设计

单片机综合实验课程设计一、课程目标知识目标:1. 学生能理解单片机的基本工作原理,掌握其内部结构和功能模块;2. 学生能掌握单片机编程的基本语法和常用指令,具备编写简单程序的能力;3. 学生能了解并运用单片机接口技术,实现与外围设备的通信和控制。
技能目标:1. 学生能运用所学知识,设计并实现简单的单片机控制系统;2. 学生能熟练使用编程软件和开发工具,进行单片机的程序编写、调试与优化;3. 学生能通过实验操作,培养动手能力和团队协作能力,提高问题解决能力。
情感态度价值观目标:1. 学生通过课程学习,增强对电子技术和编程的兴趣,培养主动探索和创新的意识;2. 学生在学习过程中,树立正确的价值观,认识到单片机技术在现实生活中的应用价值;3. 学生通过团队协作,培养沟通与协作能力,增强集体荣誉感和责任感。
课程性质:本课程为单片机原理与应用的综合实验课程,注重理论与实践相结合,以培养学生的动手能力和创新能力为主。
学生特点:学生具备一定的电子技术和编程基础,对单片机有一定了解,但实践经验不足。
教学要求:教师应结合学生特点和课程性质,采用任务驱动、案例教学等方法,引导学生主动参与实验,提高实践操作能力和创新能力。
同时,注重个体差异,因材施教,确保每位学生都能在课程中学有所获。
通过课程目标的分解与实现,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容主要包括以下三个方面:1. 单片机原理与结构- 熟悉单片机的内部结构,掌握其功能模块;- 了解单片机的工作原理,理解指令执行过程;- 学习单片机编程语言,掌握基本语法和常用指令。
教学大纲:参照教材第1章至第3章,共计6学时。
2. 单片机编程与接口技术- 学习单片机程序设计方法,掌握程序编写、调试与优化技巧;- 了解单片机接口技术,掌握I/O口、定时器、中断等应用;- 学习外围设备与单片机的通信协议,实现数据交换和控制。
教学大纲:参照教材第4章至第6章,共计10学时。
51单片机课程设计报告
51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
简单51单片机课程设计
简单51单片机课程设计一、课程目标知识目标:1. 理解51单片机的基本结构、工作原理及功能特点;2. 学会使用51单片机的开发环境,掌握相关编程语言及语法;3. 掌握51单片机外围电路的连接方法,了解常见传感器的使用;4. 掌握51单片机在实际应用中的调试与优化方法。
技能目标:1. 能够运用51单片机编写简单的程序,实现基本的功能;2. 能够分析并解决51单片机在实际应用中出现的问题;3. 能够运用所学知识,设计并实现简单的51单片机控制系统;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对单片机及嵌入式系统的兴趣,激发学习热情;2. 培养学生严谨、求实的科学态度,养成良好的学习习惯;3. 培养学生具备积极向上的心态,面对困难和挑战时保持乐观;4. 培养学生具备团队协作精神,学会与他人共同解决问题。
本课程针对初中学段学生,结合课程性质、学生特点和教学要求,明确以上课程目标。
通过本课程的学习,学生将能够掌握51单片机的基本知识和技能,培养实际应用能力,同时培养良好的情感态度价值观。
后续教学设计和评估将围绕这些具体的学习成果展开。
本章节教学内容依据课程目标,紧密结合教材,确保科学性和系统性。
具体教学内容如下:1. 51单片机基础知识:介绍51单片机的结构、原理及功能特点,包括内部资源、外部接口等,对应教材第一章。
2. 开发环境与编程语言:学习51单片机的开发环境搭建,掌握C语言编程基础,包括数据类型、运算符、控制语句等,对应教材第二章。
3. 基本I/O口操作:学习51单片机I/O口编程,实现LED灯、蜂鸣器等基本控制,对应教材第三章。
4. 中断与定时器:介绍中断系统、定时器原理及应用,学会编写中断服务程序,对应教材第四章。
5. 外围电路与传感器:学习51单片机与外围电路的连接方法,了解常见传感器的工作原理及使用,对应教材第五章。
6. 实际应用案例分析:分析51单片机在实际应用中的案例,如温度控制系统、智能家居等,对应教材第六章。
单片机综合实验课程设计
单片机综合实验课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及相关功能模块的使用方法。
2. 学生能掌握单片机编程的基本语法和技巧,能独立完成简单的程序设计。
3. 学生能了解单片机在现实生活中的应用,并学会分析实际案例。
技能目标:1. 学生能运用所学知识,完成单片机的基本操作和程序编写。
2. 学生能通过实验,学会使用相关开发工具和调试技巧,具备一定的故障排查能力。
3. 学生能运用单片机技术解决实际问题,提高创新实践能力。
情感态度价值观目标:1. 学生通过单片机综合实验课程,培养对电子信息科学的兴趣和热情。
2. 学生在团队协作中,学会沟通、分享和合作,提高解决问题的能力。
3. 学生能认识到单片机技术对社会发展的作用,树立正确的价值观和责任感。
课程性质:本课程为实践性课程,侧重于培养学生的动手能力和创新能力。
学生特点:学生已具备一定的单片机基础知识,对实际操作感兴趣,但编程能力和问题解决能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践和团队协作,提高学生的综合能力。
通过课程目标分解,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础理论:回顾单片机的基本原理、内部结构、工作原理等,重点讲解中断系统、定时器/计数器、串行通信等模块的功能和应用。
2. 单片机编程语言:以C语言为基础,介绍单片机编程的基本语法、数据类型、运算符、控制语句等,并通过实例进行讲解。
3. 单片机实验操作:结合教材章节,进行以下实验:- 基本输入输出实验:学习单片机I/O口控制,实现LED灯、蜂鸣器等设备的控制。
- 中断控制实验:掌握中断系统的使用,实现外部中断控制。
- 定时器/计数器实验:学习定时器/计数器的配置,完成定时控制等功能。
- 串行通信实验:了解串行通信原理,实现单片机之间的数据传输。
单片机实践项目课程设计
单片机实践项目课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本结构、工作原理及其在各行各业的应用。
2. 学生掌握单片机编程的基础知识,如指令系统、寄存器、I/O 口控制等。
3. 学生能够描述并分析单片机外围电路的原理及其功能。
技能目标:1. 学生能够运用所学知识,独立完成单片机的编程和调试。
2. 学生能够设计简单的单片机控制系统,解决实际问题。
3. 学生通过实践项目,提高动手能力,培养创新意识和团队协作精神。
情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发学习热情。
2. 学生在实践过程中,培养耐心、细致的工作态度,提高解决问题的能力。
3. 学生认识到单片机在现代科技发展中的重要作用,树立为国家和民族科技事业作贡献的信念。
课程性质:本课程为实践性较强的学科,强调理论知识与实际操作的相结合。
学生特点:学生处于高年级阶段,已具备一定的电子技术基础和编程能力,具有较强的探究欲望和自主学习能力。
教学要求:教师需注重引导学生将所学知识应用于实践,鼓励学生创新思维,提高解决问题的能力。
通过课程学习,使学生能够达到预定的学习成果。
二、教学内容1. 单片机基础知识:介绍单片机的基本结构、工作原理,重点讲解CPU、内存、I/O 口等组成部分的功能及相互关系。
教材章节:第一章 单片机概述2. 单片机编程语言:讲解单片机编程所需的基础知识,如指令系统、寄存器、汇编语言等。
教材章节:第二章 单片机编程语言3. 单片机外围电路设计:介绍单片机与外围电路的连接方法,讲解常用外围元器件的原理及功能。
教材章节:第三章 单片机外围电路设计4. 单片机实践项目:设计多个实践项目,涵盖灯光控制、温度测量、电机控制等方面,让学生动手实践,巩固所学知识。
教材章节:第四章 单片机实践项目5. 单片机系统设计与调试:讲解单片机系统设计的方法和步骤,培养学生独立设计单片机控制系统及调试的能力。
教材章节:第五章 单片机系统设计与调试教学内容安排和进度:共15课时,其中基础知识3课时,编程语言4课时,外围电路设计3课时,实践项目4课时,系统设计与调试1课时。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东农业大学单片机课程设计报告设计课题:用51单片机制作的温度控制器专业班级:06 自动化一班小组成员:张金山指导教师:李天华评定成绩:二〇〇九年六月二十日题目:用51单片机制作的温度控制器(空一行)一、设计任务与要求(标题均为小三号,宋体)用18b20实时检测温度,在3位数码管上显示温度值,数码管显示用74ls164(传入并出)来控制。
可以人为设定上下限温度:摁下“上限”功能键,开始设定上限温度值,3个数码管循环显示设定的温度值,直至摁下“确认”功能键,退出设定上限功能,3个数码管继续显示18b20检测的温度值,18b20检测的温度值与设定的上限值做比较,比较的结果来控制上限报警灯的亮灭。
摁下“下限”功能键,开始设定下限温度值,3个数码管循环显示设定的温度值,直至摁下“确认”功能键,退出设定下限功能,3个数码管继续显示18b20检测的温度值,18b20检测的温度值与设定的下限值做比较,比较的结果来控制下限报警灯的亮灭。
二、主要功能本程序实现没有摁下功能键时正常显示温度值,实时检测按键是否摁下,摁下"上限"功能键后,三位数码管会显示000 ,然后再摁数字键来设定上限报警温度值,第一次摁下的数字键在小数位显示,第二次摁下的数字键在各个位显示,第三次摁下的数字键在十位显示。
设定完上限值后摁下"回车键",数码管又正常显示温度值,同时比较此时的温度值与设定的上限值的大小,若此时温度值大于设定的上限值,则报警(P2.0控制的灯亮),若此时温度低于设定的上限值则灯不亮;摁下"下限"功能键后,三位数码管会显示000 ,然后再摁数字键来设定下限报警温度值,第一次摁下的数字键在小数位显示,第二次摁下的数字键在各个位显示,第三次摁下的数字键在十位显示。
设定完下限值后摁下"回车键",数码管又正常显示温度值,同时比较此时的温度值与设定的下限值的大小,若此时温度值大于设定的下限值,则报警(P2.1控制的灯亮),若此时温度低于设定的下限值则灯不亮。
三、总原理图及元器件清单1.总原理图3.元件清单四、程序设计1.设计模块分解(1)比较、报警模块(2)检测功能键模块(3)设定上限功能模块(4)设定温度键盘模块(5)设定下限功能模块(6)数码管显示模块(3位)(7)数码管显示模块(1位)2.总程序设计nump DA TA 33h ;每个摁键对应的键值demp1 equ 34h ;功能键对应的值TEMPER_L EQU 29H ;用于保存读出温度的低8位TEMPER_H EQU 28H ;用于保存读出温度的高8位FLAG1 EQU 38H ;是否检测到DS18B20标志位a_bit equ 20h ;数码管个位数存放内存位置b_bit equ 21h ;数码管十位数存放内存位置c_bit equ 22h ;数码管小数位存放内存位置temp equ 23htemp1 equ 24htemp3 equ 25htemp2 equ 26htemp4 equ 60htemp5 equ 61hxiaoshu equ 44h ;温度值的小数值(十进制)gewei equ 45h ;温度值的个位值(十进制)shiwei equ 46h ;温度值的十位值(十进制)mout1 equ 47h ;164传输数据时,要传输数据的存放位置mout2 equ 48h ;164传输数据时,存放传输数据的次数org 0000h ;程序刚开始的指针指向的位置ajmp main ;跳转到主程序ORG 000bH ;定时器0中断程序的入口地址LJMP time0 ;跳转到定时器0中断程序的实现部分org 001bh ;跳转到定时器1中断程序的实现部分ljmp time1org 0040h ;程序存储的开始位置main:mov 51h,#0 ;51h为人为设定值的小数部分(上限)mov 52h,#0 ;52h为人为设定值的个位部分(上限)mov 53h,#3 ;53h为人为设定值的十位部分(上限)mov 54h,#0 ;54h为人为设定值的小数部分(下限)mov 55h,#0 ;55h为人为设定值的个位部分(下限)mov 56h,#2 ;56h为人为设定值的十位部分(下限)mov demp1,#0mov TMOD,#11h ;选择定时器0方式1 还有定时器1方式1 mov TH0,#3ch ;设定定时器0定时间隔(高8位)mov TL0,#0b0h ;设定定时器0定时间隔(低8位)mov TH1,#3ch ;设定定时器1定时间隔(高8位)mov TL1,#0b0h ;设定定时器1定时间隔(低8位)SETB EA ;开设全局中断SETB ET0 ;开设定时器0中断setb ET1 ;开设定时器1中断SETB TR0 ;打开定时器0next:LCALL GET_TEMPER ;调用读温度子程序LCALL display ;调用数码管显示子程序acall delayacall yanshi ;延时的时间就是数码管数据的静止时间mov a,demp1 ;检测是否摁下功能键,将功能键对应的值赋给寄存器acjne a,#1,xiaxian ;a中的数值为1时证明设定上限的功能键已摁下,执行设定上限温度的模块,否则就跳转检测下限功能键是否摁下setb P2.0 ;关闭上限报警指示灯PUSH ACC ; 将18b20中使用的a寄存器里面的数值保存PUSH 00h ;将18b20中使用的R0寄存器里面的数值保存PUSH 01h ;将18b20中使用的R1寄存器里面的数值保存mov R1,#51h ;R1指向50h存储单元mov 51h,#0 ;每次设定温度上限时都清零上一次设定的值(51h内放的是设定的小数部分)mov 52h,#0 ;(52h内放的是设定的个位部分)mov 53h,#0 ;(53h内放的是设定的十位部分)setb TR1 ;开通设定温度值的实时检测功能clr TR0 ;关闭实时检测功能键的功能next2:acall delayacall delaylcall xianshi1 ;刚刚设定的一位数值都会在数码管上显示acall delayacall delaymov a,demp1 ;检测确认键有没有摁下cjne a,#2,next2 ;摁下了的话就退出设定上限温度的模块,否则就循环检测设定的上限温度;ajmp nextPOP 01h ;弹出压栈的数据POP 00hPOP ACCclr TR1 ;关闭设定温度值的实时检测功能setb TR0 ;开通实时检测功能键的功能ajmp bijiao ;设定完温度值后就需要跟18b20检测出的温度值做比较xiaxian: ;下限的开始部分mov a,demp1 ;将功能键对应的键值传递给寄存器acjne a,#3,bijiao ;如果功能键的键值为3的话就执行设定下限的功能模块,;如果不等于3就不执行设定下限的模块,接着执行18b20检测的温度值和已经设定的温度值做比较setb P2.0setb P2.1 ;设定下限的时候就将下限报警灯关闭,它的亮灭由这一次新设定的温度值与18b20检测的温度值;做比较后来决定的PUSH ACC ;将18b20中使用的a寄存器里面的数值保存PUSH 00h ;将18b20中使用的R0寄存器里面的数值保存PUSH 01h ;将18b20中使用的R1寄存器里面的数值保存mov R1,#54h ;将54的地址传递给R1(摁下一个数字键,就会把对应的键值存在R1内的地址中,然后R1内的地址加1);来接收新的一次摁键的值;每进行一次下限值设定就要把54h,55h,56h内的数值清零(第一次摁下的数字键,设定的是小数部分;值放在54h中,第二次摁下的数字键,设定的是个位部分,值放在55h,第三次摁下的数字键,设定的是;十位部分,值放在56h)mov 54h,#0mov 55h,#0mov 56h,#0clr TR0 ;关闭实时检测功能键的功能setb TR1 ;开通设定温度值的实时检测功能bn:acall delayacall delaylcall xianshi2 ;显示54h,55h,56h地址内的数值acall delayacall delaymov a,demp1 ;将功能键的键值传给寄存器acjne a,#2,bn ;确认键摁下后就跳出设定下限温度值模块,确认键不摁下就一直循环执行设定下限温度模块pop 01h ;弹出压栈的数据pop 00hpop ACCsetb TR0 ;开通实时检测功能键的功能clr TR1 ;开通实时检测功能键的功能bijiao: ;设定好的下限温度值与18b20检测的温度值做比较的开始部分CLR c ;先将CY位清零mov a,shiwei ;先将18b20检测的十位部分传递给寄存器a(两个数做比较时先比较最高位)subb a,56h ;将寄存器a与56h(设定的十位)做差jc baojing ;若CY=1时则报警(a里面的数值没有设定的十位大,就会发生溢出,CY就等于1),程序会跳到;报警模块,以下的程序不需要再执行了mov a,shiwei ;(能执行这一条程序说明设定的下限十位值小于或等于18b20检测出的十位值)将18b20检测的十位部分传递给寄存器a cjne a,56h,bubaojing ;a的值不等于设定的十位值时,那就说明设定的下限十位值小于18b20检测出的十位值,跳转到不报警部分;以下的程序都不需要再执行clr c ;(能执行到这一条程序,说明设定的十位等于18b20检测出的十位值,那就需要比较个位)先将CY位清零mov a,gewei ;先将18b20检测的个位部分传递给寄存器a subb a,55h ;将寄存器a与55h(设定的个位)做差jc baojing ;若CY=1时则报警(a里面的数值没有设定的个位大,就会发生溢出,CY就等于1),程序会跳到;报警模块,以下的程序不需要再执行了。
mov a,gewei ;(能执行这一条程序说明设定的下限个位值小于或等于18b20检测出的个位值)将18b20检测的个位部分传递给寄存器a cjne a,55h,bubaojing ;a的值不等于设定的个位值时,那就说明设定的下限十位值小于18b20检测出的十位值,跳转到不报警部分;以下的程序都不需要再执行clr c ;先将CY位清零mov a,xiaoshu ;先将18b20检测的小数位部分传递给寄存器a subb a,54h ;将寄存器a与54h(设定的小数位)做差jc baojing ;若CY=1时则报警(a里面的数值没有设定的小数位大,就会发生溢出,CY就等于1),程序会跳到;报警模块,以下的程序不需要再执行了。