51单片机课程设计

合集下载

51单片机毕业课程设计功率因数计

51单片机毕业课程设计功率因数计

51单片机毕业课程设计功率因数计(完整版)51单片机毕业课程设计—功率因数计1. 概述本文档介绍了一种基于51单片机的毕业课程设计方案,即功率因数计。

本设计旨在实现对电网中功率因数的测量和监控,从而提高电能的利用效率。

2. 设计原理本设计主要基于功率因数的定义和计算公式来实现。

功率因数定义为有功功率与视在功率之比,通过测量电网中的电压和电流,并使用适当的算法进行计算,可以获得功率因数的数值。

3. 硬件设计3.1 电路元件本设计所需的电路元件包括:- 51单片机- 电流传感器- 电压传感器- 显示屏3.2 电路连接将电流传感器和电压传感器连接到51单片机的相应引脚上,以实时获取电流和电压值。

通过数字转模拟转换器(DAC)将获取的模拟数据转换为数字形式,然后使用适当的算法计算功率因数,并将结果显示在显示屏上。

4. 软件设计4.1 主程序流程主程序的流程如下:1. 初始化电路连接和显示屏。

2. 循环执行以下步骤:- 读取电流和电压值。

- 使用计算公式计算功率因数。

- 将计算结果显示在显示屏上。

3. 结束程序。

4.2 算法设计本设计中使用的算法主要是根据功率因数的计算公式进行计算。

具体步骤如下:1. 读取电流和电压值。

2. 使用下述公式计算功率因数:- 功率因数 = 有功功率 / 视在功率3. 将计算结果保存,并根据需要进行显示或记录。

5. 总结本文档介绍了一种基于51单片机的毕业课程设计方案,即功率因数计。

通过测量电流和电压,并使用适当的算法进行计算,可以实现对电网中功率因数的测量和监控。

该设计有助于提高电能的利用效率,具有一定的实用性和应用前景。

51单片机期末课程设计

51单片机期末课程设计

51单片机期末课程设计一、课程目标知识目标:1. 理解并掌握51单片机的基本原理和结构组成,包括内部资源、指令系统及编程方法。

2. 学会使用51单片机的开发工具和编程环境,如Keil C及ISP下载线。

3. 掌握51单片机在嵌入式系统中的应用,能够阅读并分析相关电路图。

技能目标:1. 能够独立设计并编写简单的51单片机程序,实现基础的外围设备控制,如LED灯、蜂鸣器等。

2. 能够运用所学的知识解决实际的51单片机编程问题,进行基本的程序调试和故障排查。

3. 通过课程设计项目,培养动手实践能力和团队协作能力。

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

2. 增强学生的工程意识,培养严谨、细致、负责的学习态度和职业素养。

3. 通过课程学习,使学生认识到技术对生活的影响,增强社会责任感和使命感。

本课程针对高年级学生,在已有电子技术和C语言编程基础的前提下,进一步深化对51单片机的理解与应用。

课程性质为理论与实践相结合,强调知识的应用性和实践性。

在教学过程中,注重培养学生的自主学习和问题解决能力,以项目驱动教学,确保学生能够达到预设的学习成果。

通过期末课程设计,巩固所学知识,提高综合运用能力。

二、教学内容本课程教学内容紧密围绕课程目标,结合教材以下章节展开:1. 51单片机原理概述:包括内部结构、工作原理、资源分布等,重点理解时钟电路、复位电路的作用。

- 教材章节:第1章 51单片机基础2. 51单片机指令系统与编程:学习汇编语言编程,掌握常用指令,理解程序执行流程。

- 教材章节:第2章 51单片机指令系统与编程3. 开发工具使用:介绍Keil C集成开发环境和ISP下载线的使用方法,学会创建、编译、下载程序。

- 教材章节:第3章 51单片机开发工具4. 外围设备控制:学习51单片机与LED灯、蜂鸣器、数码管等外围设备的接口与编程控制。

- 教材章节:第4章 51单片机外围设备编程5. 传感器应用:结合实际案例,学习传感器与51单片机的连接和数据处理。

51单片机课程设计题目

51单片机课程设计题目

51单片机课程设计题目一、课程目标知识目标:1. 理解51单片机的基本结构、工作原理及功能特点;2. 学会使用51单片机的开发环境,掌握相关编程语言;3. 掌握51单片机外围电路的设计方法,能进行基本的电路连接;4. 了解51单片机在实际应用中的典型场景和案例分析。

技能目标:1. 能够独立完成51单片机的程序编写、调试及优化;2. 能够运用51单片机进行简单的控制系统设计,具备实际操作能力;3. 能够通过查阅资料、团队协作等方式解决51单片机开发过程中遇到的问题;4. 能够对51单片机项目进行评估、总结,提高自身项目管理和执行能力。

情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发创新意识;2. 培养学生严谨、细致的学习态度,养成良好的编程习惯;3. 培养学生团队协作精神,提高沟通与表达能力;4. 培养学生具备一定的工程素养,关注51单片机在科技发展中的应用。

课程性质:本课程为实践性较强的课程,以项目驱动、任务导向的方式进行教学。

学生特点:学生具备一定的电子技术基础和编程能力,对单片机有一定了解,但实践经验不足。

教学要求:结合课程性质和学生特点,注重实践操作,引导学生主动探索、动手实践,培养解决实际问题的能力。

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

通过课程学习,使学生具备51单片机开发的基本技能,为后续深入学习打下坚实基础。

