51单片机课程设计
- 格式:doc
- 大小:743.44 KB
- 文档页数:27
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单片机期末课程设计一、课程目标知识目标: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单片机课程设计题目一、课程目标知识目标: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单片机课程设计报告一、课程目标知识目标: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单片机课程设计一、课程目标知识目标: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单片机在实际应用中的案例,如温度控制系统、智能家居等,对应教材第六章。
51单片机跑表课程设计一、课程目标知识目标:1. 学生能理解51单片机的基本原理,掌握其编程方法。
2. 学生能掌握跑表功能实现的硬件设计,包括定时器/计数器的工作原理和应用。
3. 学生能了解并运用中断系统,实现跑表的精确计时功能。
技能目标:1. 学生能够运用C语言编写程序,实现对51单片机的控制。
2. 学生能够设计并搭建简单的跑表电路,进行功能调试和优化。
3. 学生能够通过课程学习,培养动手实践能力,提高问题解决技巧。
情感态度价值观目标:1. 学生在课程学习中,培养对电子技术和编程的兴趣,提高学习积极性。
2. 学生在团队协作中,学会相互沟通、合作,培养集体荣誉感。
3. 学生通过课程实践,认识到科技对社会发展的作用,树立正确的价值观。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际问题解决能力。
学生特点:学生具备一定的电子技术基础和C语言编程能力,对单片机有一定了解。
教学要求:结合学生特点,注重理论与实践相结合,引导学生通过动手实践掌握课程内容,提高学生的综合运用能力。
在教学过程中,关注学生的个体差异,因材施教,确保每位学生能够达到课程目标。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 51单片机基础原理回顾:包括51单片机的内部结构、工作原理,重点复习定时器/计数器、中断系统等关键知识点。
相关教材章节:第一章《单片机概述》和第二章《51单片机结构及原理》。
2. C语言编程基础:回顾数据类型、运算符、控制语句等基础语法,为编写跑表程序打下基础。
相关教材章节:第三章《51单片机C语言编程基础》。
3. 跑表功能硬件设计:讲解跑表电路的设计方法,包括时钟电路、复位电路、显示电路等。
相关教材章节:第四章《51单片机接口技术》。
4. 跑表程序设计:教授如何利用定时器/计数器、中断系统编写跑表程序,实现计时功能。
相关教材章节:第五章《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单片机温度课程设计一、课程目标知识目标:1. 理解51单片机的结构与原理,掌握温度传感器与单片机的连接方法;2. 学会编写程序,实现温度的采集、处理和显示;3. 了解温度控制系统的基本原理及其在实际应用中的重要性。
技能目标:1. 能够正确使用万用表、编程器等工具,进行单片机与温度传感器的连接;2. 掌握C语言编程,实现温度数据的采集、处理和显示;3. 能够分析温度控制系统的性能,提出优化方案。
情感态度价值观目标:1. 培养学生动手实践能力,激发创新精神,增强解决实际问题的自信心;2. 培养团队合作精神,提高沟通与协作能力;3. 增强学生对我国电子产业的了解,提高国家认同感和自豪感。
课程性质:本课程为实践性较强的课程,结合理论教学,注重培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的电子基础知识,对单片机有一定了解,但实际操作经验不足。
教学要求:教师需采用讲解、示范、指导相结合的教学方法,引导学生主动参与实践,提高学生的实际操作能力。
同时,注重培养学生分析问题和解决问题的能力,达到学以致用的目的。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,为未来的职业发展打下坚实基础。
二、教学内容1. 理论知识:- 51单片机基础知识:介绍51单片机的结构、工作原理及特点;- 温度传感器原理:讲解温度传感器的工作原理、种类及其与单片机的连接方法;- C语言编程:复习C语言基础知识,重点讲解与51单片机相关的编程技巧。
2. 实践操作:- 硬件连接:指导学生使用万用表等工具,完成温度传感器与51单片机的连接;- 软件编程:编写程序实现温度数据采集、处理和显示,通过实践操作熟悉编程过程;- 系统调试:分析温度控制系统的性能,引导学生提出优化方案并进行调试。
3. 教学大纲:- 第一周:51单片机基础知识学习,了解温度传感器原理;- 第二周:C语言编程复习,学习与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单片机控制系统,如智能小车、智能家居等。
课程设计说明书课程设计名称单片机原理及应用课程设计专业电子信息工程班级 140405学号 20141329学生姓名李延琦指导教师胡黄水2016 年 12 月 26 日课程设计任务书注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计的依据。
目录第一部分:自主设计课设:酒精测试仪 (1)1 总体方案设计 (1)1.1 设计要求 (1)1.2优点及意义 (1)1.3 系统硬件电路设计 (1)1.4初步设计思路 (2)2 硬件电路设计 (2)2.1酒精检测模块 (2)2.2显示模块 (2)2.3报警模块 (3)2.4 CPU控制模块 (4)3应用软件设计 (5)3.1 主程序设计 (5)3.2 子程序设计 (6)3.2.1 显示子程序设计 (6)3.2.2报警子程序设计 (7)3.2.3 酒精检测子程序设计 (8)4 系统调试与性能分析 (8)4.1 开机界面 (8)4.2 浓度判断 (8)4.3 阈值修改 (9)总结: (9)参考文献 (9)附录 (10)附录A 硬件电路图 (10)附录B 程序清单 (11)第二部分:课堂设计内容:温度测量系统 (16)1 实验目的 (16)2实验内容 (16)3实验原理 (16)4实验步骤 (16)5 流程图: (17)6 程序清单: (18)第一部分:自主设计课设:酒精测试仪1 总体方案设计1.1 设计要求本课题要求以单片机为核心,设计一个酒精测试仪,由四部分组成:酒精检测模块,显示模块,报警模块,CPU控制模块。
CPU控制模块采用STC89C52单片机进行控制。
酒精传感器采用MQ-Sensor传感器模块和ADC0809模数转换模块用于对人呼出酒精气体的酒精度检测,显示模块采用1602液晶显示,报警电路采用蜂鸣器。
要求酒精测试仪有以下功能:(1)酒精浓度通过1602液晶显示模块显示出来(2)酒精浓度超过设定的阈值则蜂鸣器发声进行报警。
1.2优点及意义本课题采用51单片机进行控制,51单片机具有体积小、运行速度快的特点,用其作为主控芯片进行控制会十分的方便。
使用MQ-Sensor气体传感器模块能够快速,准确的检测到酒精浓度,使用1602模块进行显示,直观,方便。
1.3 系统硬件电路设计系统硬件设计框图。
根据设计要求,确定系统的设计方案,硬件由四部分组成。
采用STC89c52单品机为CPU控制模块,以MQ-Sensor传感器模块和ADC0809模块组成检测模块,以1602液晶显示组成显示模块,以蜂鸣器组成报警模块。
1.4初步设计思路(1)定义三组数组表,方便1602显示时进行调用(2)将adc0809的数据输出端接在单片机的P2口(3)将MQ-Sensor酒精传感器的TTL输出端接在单片机P1.7口,将AO模拟量输出端接到adc0809的IN0通道。
(4)将1602的数据输入端接到单片机P0口(5)将蜂鸣器接到单片机P3.3口。
2 硬件电路设计2.1酒精检测模块传感器模块采用MQ-Sensor酒精传感器,其模拟量输送给ADC0809进行模数转换,将输出数据发给单片机。
电路中酒精检测传感器的模拟量输出端接在adc0809的IN0通道。
Adc0809的start引脚接到单片机的P1^2口,oe引脚接到单片机的p1^0引脚上,EOC引脚接到了单片机的p1^1口,ciock时钟信号接到了单片机的P1^6引脚上。
数字量输出端接到了单片机的P2口。
将传感器采集到的酒精浓度经过adc0809输送到单片机中。
2.2显示模块显示模块采用1602液晶显示屏进行显示,液晶显示具有低功耗,应用接口少,显示量大的特点,所以应用很广。
将单片机收到adc0809数字量发送给1602中,进行显示。
将1602的数据输入端接到单片机的P0口,RS引脚接到单片机的P3^5口,将EN使能接口接到单片机的P3^4口,单片机发送数据给1602,1602进行显示酒精的浓度。
2.3报警模块报警模块采用蜂鸣器进行报警,直观,方便将蜂鸣器接到单片机的P3^3口,当酒精检测传感器模块TTL电平输出端时证明酒精浓度已经超过了阈值,则启动报警,给蜂鸣器以低电平,蜂鸣器响。
否则,给蜂鸣器低电平,蜂鸣器不响。
2.4 CPU控制模块CPU采用STC89c52单片机,负责整套系统的运行。
它包含时钟电路和复位电路。
(1)时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路。
电路中,电容器C1和C2对振荡频率有微调作用,同时帮助晶振起振,通常取值范围在22±0.1PF,一般晶振为11.0592MHZ,电容取22PF。
石英晶体选择11.0592MHZ。
(2)复位电路单片机系统的复位电路在可以采用的是按钮式上电复位电路形式,其中电阻R采用10KΩ的阻值,电容采22μF的电容值。
3应用软件设计3.1 主程序设计酒精测试仪的基本功能是通过酒精传感器采集到气体的酒精浓度,之后经过ADC0809数模转换发送给单片机,之后单片机发送给1602液晶进行显示。
当检测到的酒精浓度值超过了所设计的阈值,则酒精传感器模块将输出低电平,将其接到单片机P1^7引脚上,当单片机检测到该引脚为低电平时,则驱动蜂鸣器发生进行报警。
流程图:3.2 子程序设计3.2.1 显示子程序设计采用1602液晶屏进行显示,将液晶数据输入端接到单片机P0口,单片机驱动液晶进行显示。
流程图:3.2.2报警子程序设计报警电路采用蜂鸣器进行报警,当酒精浓度超过了设定值,则蜂鸣器发声进行报警,将蜂鸣器接到单片机的P3^3引脚。
流程图:3.2.3 酒精检测子程序设计酒精检测模块采用 MQ-Snsor 酒精气体传感器和 ADC0809 组成,将 采集到的酒精浓度经过模数转换器发给单片机。
流程图:开始气体检测Adc0809 模 数 转 换发送给单片机结束4 系统调试与性能分析4.1 开机界面开机之后 1602 界面显示 单片机。
,酒精检测模块气体中酒精度发送给4.2 浓度判断当检测到的酒精浓度大于设定的阈值时,则单片机驱动蜂鸣器发 生进行报警,提示检测者酒精浓度已经超标。
84.3 阈值修改(1)硬件修改 通过改变酒精传感器的电阻值来改变传感器对气体酒精度的检测灵敏度,来修改阈值。
(2)软件修改通过对系统运行程序进行阈值设定,检测到的酒精浓度, 进行人为的软件设定阈值,进行判别。
总结:本作品针对生活中因醉酒驾驶引发交通事故日益严重,明确研究方向, 制定计划方案。
深入研究酒精传感器、模数转换器等器件原理,查阅相关 酒驾标准。
为制作出满足实际要求的作品,做好充分的准备。
在此期间所 遇到的问题,通过最有效、最准确的渠道进行解决,为成功扫清障碍。
随着对单片机、ADC0809、LCD 显示器的加深了解,对信号采集和数据算 法处理的进一步学习;加入温度、湿度和气压的影响,在现有基础上进行 改进,一定会使测得的数据更加准确,使作品与预期目标更接近。
使其能 成为商品,进入家庭,实现我们以此为课题的最终目的。
参考文献[1] 单成祥.传感器的理论与设计基础及其应用[M].北京:国防工业出版社, [2] 张福学.现代传感器电路[M].北京:中国计量出版社,2000,441 [3] 吴兴惠,王彩君.传感器与信号传感器[M].北京:电子工业出版社,1998 [4] 万隆,巴奉丽.单片机原理及应用技术[M].北京:清华大学出版社,2010 [5] 汤竟南,沈国琴.51 单片机 C 语言开发与实例[M].人民邮电出版社 [6] 雷伏容,张小林,崔浩.51 单片机常用模块设计查询手册[M].北京:清华大学出版社,2010 [7] 韩成,张延 拿了就用单片机[M].北京:人民邮电出版社,2008 [8] 赵建领.51 系列单片机开发宝典[M].北京:电子工业出版社,2007-04 [9] 张毅刚 单片机原理及接口技术 :人民邮电出版社9附录附录 A 硬件电路图10附录 B 程序清单/*****************************************************///项目名称:酒精测试仪//程序内容:通过酒精模块将采集到的酒精浓度显示到 1602 上//如果浓度超过设定值,则进行报警。
/*****************************************************/#include <reg52.h>//头文件#define uchar unsigned char //宏定义无符号字符型#define uint unsigned int //宏定义无符号整型uchar code table[]="0123456789";uchar code table1[]="voltage:";uchar code table2[]=" alcohol tester ";//位控制码sbit ST=P1^2; //A/D 启动转换信号sbit OE=P1^0; //数据输出允许信号sbit EOC=P1^3; //A/D 转换结束信号sbit CLK=P1^6; //时钟脉冲sbit dula = P2^6;sbit wela = P2^7;sbit rs = P3^5;sbit lcden = P3^4;sbit DOUT=P1^7;sbit beep=P3^3;uint z,x,c,v,AD0809, date,a,i; //定义数据类型void yanshi(uchar z) //延时子函数{uint x,y;x=0;y=0;for(x=z;x>0;x--)for(y=110;y>0;y--);}void delay(uint x)//延时函数,参数 x{uint a,b;for(a = x;a > 0;a--){for(b = 10;b > 0;b--)11{ ;} } }/**************************************************//* 函数名称 : write_com*//* 函数描述 : 1602 写命令函数*//* 输入参数 : com*//* 参数描述 : 控制命令*//* 返回值 : 无*//**************************************************/void write_com(uchar com){P0 = com;rs = 0;lcden = 0;delay(10);lcden = 1;delay(10);lcden = 0;}/**************************************************//* 函数名称 : write_date*//* 函数描述 : 1602 写数据函数*//* 输入参数 : date*//* 参数描述 : 要写入的数据*//* 返回值 : 无*//**************************************************/void write_date(uchar date){P0 = date;rs = 1;lcden = 0;delay(10);lcden = 1;12delay(10);lcden = 0;} void initLCD(void)//1602 初始化函数{dula = 0;wela = 0;write_com(0x38);delay(20);write_com(0x0f);delay(20);write_com(0x06);delay(20);write_com(0x01);delay(20);}/***********************************************液晶显示程序***********************************************/void xianshi() //显示函数{uint z,x,c,v;z=date/1000; x=date%1000/100; c=date%100/10; v=date%10;//求千位 //求百位 //求十位 //求个位for(a=20;a>0;a--)//液晶 1602 显示{write_com(0x80+0x40+9);write_date(table[z]);write_com(0x80+0x40+10);write_date(table[x]);write_com(0x80+0x40+11);write_date('.');write_com(0x80+0x40+12);write_date(table[c]);13write_com(0x80+0x40+13); write_date(table[v]); } } /***************************************CLK 振荡信号 ****************************************/ void timer0( ) interrupt 1 //定时器 0 工作方式 1 {TH0=(65536-2)/256; TL0=(65536-2)%256; CLK=!CLK; }//重装计数初值 //重装计数初值 //取反/****************************************主函数*****************************************/void main(){TMOD=0X01;//定时器中断 0CLK=0;//脉冲信号初始值为 0TH0=(65536-2)/256;//定时时间高八位初值TL0=(65536-2)%256;//定时时间低八位初值EA=1;//开 CPU 中断ET0=1;//开 T/C0 中断TR0=1;initLCD();write_com(0x80);for(i=0;i<16;i++){write_date(table2[i]);}yanshi(5);write_com(0x80+0x40);for(i=0;i<8;i++)14{write_date(table1[i]);}while(1)//无限循环{beep=1;ST=0;//使采集信号为低ST=1;//开始数据转换ST=0;//停止数据转换while(!EOC);//等待数据转换完毕OE=1;//允许数据输出信号AD0809=P1;//读取数据OE=0;//关闭数据输出允许信号if(AD0809>=251)//电压显示不能超过 5VAD0809=250;date=AD0809*20;xianshi();//液晶显示显示函数if(DOUT==0)//当浓度高于设定值时 ,执行条件函数{yanshi(5);//延时抗干扰if(DOUT==0)//确定 浓度高于设定值时 ,执行条件函数{beep=0;yanshi(2000);beep=1;}}}}15第二部分:课堂设计内容:温度测量系统1 实验目的根据温度控制系统的要求和特点,设计了一种基于 51 单片机的温度显 示系统。