二、教学内容1. 51单片机基本原理及结构:包括内部资源、引脚功能、工作原理等;教材章节:第一章 51单片机概述2. 51单片机指令系统与编程:掌握汇编语言编程、C语言编程;教材章节:第二章 51单片机指令系统与编程3. 51单片机开发环境:学习Keil、Proteus等开发工具的使用;教材章节:第三章 51单片机开发环境及工具4. 51单片机I/O口编程与应用:掌握I/O口编程,实现基本输入输出控制;教材章节:第四章 51单片机I/O口编程与应用5. 51单片机中断系统:学习中断处理程序编写,了解中断优先级;教材章节:第五章 51单片机中断系统6. 51单片机定时器/计数器:学习定时器/计数器的编程及应用;教材章节:第六章 51单片机定时器/计数器7. 51单片机串行通信:了解串行通信原理,学会串行通信编程;教材章节:第七章 51单片机串行通信8. 51单片机外围电路设计:学习外围电路设计方法,进行实际操作;教材章节:第八章 51单片机外围电路设计9. 51单片机项目实践:结合实际案例,进行项目设计与实施;教材章节:第九章 51单片机项目实践教学内容安排与进度:共10个课时,每课时45分钟。

51单片机中断课程设计

51单片机中断课程设计

51单片机中断课程设计一、课程目标知识目标:1. 学生能理解51单片机中断的基本概念,掌握中断系统的工作原理和结构。

2. 学生能掌握51单片机中断的相关寄存器及其设置方法,了解中断优先级的概念。

3. 学生能运用C语言编写中断服务程序,实现中断功能。

技能目标:1. 学生能够运用51单片机中断技术,进行简单的嵌入式系统设计与开发。

2. 学生能够通过分析问题,设计并实现中断控制程序,提高程序执行效率。

3. 学生能够掌握中断调试方法,解决中断使用过程中的问题。

情感态度价值观目标:1. 学生在学习过程中,能够培养对单片机编程的兴趣和热情,提高自主学习能力。

2. 学生能够培养团队合作意识,主动与他人交流、分享经验,提高沟通能力。

3. 学生能够认识到中断技术在嵌入式系统中的应用价值,增强对技术应用的信心。

本课程针对高年级学生,在学生具备一定的单片机基础知识的基础上,通过本课程的学习,使学生在实践中掌握中断技术的应用,提高编程能力。

课程注重理论与实践相结合,强调学生的动手实践和问题解决能力的培养。

通过课程目标的分解,使学生在完成具体学习成果的过程中,达到课程目标的要求。

二、教学内容1. 中断概念与分类:介绍中断的基本概念,包括硬件中断和软件中断,阐述中断的作用和分类。

教材章节:第3章 单片机的中断系统2. 51单片机中断系统结构:讲解中断系统的工作原理、中断源、中断请求标志及中断向量表。

教材章节:第3章 单片机的中断系统3. 中断相关寄存器:详细讲解中断控制寄存器(IE、IP)、中断请求标志寄存器(TCON、SCON)等。

教材章节:第3章 单片机的中断系统4. 中断优先级:介绍中断优先级概念,讲解中断优先级的设置方法。

教材章节:第3章 单片机的中断系统5. 中断服务程序编写:通过实例,教授如何使用C语言编写中断服务程序,实现中断功能。

教材章节:第4章 单片机中断程序设计6. 中断应用实例:分析并实践中断技术在51单片机中的应用,如定时器中断、外部中断等。

51单片机课程设计报告

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单片机计课程设计

51单片机计课程设计一、课程目标知识目标:1. 理解51单片机的基本组成、工作原理及其在嵌入式系统中的应用。

2. 掌握51单片机的编程语言(C语言),能够阅读和编写简单的程序。

3. 学习51单片机的I/O口编程、定时器/计数器、中断系统等基础应用。

4. 了解51单片机与其他外围设备的通信接口,如串行通信。

技能目标:1. 能够使用51单片机的开发环境,如Keil uVision和Proteus进行程序设计和仿真。

2. 培养学生的动手实践能力,通过实验箱或面包板搭建简单的51单片机应用电路。

3. 培养学生的问题分析和解决能力,通过编程解决实际问题。

4. 学会查阅技术文档和参考资料,提升自主学习能力。

情感态度价值观目标:1. 培养学生对电子制作和编程的兴趣,激发创新意识和探索精神。

2. 强调团队合作和交流分享的重要性,培养学生的团队协作能力。

3. 增强学生的工程意识,认识到科技对于社会发展的重要性。

4. 引导学生形成严谨的科学态度,注重实践操作的准确性和程序的逻辑性。

本课程针对高年级学生,考虑其已有一定电子和编程基础,课程设计注重理论与实践相结合,通过项目驱动的教学方法,使学生在实践中掌握知识,提升技能,同时培养积极的情感态度价值观。

通过本课程的学习,学生将能够独立完成简单的51单片机项目设计,为后续深入学习嵌入式系统打下坚实基础。

二、教学内容1. 51单片机基础知识- 51单片机结构及工作原理- 51单片机引脚功能及内部资源- 编程环境Keil uVision与Proteus使用方法2. 51单片机C语言编程- 数据类型、运算符与表达式- 控制语句(循环、分支)- 函数的定义与调用- 中断处理程序编写3. 51单片机I/O口编程- I/O口输入输出控制- 延时函数编写- 按键与LED控制4. 定时器/计数器- 定时器/计数器工作原理- 定时器/计数器编程方法- 定时器应用案例5. 中断系统- 中断系统原理与分类- 中断系统编程- 中断应用案例6. 串行通信- 串行通信原理- 51单片机串口编程- 串口通信应用案例7. 综合项目设计与实践- 项目需求分析- 硬件电路设计与搭建- 软件程序设计与调试- 项目展示与评价教学内容依据课程目标和学科特点进行安排,注重知识体系的科学性和系统性。

51单片机课程设计任务书(A4)

51单片机课程设计任务书(A4)

《单片机原理与应用》课程设计指导书班级: 09机电1指导教师:高金玉2011.5.17单片机课程设计指导书一、课程设计目的单片机课程设计作为独立的教学环节,学习完《单片机原理及应用》课程后,并在进行相关课程设计基础上进行的一次综合练习。

其目的在于加深对MCS-51单片机的理解,掌握单片机应用系统的设计方法;掌握常用接口芯片的正确使用方法;强化单片机应用电路的设计与分析能力;提高学生在单片机应用方面的实践技能和科学作风;培育学生综合运用理论知识解决问题的能力,力求实现理论结合实际,学以致用的原则。

学生通过查阅资料、接口设计、程序设计、安装调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能;熟悉单片机系统及程序的编制过程,为今后从事生产技术工作打下必要的基础;学会灵活运用已经学过的知识,并能不断接受新的知识,大胆发明创造的设计理念。

二、课程设计要求课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。

根据课程设计具体课题安排时间,确定课题的设计、编程和调试内容,分小组进行。

根据合理的进度安排,一步一步、踏踏实实地开展课程设计活动,按时完成每部分工作。

课程设计集中在教室、机房进行,每天由班长、学习委员负责考勤,指导教师抽查。

在课程设计过程中,坚持独立完成,实现课题规定的各项指标,并写出设计报告。

三、课程设计时间及进度安排课程设计集中在1周进行。

为保证达到预计的教学任务及目的,以小组为单位分别进行资料的收集、方案论证、电路设计、编程、调试、实验及改进。

具体进度及要求安排如下:四、课程设计课题及内容具体设计课题可根据实际情况选择,或在下列给出的题目任选一题。

题目一校园作息时间控制系统设计要求:(1)作息时间能控制电铃,可以按键设置时间,包括设置当前时间,显示闹铃设置时间,设定闹铃时间,闹铃的ON/OFF设置等。

(2)利用单片机实现,方法自选。

51单片机相关课程设计

51单片机相关课程设计

51单片机相关课程设计一、课程目标知识目标:1. 理解51单片机的硬件结构,掌握其工作原理;2. 学习并掌握51单片机的指令系统,能进行基本的编程操作;3. 了解并掌握51单片机在嵌入式系统中的应用。

技能目标:1. 能够运用C语言编写简单的51单片机程序,实现基础功能;2. 学会使用仿真软件对51单片机程序进行调试,解决常见问题;3. 能结合实际需求,设计并实现简单的51单片机控制系统。

情感态度价值观目标:1. 培养学生对电子技术及编程的兴趣,激发其创新意识;2. 培养学生团队协作精神,使其在项目实践中学会沟通与分享;3. 强化学生的工程意识,使其认识到技术对社会发展的作用。

课程性质:本课程为实践性较强的课程,旨在帮助学生将理论知识与实际应用相结合,培养其动手能力和创新能力。

学生特点:学生处于高年级阶段,已具备一定的电子技术和编程基础,对单片机有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,通过项目驱动教学,使学生在实践中掌握知识,提高技能。

同时,关注学生的情感态度价值观培养,引导其形成积极的学习态度和正确的价值观。

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

二、教学内容1. 51单片机硬件结构及原理:介绍51单片机的内部结构,包括CPU、存储器、I/O口、定时器等模块,分析其工作原理及相互关系。

相关教材章节:第一章 51单片机概述与硬件结构2. 51单片机指令系统及编程:讲解51单片机的指令集,学习C语言编程基础,编写简单的程序实现基础功能。

相关教材章节:第二章 51单片机指令系统与编程3. 仿真软件使用与程序调试:学习使用Keil、Proteus等仿真软件,进行51单片机程序的编写、编译、调试及下载。

相关教材章节:第三章 51单片机程序开发与调试4. 51单片机应用实例:分析并实践51单片机在嵌入式系统中的应用,如温度控制、灯光调节等。

相关教材章节:第四章 51单片机应用实例5. 课程项目实践:分组进行项目实践,设计并实现一个简单的51单片机控制系统,如智能小车、智能家居等。

51单片机课程设计

51单片机课程设计
16.问题解决与故障排查:教授学生在遇到编程和电路设计问题时,如何分析问题、查找资料以及解决故障的方法。
17.课后实践与持续学习:鼓励学生在课后继续进行单片机实践,培养自主学习能力,推荐相关学习资源,引导学生持续深入学习。
18.课程总结与反馈:在课程结束时,组织学生进行课程总结,反馈学习体验和收获,为后续课程的教学提供改进方向。
13.安全教育与操作规范:在教学过程中,穿插安全教育,让学生了解单片机实验操作中的安全注意事项,遵守实验室操作规范。
14.成果展示与评价:组织学生进行课程设计成果的展示,通过自评、互评和教师评价相结合的方式,对学生的设计作品进行评价,促进学生能力的全面提升。
4、教学内容
15.知识拓展与前沿技术:介绍51单片机在现实生活中的应用以及相关前沿技术,如物联网、智能家居等领域的应用,拓宽学生知识面。
51单片机课程设计
一、教学内容
本节“51单片机课程设计”依据八年级下册《信Байду номын сангаас技术》教材第四章“单片机控制”内容展开,主要包括以下知识点:
1. 51单片机的结构和原理:介绍51单片机的内部结构、工作原理及其各个组成部分的功能。
2. 51单片机的指令系统:列举常用的51单片机指令,如数据传送、逻辑运算、算术运算等。
3. 51单片机的I/O口编程:讲解如何通过编程控制51单片机的输入输出口,实现LED灯、蜂鸣器等器件的控制。
4. 51单片机的定时器/计数器:介绍定时器/计数器的工作原理和编程方法,实现精确的时间控制。
5. 51单片机的中断系统:讲述中断的概念、中断源以及中断编程方法,提高程序的响应速度。
6. 51单片机的外部扩展:探讨如何通过外部扩展,实现更多的功能,如扩展RAM、ROM、键盘、显示器等。

MCS-51单片机应用实验教程课程设计

MCS-51单片机应用实验教程课程设计

MCS-51单片机应用实验教程课程设计1. 简介MCS-51单片机是一种高性能、低功耗单片机,广泛应用于各个领域。

本文主要介绍MCS-51单片机应用实验教程课程设计内容,以帮助初学者了解MCS-51单片机的应用。

2. 实验环境•Keil C51编译器•STC89C52RC单片机•电路板和外围器件•PC3. 实验内容3.1 实验1:LED流水灯LED流水灯是MCS-51单片机入门实验,可以让学生熟悉MCS-51单片机基本指令和寄存器的使用,以及加深对位运算的理解。

实现方法:通过MCS-51单片机的IO口和位运算实现8个LED灯的流水效果。

3.2 实验2:数码管显示数码管是一种常见的数字显示器件,通过数码管的显示,可以实现对数字的显示和闪烁等效果。

该实验可以让学生了解MCS-51单片机的定时器和中断服务程序的使用,以及对数码管的控制。

实现方法:通过MCS-51单片机的定时器,按照一定的时间间隔对数码管进行显示和闪烁。

3.3 实验3:按键控制LED灯按键开关是电子产品常用的一种输入方式,通过按键的不同状态可以控制LED等输出设备的开关。

该实验可以让学生了解MCS-51单片机的IO口的输入状态读取和控制。

实现方法:通过MCS-51单片机的IO口读取按键输入状态,通过位运算控制LED灯的开关。

3.4 实验4:外部中断实现按钮控制LED灯外部中断是MCS-51单片机的一种重要功能,通过外部中断可以实现对按钮的响应,进而实现对LED等设备的控制。

该实验可以让学生进一步了解MCS-51单片机的外部中断服务程序的使用和IO口管理。

实现方法:通过MCS-51单片机的外部中断输入,响应按键状态,并通过位运算控制LED灯的开关。

3.5 实验5:定时器PWM控制LED灯亮度通过调节LED灯的亮度,可以达到调节电子产品亮度的效果。

该实验可以让学生了解MCS-51单片机的定时器的PWM输出功能,以及通过PWM实现对LED等设备的亮度调节。

51单片机小车课程设计

51单片机小车课程设计

51单片机小车课程设计一、课程目标知识目标:1. 掌握51单片机的硬件结构、工作原理及编程方法;2. 了解小车的基本构造,理解电机驱动、传感器等模块的功能及相互关系;3. 学习如何将51单片机应用于小车控制,实现小车的基本运动控制功能。

技能目标:1. 能够运用C语言编写51单片机的程序,实现对小车的控制;2. 学会使用电机驱动、传感器等模块,进行小车电路的搭建和调试;3. 培养动手实践能力,通过课程设计,独立完成一个具有基本功能的小车控制系统。

情感态度价值观目标:1. 培养学生对电子科技的兴趣,激发创新意识;2. 培养学生团队协作精神,学会共同分析问题、解决问题;3. 培养学生严谨的科学态度,提高自我评价和反思能力。

分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 掌握51单片机的基本知识,能够独立编写程序;2. 完成小车电路搭建,实现小车的基本运动控制;3. 撰写课程设计报告,总结设计过程和经验教训;4. 参与团队讨论,积极提出问题,共同解决问题;5. 通过课程学习,提升对电子科技的兴趣和热情,培养创新精神和动手能力。

二、教学内容1. 51单片机基础知识:介绍51单片机的硬件结构、工作原理、寄存器及I/O 口编程;2. C语言编程:回顾C语言基础,重点讲解51单片机编程中的常用语法和技巧;3. 小车电路设计:讲解电机驱动原理,介绍常用传感器(如红外、超声波等)的工作原理及接线方法;4. 小车控制算法:学习如何编写程序实现小车的前进、后退、转向等基本运动控制;5. 课程设计实践:指导学生进行小车电路搭建、程序编写及调试,实现小车的基本功能;6. 课程总结:撰写课程设计报告,总结设计过程中的经验教训。

教学内容安排与进度:第一周:51单片机基础知识学习;第二周:C语言编程训练;第三周:小车电路设计与分析;第四周:小车控制算法学习;第五周:课程设计实践;第六周:课程总结及评价。

51单片机电子时钟课程设计报告

51单片机电子时钟课程设计报告

第一部分设计任务和要求1.1单片机课程设计内容 (2)1.2单片机课程设计要求 (2)1.3系统运行流程 (2)第二部分设计方案2.1总体设计方案说明 (2)2.2系统方框图 (3)2.3系统流程图 (3)第三部分主要器材及基本简介3.1主要器材 (4)3.2主要器材简介 (4)第四部分系统硬件设计4.1最小系统 (6)4.2LCD显示电路 (6)4.3键盘输入电路 (7)4.4蜂鸣器和LED灯电路 (7)第五部分仿真电路图与仿真结果 (8)第六部分课程设计总结 (8)第七部分参考文献 (9)附录A 实物图附录B 系统源程序第一部分设计任务和要求1.1单片机课程设计内容利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。

1.2单片机课程设计要求1.能实现年、月、日、星期、时、分、秒的显示;2.能实现调时功能;3.能实现12/24小时制切换;4.能实现8 : 00—22 : 00整点报时功能。

1.3系统运行流程程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。

若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。

若没到则循环执行。

计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。

调时闪烁中断服务程序用于被调单元的闪烁显示。

调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。

实现了对时间的设置和修改、LCD显示数值等主要功能。

相关的调整是靠对功能键的判断来实现的。

第二部分设计方案2.1总体设计方案说明1.程序设计及调试根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。

2.硬件焊接及调试根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。

3.后期处理对设计过程进行总结,完成设计报告。

51单片机交通灯课程设计

51单片机交通灯课程设计

51单片机交通灯课程设计一、课程目标知识目标:1. 理解51单片机的基本原理和结构,掌握其在交通灯控制系统中的应用。

2. 学习并掌握C语言编程基础,能运用C语言编写51单片机的程序代码。

3. 了解交通灯的工作原理,掌握交通灯时序控制方法。

技能目标:1. 能运用51单片机设计并实现一个简单的交通灯控制系统。

2. 掌握使用Keil软件进行51单片机程序编写、编译和调试。

3. 学会分析并解决实际交通灯控制中可能出现的问题。

情感态度价值观目标:1. 培养学生对电子技术及嵌入式系统开发的兴趣,激发创新意识。

2. 增强学生的团队合作精神,培养在项目实践中主动沟通、协作解决问题的能力。

3. 提高学生的实践操作能力,使其认识到理论知识在实际应用中的价值。

分析课程性质、学生特点和教学要求:本课程为电子信息类专业的实践课程,旨在帮助学生将所学的51单片机理论知识运用到实际项目中。

学生已具备一定的电子技术和C语言基础,但实际操作能力和项目经验不足。

针对此情况,课程目标设定以实用性为主,注重培养学生的动手能力和团队协作能力。

二、教学内容1. 51单片机原理及结构复习:回顾51单片机的内部结构、工作原理,重点掌握其I/O口特性及编程方法。

相关教材章节:第三章《51单片机结构及工作原理》。

2. C语言编程基础:巩固C语言基础,学习51单片机程序设计中的常用语法和编程技巧。

相关教材章节:第五章《51单片机的C语言编程》。

3. 交通灯工作原理:介绍交通灯的基本工作原理及时序控制方法,分析实际应用中的交通灯控制系统。

相关教材章节:第七章《嵌入式系统应用实例》。

4. 51单片机交通灯控制系统设计:结合实际项目,学习51单片机在交通灯控制中的应用。

教学内容安排:a. 交通灯控制系统需求分析b. 硬件电路设计与搭建c. 软件程序编写与调试d. 系统测试与优化5. 教学进度安排:第1周:复习51单片机原理及结构,介绍C语言编程基础。

第2周:讲解交通灯工作原理,分析交通灯控制系统实例。

51单片机课程设计实例

51单片机课程设计实例

51单片机课程设计实例一、引言51单片机是一种广泛应用于嵌入式系统的微控制器。

它具有低功耗、高性能、易编程等特点,因此在电子设计领域得到了广泛的应用。

本文将介绍一个基于51单片机的课程设计实例,通过该实例可以帮助读者更好地理解51单片机的应用。

二、实例背景假设我们要设计一个温度检测系统,能够实时监测环境的温度,并根据一定的温度范围进行报警。

这样的系统在很多场景下都有实际应用价值,比如温室大棚的温度控制、电子设备的温度监测等。

三、硬件设计1. 硬件电路我们可以通过使用温度传感器将环境的温度转化为电压信号,然后将该信号输入到51单片机的模拟输入引脚。

同时,我们需要连接一个蜂鸣器来进行报警。

2. 电路图以下是该系统的简化电路图:(不要输出图片链接)四、软件设计1. 程序框架我们可以通过编写嵌入式C语言程序来实现该系统的功能。

以下是程序的基本框架:```#include <reg51.h>sbit buzzer = P1^0; //定义蜂鸣器控制引脚void delay(unsigned int time){unsigned int i, j;for(i = time; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){//读取温度传感器的模拟输入值unsigned int temperature = ADC_Read(0);if(temperature > 30) //如果温度超过30摄氏度{buzzer = 1; //蜂鸣器报警delay(1000); //延时1秒buzzer = 0; //关闭蜂鸣器delay(1000); //延时1秒}}}```2. 程序说明程序首先定义了一个蜂鸣器控制引脚,并编写了一个延时函数。

在主函数中,通过循环不断读取温度传感器的模拟输入值,并进行比较。

如果温度超过30摄氏度,则蜂鸣器报警,持续1秒钟,然后关闭蜂鸣器并延时1秒钟。

51单片机的课程设计

51单片机的课程设计

51单片机的课程设计一、课程目标知识目标:1. 理解51单片机的硬件结构,掌握其工作原理;2. 学会使用51单片机的开发环境,掌握基本的编程语法和技巧;3. 掌握51单片机中断、定时器、串行通信等模块的应用;4. 了解51单片机在嵌入式系统中的应用,培养对单片机应用场景的认识。

技能目标:1. 能够独立设计简单的51单片机程序,完成基础的控制任务;2. 能够运用51单片机解决实际问题,具备一定的编程调试能力;3. 能够阅读和分析51单片机的相关资料,提高自学能力和技术文献阅读能力。

情感态度价值观目标:1. 培养学生对单片机技术的兴趣,激发学生探索嵌入式领域的热情;2. 培养学生的团队合作意识,提高沟通与协作能力;3. 引导学生关注我国单片机技术的发展,增强学生的民族自豪感;4. 培养学生严谨、细致、负责的学习态度,养成良好的编程习惯。

课程性质:本课程为实践性较强的学科,旨在通过51单片机的学习,让学生掌握基本的单片机原理和编程技能,培养实际操作和解决问题的能力。

学生特点:学生具备一定的电子基础和编程基础,对单片机有一定了解,但实践经验不足。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,以实例教学为主,培养学生动手实践能力。

同时,关注学生的情感态度价值观培养,激发学生的学习兴趣和探究欲望。

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

二、教学内容1. 51单片机硬件结构:介绍51单片机的内部结构、引脚功能、工作原理等,结合教材第二章内容进行讲解。

- 微控制器原理- 51单片机引脚功能- 时钟与复位电路2. 开发环境与编程工具:学习51单片机的开发环境搭建,掌握编程工具的使用。

- Keil C51集成开发环境安装与配置- 51单片机程序编写、编译与下载3. 51单片机编程语言:学习单片机C语言编程基础,掌握基本语法和编程技巧。

- C语言基础语法- 特定寄存器的操作与编程4. 中断与定时器:学习中断系统、定时器的工作原理和应用实例。

51单片机秒表课程设计

51单片机秒表课程设计

51单片机秒表课程设计一、课程目标知识目标:1. 学生能理解51单片机的基本原理,掌握其编程方法。

2. 学生能掌握秒表功能的基本组成部分,如计时、暂停、复位等。

3. 学生能理解并应用中断、定时器等51单片机的相关知识。

技能目标:1. 学生能运用C语言编写51单片机程序,实现秒表功能。

2. 学生能通过实验操作,调试并优化程序,解决实际问题。

3. 学生能熟练使用相关开发工具和调试设备,如编译器、仿真器等。

情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发创新意识和实践欲望。

2. 学生培养良好的团队合作意识,学会互相交流、协作解决问题。

3. 学生培养严谨的科学态度,注重实验数据的真实性,勇于面对和克服困难。

课程性质:本课程为实践性课程,以项目为导向,结合理论知识与实际操作,培养学生的动手能力和编程思维。

学生特点:学生具备一定的电子基础和编程基础,对51单片机有一定了解,但对中断、定时器等高级功能尚不熟悉。

教学要求:教师需引导学生运用已学知识,通过实际操作,逐步掌握51单片机的编程和应用。

在教学过程中,注重培养学生的实际操作能力、问题解决能力和团队协作能力。

课程目标的设定旨在使学生在完成本项目后,能够独立设计并实现简单的单片机应用系统。

二、教学内容1. 理论知识:- 51单片机结构及工作原理- C语言编程基础:数据类型、运算符、控制语句等- 中断和定时器的原理与应用- 键盘输入与数码管显示原理2. 实践操作:- 使用Keil软件编写和编译程序- 使用STC89C52RC单片机进行程序下载和调试- 设计并实现秒表功能,包括计时、暂停、复位等3. 教学大纲:- 第一周:回顾51单片机基本原理,学习C语言编程基础- 第二周:学习中断和定时器知识,分析秒表功能需求- 第三周:设计程序框架,编写中断处理程序和定时器程序- 第四周:编写键盘输入和数码管显示程序,实现秒表功能- 第五周:项目调试、优化和展示4. 教材章节及内容:- 第一章:51单片机概述,了解单片机的发展及其应用- 第二章:C语言编程基础,掌握基本语法和数据类型- 第三章:中断和定时器,学习中断处理和定时器编程方法- 第四章:输入输出接口,学习键盘输入和数码管显示技术教学内容的选择和组织旨在保证学生能够系统地掌握51单片机编程及应用,注重理论与实践相结合,培养学生的实际操作能力。

基于51单片机波形发生器课程设计

基于51单片机波形发生器课程设计

基于51单片机波形发生器课程设计1. 引言波形发生器是电子技术领域中常用的仪器设备,用于产生各种不同形状的电信号波形。

在电子电路实验和测试中,波形发生器能够提供不同频率、幅度和相位的信号,用于测试和验证电路的性能。

本篇文章将介绍一个基于51单片机的波形发生器设计。

通过使用51单片机,我们可以实现一个简单但功能强大的波形发生器,并通过编程控制实现不同类型的波形输出。

2. 硬件设计2.1 51单片机51单片机是一种常见的8位微控制器,具有低功耗、高性能和广泛应用等特点。

在本设计中,我们选择使用51单片机作为主控芯片。

2.2 数模转换芯片为了将数字信号转换为模拟信号输出,我们需要使用一个数模转换芯片。

在本设计中,我们选择使用DAC0800芯片作为数模转换器。

2.3 操作面板为了方便用户操作和设置参数,我们设计了一个操作面板。

该面板包括按键、旋钮和显示屏等组件,用户可以通过操作面板来控制波形发生器的参数和功能。

2.4 输出接口为了将模拟信号输出到外部设备,我们设计了一个输出接口。

该接口可以连接到示波器或其他测试仪器,以便观察和测量输出信号。

3. 软件设计3.1 程序框架波形发生器的软件设计主要包括初始化设置、参数调整和波形生成等功能。

我们可以使用C语言编程,在51单片机上实现这些功能。

以下是程序框架的伪代码:void main(){初始化设置();while(1){获取用户输入();参数调整();波形生成();}}3.2 初始化设置在初始化设置阶段,我们需要对51单片机和数模转换芯片进行初始化配置。

这包括设置时钟频率、IO口方向、数模转换精度等。

以下是初始化设置的伪代码:void 初始化设置(){设置时钟频率();配置IO口方向();配置数模转换精度();}3.3 参数调整在参数调整阶段,用户可以通过操作面板来调整波形发生器的参数。

这包括选择波形类型、设定频率和幅度等。

以下是参数调整的伪代码:void 参数调整(){获取用户输入();if(用户选择了波形类型){设置波形类型();}if(用户设定了频率){设置频率();}if(用户设定了幅度){设置幅度();}3.4 波形生成在波形生成阶段,根据用户设定的参数,我们可以通过数模转换芯片来生成相应的波形信号。

c51单片机课程设计

c51单片机课程设计

c51单片机课程设计一、课程目标知识目标:1. 理解C51单片机的基本原理与结构,掌握其指令系统及编程方法。

2. 学会使用C51单片机进行简单的电路设计与控制系统实现。

3. 了解C51单片机在嵌入式系统中的应用,掌握相关外围电路的设计与调试。

技能目标:1. 能够运用C语言编写简单的C51单片机程序,完成基础控制功能。

2. 熟练使用Keil、Proteus等软件进行C51单片机程序的编译、仿真与调试。

3. 能够分析并解决C51单片机在实际应用中遇到的问题,具备一定的故障排查能力。

情感态度价值观目标:1. 培养学生对电子技术及嵌入式系统的兴趣,激发其创新意识与探索精神。

2. 强化学生的团队合作意识,培养其在项目实践中的沟通与协作能力。

3. 培养学生严谨、务实的科学态度,使其认识到技术对社会发展的积极作用。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为电子技术领域的一门实践性课程,旨在培养学生的编程能力、电路设计能力及实际操作能力。

2. 学生特点:学生已具备一定的电子技术基础,具有较强的学习兴趣和动手能力,但对复杂编程及实际应用尚存一定难度。

3. 教学要求:注重理论与实践相结合,充分调动学生的积极性与主动性,提高其在实际项目中的应用能力。

二、教学内容1. C51单片机原理与结构:介绍C51单片机的硬件结构、工作原理及性能特点,对应教材第一章内容。

- 单片机内部结构- 指令系统与执行过程- 性能参数与选型2. C51单片机编程基础:学习C语言编程,掌握C51单片机程序设计方法,对应教材第二章内容。

- 数据类型、运算符与表达式- 控制语句与函数- 汇编与C语言混合编程3. C51单片机外围电路设计:学习常用外围电路的设计方法,如键盘、显示、传感器等,对应教材第三章内容。

- 键盘电路设计- 显示器接口设计- 传感器信号处理4. C51单片机应用实例:通过实际案例,学习C51单片机在嵌入式系统中的应用,对应教材第四章内容。

基于51单片机的课程设计

基于51单片机的课程设计

摘要 (2)第1章概述 (3)1.1ADC0832调节频率输入实现的意义 (3)第2章频率计实现的理论分析 (3)2.1ADC0832调节频率输出的基本结构和原理 (3)第3章单片机基础与芯片使用 (4)3.1单片机介绍 (4)3.2ADC0832介绍和时序使用 (7)第4章系统方案设计及实现 (11)4.1单片机选取 (11)4.2系统硬件结构图 (13)4.3各模块的实现 (13)4.4软件的实现 (15)4.5功能调试 (24)结束语 (26)参考文献 (27)致谢 (28)“ADC0832控制频率输出”实质上是运用可调电阻反馈电压模拟量输入到ADC0832中输出数字量。

应用数字量填充单片机定时器初值,可产生中断从而实现电平转换,接到示波器上可观察方波的输出,由数码管直观的看出电平变化频率。

设计的关键在于数模转换,这个由ADC0832来实现,所以可以比较容易得到一个可控制的频率计。

本文以单片机的实际应用为背景,介绍了以单片机为核心ADC0832控制频率输出设计的基本结构和基本原理。

关键词:单片机;ADC0832;数模转换Abstract"ADC0832 control frequency output" is actually using the adjustable resistorfeedback analog voltage input to the ADC0832 digital output. Application ofdigital single-chip timer initial filling, can generate an interrupt to realize the conversion level, received the oscilloscope can observe Fang Bo's output, by the digital tube directly see level change frequency. The key lies in the design of digital to analog conversion, this is implemented by ADC0832, so it can be easily obtained a controlled frequency meter.Based on the background of the practical application of SCM, SCM introduced to the basic structure of frequency output control design of the core and basic principle of ADC0832.Keyword: MCU; ADC0832; digital to analog conversion第1章概述1.1 ADC0832调节频率输入实现的意义应用ADC0832和可调电阻,由可调电阻反馈电压模拟量输入到中输出数字量。

51单片机课程设计

51单片机课程设计

51单片机课程设计51单片机课程设计一、课程背景1、基于实际工程应用,单片机可广泛应用于家电、计算机、通信、汽车及其它自动化控制领域,日益需要在选材、分析和处理能力等方面作准确分析,提高物联网相关技术人才培养质量。

2、51单片机是一种具有优秀性能和多功能的可编程控制器,其功能包括存储器、输入输出功能、定时功能。

3、掌握51单片机的开发环境,可以实现在51单片机上编写程序,实现各种功能开发,可以简化完成物联网数据采集、控制、传输等工作。

二、课程宗旨1、使学习者具备编写程序和调试51单片机的能力,调动学生对51单片机的兴趣。

2、让学生利用51单片机作出各种技术实现,解决日常生活中的实际问题。

3、培养学生灵活运用51单片机进行技术开发的能力。

4、能够指出注意事项和错误,带领学生解决其它问题,做出正确有用的决定能力。

三、课程结构1、基础篇(1)51单片机原理介绍,介绍其CPU、I/O 端口、定时器/计数器等功能,及基本的组成结构。

(2)51单片机的程序设计实验,如单片机的程序结构及汇编程序编写、语句编写等技术。

2、应用篇(1)实验程序的编写与调试,实验的实践操作,将重点放在实践操作上。

(2)实验内容实现51单片机常用的电子系统控制及现场总线控制技术。

3、开发篇(1)解决实际工程中应用问题,编写仪器控制系统程序。

(2)学习使用Keil开发环境,习得控制程序的编写、调试、软件的配置知识。

(3)完成常用的智能硬件设计,提供专业实现方案。

四、课程考核考核手段主要采用实验报告、加分考核、平时表现评比等方式,通过考查学生实验技能和应用能力来鉴定学生能力掌握水平。

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

江汉大学物理与信息工程学院课程设计报告课题名称:键控跑马灯、蜂鸣器按键值检测、键控数码管温度传感器、数码管专业:09 测控班级:B0907202121学号:2009072021XX学生姓名:xx同组人员:XX XX XX XX指导老师:XXX2010年12月12日一、摘要 (3)二、设计要求 (3)三、系统硬件设计 (3)四、实验源程序 (4)五、系统硬件电路设计 (15)六、实验总结 (16)七、参考文献 (16)一、摘要:单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。

单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统用。

本设计应用单片机强大的控制功能实现流水灯的控制、数码管显示数字、多点测温等,采用NT-51-A单片机,该单片机采用的是MCU51内核,具有很好的兼容性。

二、设计要求:1、上电时,LED等全熄灭,S1键闭合时,LED1~LED8被依次点亮后全熄灭,然后等待S1再次闭合,重复上述过程;若中间S2键闭合时,LED立即全部熄灭,回到起始状态。

2、S1键按下时,启动跑马灯;S2键按下时,停止;S3键按下时,从左到右循环流动;S4键按下时,从右到左循环流动。

3、S1键按下时,数码管显示值1,蜂鸣器响1声;S2键按下时,数码管显示值2,蜂鸣器响2声;S3键按下时,数码管显示值3,蜂鸣器响3声;S4键按下时,数码管显示值4,蜂鸣器响4声。

三、系统硬件设计:1、器件选型:USB供电、MAX232串口通信、DS18B20温度传感器、红外遥控接收模块、1602字符液晶模块、12864带字库液晶模块、跑马灯、四位一体数码管、独立按键、蜂鸣器实物图2、STC单片机MAX232与PC机通信/编程电路图四、实验源程序:1、键控跑马灯:/*******************************************功能描述:S17键按下时,启动跑马灯;S18键按下时,停止;S19键按下时,从左向右循环流动;S20键按下时,从右向左循环流动;连线方式:D0~D7接P0口,K17=P2^0,K18=P2^1;短接JP2,键盘模块接地;*******************************************/#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit Key1=P2^0; //S1键sbit Key2=P2^1; //S2键sbit Key3=P2^2; //S3键sbit Key4=P2^3; //S4键uchar Data=0xfe; //流水灯初值uchar Start,UpDown;/*******************************************延时程序*******************************************/void delay(uchar x){uchar y;for(;x>0;x--)for(y=114;y>0;y--);}/*******************************************独立键盘扫描程序*******************************************/uchar Key(){if(Key1==0){delay(10);if(Key1==1)return(0);elseData=0xfe; //每次启动跑马灯后从固定位置开始流动UpDown=0; //清除左右移动标志,消除按下S2再按S1return(1); //后立即开始流动,和按下S3、S4后再启} //动时立即开始循环的现象if(Key2==0){delay(10);if(Key2==1)return(0);elsereturn(2);}if(Key3==0){delay(10);if(Key3==1)return(0);elsereturn(3);}if(Key4==0){delay(10);if(Key4==1)return(0);elsereturn(4);}}/*******************************************主函数*******************************************/ void main(){uchar Keytemp;while(1){Keytemp=Key();switch(Keytemp){case 1:{Start=1; //启动break;}case 2:{Start=0; //停止break;}case 3:{UpDown=1; //左移break;}case 4:{UpDown=2; //右移break;}}if(Start==1){if(UpDown==1)Data=_crol_(Data,1);if(UpDown==2)Data=_cror_(Data,1);P0=Data;delay(250);}elseP0=0xff; //没有启动时熄灭跑马灯delay(250);}}2、蜂鸣器、按键值检测、键控数码管/*******************************************功能描述:按键S1,数码管显示1,蜂鸣器响1声按键S2,数码管显示2,蜂鸣器响2声按键S3,数码管显示3,蜂鸣器响3声按键S4,数码管显示4,蜂鸣器响4声*******************************************/#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code display[10]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; sbit key1=P2^0;sbit key2=P2^1;sbit key3=P2^2 ;sbit key4=P2^3;sbit buzz=P3^4 ;sbit s1=P2^4 ;sbit s2=P2^5;sbit s3=P2^6 ;sbit s4=P2^7 ;void delay(uint z){uint i,j;for(i=0;i<1827;i++ )for(j=0;j<z;j++);}void init(){P0=0xff;buzz=1;}main(){buzz=1;while(1){if(key1==0){delay(5);if(key1==0){init();buzz=0;delay(20) ;buzz=1;s2=1;s3=1;s4=1;s1=0;delay(5);P0=display[1];delay(5);}}if(key2==0){delay(5);if(key2==0){init();buzz=0;s1=1;s3=1;s4=1;s2=0;P0=display[2];delay(20) ;buzz=1;delay(20);buzz=0;delay(20) ;buzz=1;delay(5);delay(5);}}if(key3==0){delay(5);if(key3==0){init();buzz=0;s2=1;s1=1;s4=1;s3=0;P0=display[3];delay(20) ;buzz=1;delay(20);buzz=0;delay(20) ;buzz=1;delay(20);buzz=0;delay(20) ;buzz=1;delay(5);delay(5);}}if(key4==0){delay(5);if(key4==0){init();buzz=0;s3=1;s1=1;s2=1;s4=0;P0=display[4];delay(20) ;buzz=1;delay(20);buzz=0;delay(20) ;buzz=1;delay(20);buzz=0;delay(20) ;buzz=1;delay(20);buzz=0;delay(20) ;buzz=1;delay(5);}}}}3、温度传感器、数码管:#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define jump_ROM 0xCC#define start 0x44#define read_EEROM 0xBEUnsigned char display[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6 ,0xA1,0x86,0x8E};sbit DQ = P3^5; //DS18B20数据口sbit s1=P2^4 ;sbit s2=P2^5;sbit s3=P2^6 ;sbit s4=P2^7 ;char a,b;unsigned char TMPH,TMPL;void delay0(uint z){uint i,j;for(i=0;i<z;i++)for(j=0;j<1827;j++);}void delay_1(){int i,j;for(i=0; i<=10; i++)for(j=0; j<=2; j++);}void delay(uint N){int i;for(i=0; i<N; i++);}void Delay_1ms(uint i)//1ms延时{uchar x,j;for(j=0;j<i;j++)for(x=0;x<=148;x++);}uchar Reset(void) // 复位DS18B20 {uchar deceive_ready;DQ = 0;delay(29);DQ = 1;delay(3);deceive_ready = DQ;delay(25);return(deceive_ready);}uchar read_bit(void) //从DS18B20读一个位值{uchar i;DQ = 0;DQ = 1;for(i=0; i<3; i++);return(DQ);}void write_bit(uchar bitval) //向DS18B20写一位bitval(要对DS18B20写入的位值){DQ=0;if(bitval==1)DQ=1;delay(5);DQ=1;}uchar read_byte(void) //从DS18B20读一个字节{uchar i,m,receive_data;m = 1;receive_data = 0;for(i=0; i<8; i++){if(read_bit()){receive_data = receive_data + (m << i);}delay(6);}return(receive_data);}void write_byte(uchar val) //向DS18B20写一个字节val(要对DS18B20写入的命令值){uchar i,temp;for(i=0; i<8; i++){temp = val >> i;temp = temp & 0x01;write_bit(temp);delay(5);}}void show(char x,char y){s2=1;s3=1;s4=1;s1=0;delay(5);P0=display[y];delay(800);s1=1;s3=1;s4=1;s2=0;P0=display[x];delay(500);}void main(){uint temp;P2=0x00;while(1){Reset();write_byte(jump_ROM);write_byte(start);Reset();write_byte(jump_ROM);write_byte(read_EEROM);TMPL = read_byte();TMPH = read_byte();temp = TMPL / 16 + TMPH * 16;a=temp/10%10;Delay_1ms(5);b=temp%10;Delay_1ms(5);show(a,b);}}五、系统硬件电路设计:六、实验总结:本学期在《单片微型计算机原理及应用》的学习中,使我对51单片机的理论知识进行了系统的学习,增进了我对单片机的认识,单片机强大的功能已经使其成为当今计算机应用中空前活跃的领域。

相关文档
最新文档