基于51单片机课程设计
基于51单片机-PCF8591数字电压表课程设计
课程名称:微机原理课程设计题目:数字电压表ﻬ摘要单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
其中我们用于学习用的最多的是STC89C52单片机,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但也做了很多改进使得芯片具有传统51单片机不具备的功能。
STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EE PROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,全双工串行口。
本设计就是以单片机STC89C52为核心,附以外围电路,实现数字电压表的功能,并运用软件Proteus进行仿真来得到实验结果。
关键词:STC89C52单片机、仿真、中断、数字电压表、数码管显示ﻬ目录一、任务要求ﻩ错误!未定义书签。
1.1 设计任务ﻩ错误!未定义书签。
1.2设计要求ﻩ错误!未定义书签。
1.3发挥部分 ...................................................................................... 错误!未定义书签。
1.4 创新部分 ........................................................................................... 错误!未定义书签。
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单片机声光控灯是一种能够根据声音的大小和频率来控制灯光亮度和颜色的装置。
本文将介绍基于51单片机的声光控灯的设计原理、硬件电路、软件编程以及实际应用。
一、设计原理声光控灯的设计原理是通过声音传感器检测环境中的声音信号,并将其转换为电信号输入到51单片机中。
通过单片机的模拟转换功能,将声音信号转换为数字信号进行处理。
根据处理后的信号,控制LED灯的亮度和颜色。
二、硬件电路声光控灯的硬件电路主要包括声音传感器、ADC模块、51单片机、三色LED灯等组成。
声音传感器用于检测环境中的声音信号,将其转换为电信号输入到ADC模块中。
ADC模块将模拟信号转换为数字信号,并输入到51单片机中进行处理。
51单片机通过PWM波控制LED灯的亮度和颜色。
三、软件编程声光控灯的软件编程主要包括采集声音信号、信号处理以及LED灯控制等功能。
首先,通过ADC模块采集声音传感器输入的模拟信号,并进行模数转换。
然后,根据转换后的数字信号,进行信号处理,比如判断声音的大小和频率。
最后,根据处理后的信号,通过PWM波控制LED灯的亮度和颜色。
四、实际应用基于51单片机的声光控灯具有广泛的应用前景。
首先,在家庭环境中,可以将其应用于智能家居系统中,实现声控照明功能。
通过声音传感器感知用户的声音指令,控制灯光的亮度和颜色,提高用户的生活体验。
其次,在娱乐场所中,可以将其应用于舞台灯光控制系统中。
根据演出音乐的节奏和声音效果,自动调整舞台灯光的变化,增添演出的氛围和效果。
此外,声光控灯还可以应用于安防领域,通过声音检测来判断是否有异常情况,并通过灯光警示,提醒用户注意安全。
总结:基于51单片机的声光控灯是一种利用声音信号控制灯光亮度和颜色的装置。
通过声音传感器、ADC模块、51单片机和LED灯等组成的硬件电路,以及采集声音、信号处理和LED灯控制等软件编程,实现了声光控灯的功能。
同时,声光控灯在智能家居、娱乐场所和安防领域等方面具有广泛的应用前景。
基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
1. 研究背景
•计算器是人们日常生活和工作中常用的工具之一。
•通过设计简易计算器,可以加深学生对51单片机的理解和应用。
2. 目标和需求
•设计一个基于51单片机的简易计算器,能够进行基本的四则运算和开方运算。
•要求计算器能够显示输入和计算结果。
•要求计算器具备简单的界面和操作。
3. 设计方案
•使用51单片机作为计算器的控制核心。
•通过键盘输入数字和运算符,并显示在液晶屏上。
•根据输入的运算符,进行相应的计算,并将结果显示在液晶屏上。
4. 硬件设计
•使用51单片机作为主控芯片。
•连接液晶屏模块,用于显示输入和计算结果。
•连接键盘模块,用于输入数字和运算符。
5. 软件设计
•使用C语言进行编程。
•设计主程序,包括初始化、输入处理和计算输出等功能。
•设计函数,实现基本的四则运算和开方运算。
6. 实验结果
•成功设计并实现了基于51单片机的简易计算器。
•可以正常进行基本的四则运算和开方运算。
•输入和计算结果能够准确显示在液晶屏上。
7. 总结与展望
•通过设计这个简易计算器,学生对51单片机的理解和应用能力有了提高。
•下一步可以考虑增加更多的功能,如科学计算和数据存储等。
以上是本次基于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单片机的ic卡智能水表课程设计
基于51单片机的ic卡智能水表课程设计基于51单片机的IC卡智能水表课程设计一、引言随着科技的发展和人们生活水平的提高,水资源的合理利用和管理变得愈发重要。
传统的水表只能实现简单的读数功能,无法满足现代社会对智能化水表的需求。
本文将介绍一种基于51单片机的IC 卡智能水表的课程设计方案,通过对IC卡的读写和水表计量功能的结合,实现对用户用水量的监测和管理。
二、课程设计方案1. 系统框架本课程设计采用51单片机作为控制核心,通过与IC卡、水表及相关传感器的连接与通信,实现智能水表的计量、存储和管理。
系统框架包括IC卡读写模块、水表计量模块、显示模块和数据管理模块。
2. IC卡读写模块IC卡作为存储用户信息和充值记录的介质,需要通过51单片机与系统进行数据交互。
本课程设计中,采用SPI总线通信协议,通过51单片机的SPI接口与IC卡进行通信,实现对IC卡的读写操作。
IC卡中存储了用户的身份信息、充值金额和消费记录等数据,通过读卡器读取IC卡中的数据,传输给51单片机进行处理。
3. 水表计量模块水表计量模块通过与水表传感器的连接与通信,实现对用户用水量的实时计量。
本课程设计中,采用脉冲计量的方式,水表传感器产生的脉冲信号通过51单片机的外部中断引脚接收并计数,实时记录用户的用水量。
通过设置合适的脉冲与用水量的换算关系,可以准确地计量用户的用水量。
4. 显示模块显示模块用于显示用户的用水量和剩余金额等信息,方便用户实时了解自己的用水情况。
本课程设计中,采用LCD液晶显示屏作为显示设备,通过51单片机与LCD显示屏进行通信,将计量数据和相关信息显示在屏幕上。
5. 数据管理模块数据管理模块用于对用户的用水量和消费记录进行管理和统计。
本课程设计中,采用EEPROM作为数据存储介质,通过51单片机与EEPROM进行通信,实现对用户信息、充值记录和消费记录等数据的读写操作。
通过数据管理模块,可以实现对用户用水量和消费情况的管理和查询。
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单片机课程设计
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、键盘、显示器等。
基于c51单片机课程设计
基于c51单片机课程设计一、课程目标知识目标:1. 掌握C51单片机的基本结构、工作原理及编程方法;2. 熟悉并运用C语言进行单片机程序设计;3. 了解并掌握单片机外围电路的连接与调试;4. 掌握利用仿真软件对单片机程序进行调试与优化。
技能目标:1. 能够运用C语言编写简单的单片机程序,实现基础功能;2. 能够分析并解决单片机程序运行过程中出现的问题;3. 能够设计并搭建简单的单片机外围电路;4. 能够运用仿真软件对单片机程序进行调试,提高程序运行效率。
情感态度价值观目标:1. 培养学生对电子技术及编程的兴趣,激发学生的创新意识;2. 培养学生动手实践、团队协作的能力,提高学生解决问题的自信心;3. 培养学生严谨、细致的学习态度,养成良好的编程习惯;4. 培养学生关注科技发展,了解单片机在现代科技中的应用。
分析课程性质、学生特点和教学要求,本课程旨在让学生通过学习C51单片机的基本知识,掌握编程技能,培养实际操作能力。
课程目标具体、可衡量,便于教师进行教学设计和评估。
在教学过程中,注重理论与实践相结合,充分调动学生的积极性,提高学生的实际操作能力。
通过本课程的学习,使学生能够独立完成简单的单片机项目设计,为后续深入学习打下坚实基础。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. C51单片机基础知识:- 单片机概述、发展及应用;- C51单片机的结构、工作原理;- C51单片机的引脚功能及内部资源。
2. C语言编程基础:- C语言基本语法、数据类型;- 控制语句、函数、数组、指针;- 单片机C语言编程规范。
3. 单片机程序设计:- I/O口编程;- 定时器/计数器编程;- 中断系统编程;- 串行通信编程。
4. 单片机外围电路设计:- 常用电子元器件的选型与应用;- 单片机与外围电路的连接;- 电路原理图绘制与PCB设计。
5. 仿真软件的使用:- Keil软件的安装与使用;- 仿真软件的调试技巧;- 程序下载与硬件调试。
基于51单片机电子琴设计课程设计
基于51单片机电子琴设计课程设计
“基于51单片机电子琴设计课程设计”是一门介绍如何使用51单片机设计电子琴的课程。
本课程主要以51单片机为核心,以硬件电路、基础电路、信号处理程序及计算机软件为基础,介绍如何设计和控制电子琴原理,包括电子琴合成器、音源和操控器等技术知识。
课程通过理论讲解、硬件示范和软件实践的方式,引导学生搭建51单片机电子琴,并运用51专有语言和C语言,将单片机程序下载到电子琴中,实现声音的发出以及控制功能。
同时,学生还能学习电子琴软件仿真技术,理解电子琴的构造及琴键按钮的控制原理,掌握电子琴的基本程序,掌握电子琴的发声装置的设计等。
本课程旨在让学生掌握单片机电子琴的原理,熟悉信号处理程序和计算机存储系统,掌握原理及应用实践。
学生可以通过实践学习基础电路结构,了解单片机操作原理和程序编写应用,也可以运用所学知识及联系实际应用,完成不同功能需求的电子琴设计、系统设计及控制。
从而为建立有趣、实用的小型电子产品奠定基础。
经过本课程的学习,学生可以比较熟练的设计出基于51单片机的电子琴系统,实现基本的功能及控制,熟悉电子琴原理及程序设计,熟悉电子琴系统分析及调试。
另外,还可以运用计算机软件如Keil C51等,完成更复杂的电子琴程序设计,使学生掌握先进的电子琴设计技术,学会分析并解决实际的电子琴控制问题,进一步提升学生的学习能力和职业发展能力。
基于51单片机简易计算器课程设计
电气与电子信息工程学院单片机课程设计设计题目:简易电子计算器专业班级: 12级电信(1)班学号: *************名:**指导教师:章磊艾青设计时间:2014/06/03~2014/06/13 设计地点:K2—407课程设计任务书2013 ~2014 学年第2学期学生姓名:杨峥专业班级:电子信息工程技术(专)2012(1)班指导教师:艾青、章磊工作部门:电气学院电信教研室一、课程设计题目:单片机课程设计1. 出租车计价器系统设计2. 医院住院病人呼叫器的设计3. 作息时间控制器4. 数字温度计的设计5. 火灾报警器的设计6. 电子密码锁7. 电子计算器8.学生自选二、课程设计内容1. 以单片机为核心器件,构造系统;2. 熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;3. 熟悉、掌握单片机汇编语言的软件设计方法;4. 熟悉、掌握印刷电路板的设计方法;5. 根据具体设计课题的技术指标和给定条件,能独立而正确地进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;6. 学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;7. 编写设计说明书,参考毕业设计论文格式撰写设计报告(5000字以上)。
三、进度安排2.执行要求智能电子产品设计制作共8个选题,每组不超过7人,为避免雷同,在设计中每个同学所采用的方案不能一样。
四、基本要求(1)进行方案论证并根据要求确定系统设计方案;(2)绘制系统框图和电气原理草图,程序流程图;(3)对相关电路进行电路参数计算和元器件选择;(4)进行软件汇编并调试;(5)利用Proteus和Keil uVision2对系统进行联调;(6)绘制系统原理总图,列出原器件明细表;(7)画出软件框图,列出程序清单;(8)写出使用说明书;(9)对设计进行全面总结,写出课程设计报告。
五、课程设计考核办法与成绩评定第1章方案的选择与概述1. 单片机概述当今时代,是一个新技术层出不穷的时代。
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单片机的计算器课程设计实验报告
项目一:简单计算器1。
实验题目:用51单片机实现简单的计算器功能2。
实验截图:1).实验运行前截图:2).实验运行后截图:3.实验代码:#include<reg52。
h〉#include〈intrins.h〉#include〈math.h>#include<defined。
H>#include〈LCD1602.h>unsigned char table1[16]; //1602第一行显示字符unsigned char table2[16]; //1602第二行显示字符unsig ned char code table_error[] = ”error”;/*键扫描函数*/unsigned char keyscan() //扫描键盘函数{unsigned char key_l,key_h,addres,num;P0=0x0f;key_l=P0;P0=0xf0;key_h=P0;addres=key_l | key_h;if(addres!=0xff){Delayms(1);if(addres!=0xff){P0=0x0f;key_l=P0;P0=0xf0;key_h=P0;addres=key_l | key_h;switch(addres){case 0xee:num='1’;break;case 0xde:num=’2';break;case 0xbe:num=’3’;break;case 0xed:num='4';break;case 0xdd:num='5’;break;case 0xbd:num=’6';break;case 0xeb:num=’7’;break;case 0xdb:num='8’;break;case 0xbb:num='9’;break;case 0xd7:num='0’;break;//按键0case 0xe7:num=’C';break;//按键*case 0xb7:num=’=';break;//按键#case 0x7e:num='/’;break;//按键Acase 0x7d:num=’*’;break;//按键Bcase 0x7b:num='—’;break;//按键Ccase 0x77:num='+';break;//按键D}while(addres!=0xff){P0=0x0f;key_l=P0;P0=0xf0;key_h=P0;addres=key_l | key_h;}return num;}}return 0;}void clear_lcd(void)//清屏{unsigned char j;for(j=0;j〈16;j++){table1[j]=’\0’;table2[j]='\0';}}void main(){unsigned char i=0,j;unsigned char key;unsigned char flag_operator = 0;//加减乘除标志位unsigned char flag_equ = 0;//等于标志位unsigned char flag_key = 0;//运算位标志bit flag_MaxValue = 0;bit flag_minus = 0;//负数long int value = 0; //最终运算结果unsigned long int value_H =0; //第一个数据unsigned long int value_L = 0;//第二个数据unsigned long int temp[]={1, 10, 100,1000,10000,100000,1000000,10000000,100000000};Initialize_LCD();while(1){key=keyscan();if(key != 0){if(key == ’C')//清除键C按下{clear_lcd();i=0;flag_operator = 0; flag_equ = 0; value = 0; value_H =0; value_L = 0; flag_key = 0; flag_minus=0;}else{for(j=0; j<i; j++){table1[15—i+j] = table1[15—i+j+1];}table1[15] = key;//table1[i] = key;i++;}if(key == '='){for(j=0; j〈16; j++)//确定运算符位置{if(table1[j] == ’=’){flag_equ = j;flag_key++;break;}if( table1[j]== ’+' || table1[j] == ’—' || table1[j] == ’*' ||table1[j] == '/'){flag_operator = j;flag_key++;}}for(j=16—i; j〈flag_operator; j++) //第一个数据处理{//value_H = value_H + (table1[j]-48) * ( pow(10 ,(flag_operator—j-1)));value_H = value_H + (table1[j]—48) * temp[flag_operator—j—1];}for(j=flag_operator+1; j〈15; j++) //第二个数据处理{//value_L = value_L + (table1[j]-48) * pow( 10 , (flag_equ—j—1));value_L = value_L + (table1[j]—48) * temp[flag_equ—j—1];}if(table1[flag_operator] == '+'){value = value_H + value_L;}else if(table1[flag_operator]== ’-'){value = value_H — value_L;}else if(table1[flag_operator] == '*'){value = value_H * value_L;}else if(table1[flag_operator]== ’/’){value = value_H / value_L;}if(value == 0)table2[15] = (value + 48);else if(value<0){value = abs(value);flag_minus = 1;}else if(value〉2000000000){flag_MaxValue = 1;//break;}j=15;while(value!=0){table2[j] = (value%10 + 48);value = value/10;j—-;}if(flag_minus) //负数{table2[j] = ’—’;}}if(flag_key 〉2 || table1[0] == '0' || flag_MaxValue==1 ){ShowString(5,1,table_error);while(keyscan() != 'C’);clear_lcd();i=0;flag_operator = 0; flag_equ = 0; value = 0; value_H =0; value_L = 0; flag_key = 0; flag_minus=0;}}ShowString(0,0,table1);ShowString(0,1,table2);}}。
课程设计基于51单片机电子时钟设计
摘要 (2)Abstract (2)第一章前言 (3)第二章关于电子时钟 (4)2.1电子时钟简介 (4)2.2 电子时钟的基本特点 (4)2.3 电子时钟的原理 (4)该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。
而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。
(4)第三章关于单片机 (4)3.1 单片机简介 (4)3.2 单片机的发展史 (5)3.3单片机的特点 (6)第四章方案论证与比较 (7)2.1数字时钟方案 (7)2.2 数码管显示方案 (7)第五章系统设计 (8)5.1 总体设计 (8)计时方案 (8)控制方案 (8)5.具体设计分析 (8)5.2 模块设计 (9)5.2.1芯片分析 (9)5.2.1.1 AT89S51芯片 (9)5.2.1.2 74LS47芯片说明 (11)5.2.1.3 74LS138芯片说明 (13)5.2.2 晶振电路 (14)5.2.3复位电路 (15)5.2.4数码显示模块设计 (16)5.2.5 5.2.5按键模块 (17)5.2.5整个电路原理图 (18)第六章控制系统的软件设计 (18)源程序代码 (20)第七章系统仿真与实验测试 (26)7.1 系统仿真 (26)7.2 Proteus软件应用 (26)7.3 实验测试 (28)心得体会 (29)单片机电子时钟的设计摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
基于-51单片机课程设计报告
单片机课程设计课题:基于51单片机的交通灯设计基于51单片机数字温度计设计报告一、设计目的作用本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,,四位共阴极数码管一个,电容电阻若干。
DS18B20支持“一线总线”接口,测量温度范围-55°C~+125°C。
在-10~+85°C范围内,精度为±0.5°C。
18B20的精度较差,为± 2°C 。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。
主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。
测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。
二、设计要求(1).利用DS18B20传感器实时检测温度并显示。
(2).利用数码管实时显示温度。
(3).当温度超过或者低于设定值时蜂鸣器报警,LED闪烁指示。
(4).能够手动设置上限和下限报警温度。
三、设计的具体实现1、系统概述方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案设计框图如下:方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
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单片机波形发生器课程设计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单片机课程设计一、课程目标知识目标: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单片机的课程设计
摘要 (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单片机课程设计一、课程背景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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机课程设计报告院系:电子通信工程团组:电子设计大赛1组姓名:指导老师:目录一、摘要 (3)二、系统方案的设计 (3)三、硬件资源 (5)四、硬件总体电路搭建 (13)五、程序流程图 (14)六、设计感想 (14)七、参考文献 (16)附录 (17)附录 1 程序代码 (17)一、摘要本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。
温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。
文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。
单片机通过对信号进行相应处理,从而实现温度控制的目的。
文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。
关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示.二、系统方案的设计1、设计要求基本功能:不加热时实时显示时间,并可手动设置时间;设定加热水温功能。
人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度;设定加热时间功能。
限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。
2、系统设计的框架本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。
该控制系统可以实时存储相关的温度数据并记录当前的时间。
其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。
图1 系统设计框架3 工作原理温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。
当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!!当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。
三、硬件资源1、器件选择:1.51单片机一块STC89c51STC8951是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash 只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC8951引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的STC8951可为许多嵌入式控制应用系统提供高性价比的解决方案。
STC8951具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信,片内时钟振荡器。
此外,STC8951设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
由于系统控制方案简单 ,数据量也不大 ,考虑到电路的简单和成本等因素 ,因此在本设计中选用STC8951单片机作为主控芯片。
主控模块采用单片机最小系统是由于STC8951芯片内含有8 kB的E2PROM ,无需外扩存储器 ,电路简单可靠 ,其时钟频率为 0~24MHz ,并且价格低廉 ,批量价在 10元以内。
其单片机的外围引脚有40个,分别是:第20脚和40脚分别是电源,即GND和Vcc;第9脚是复位脚RST;第18脚是时钟XTAL2脚,片内振荡电路的输出端;第19脚是时钟XTAL1脚,片内振荡电路的输入端;第29脚:~PSEN脚,当访问外部程序存储器时,此引脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上;第30脚:ALE/~PROG,当访问外部数据存储器时,ALE(地址锁存)的输出用于锁存地址的低字节;第31脚:~EA/Vpp为程序存储器内外部选通信号;P0^0-P0^7.P1^0-P1^7.P2^0-P2^7.P3^0-P3^7.这32个引脚为数据的输出及输入引脚,即I/0口;单片机图如下:2、8位7段共阴数码管一个7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。
当发光二极管导通时,相应的一个点或一个笔画发光。
控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。
发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,如图4.9所示。
共阴数码管共阴数码管的编码为:0x3F,0x0C,0x76,0x5E,0x4D,0x5B,0x7B,0x0E,0x7F,0x5F,0x6F,0x79,0x3 3,0x7C,0x73,0x630 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,A , B, C, D, E, F3、温度显示DS18B20一个DS18B20采用3脚TO-92封装或8脚的SOIC封装,如图1所示。
各引脚的功能:GND为电压地;DQ为单数据总线;V为电源电压;NC为空引脚。
图1DS18B20引脚图DS18B20的DQ单数据总线与单片机P3.7连接,GND电压地、V电源电压分别和电压地和5伏直流电源连接。
本文设计的系统主机只对一个DS18B20进行操作,因此不需要读取ROM编码以及匹配ROM 编码,只要跳过ROM命令,就可以进行如下温度转换和读取操作。
(1)CCH—跳过ROM,直接向DS18B20发送温度变换命令。
(2)44H—读暂存器。
读内部RAM中9字节的温度数据。
(3)BEH—写暂存器。
发出向内部RAM的第2、3字节写上、下限温度数据命令,紧跟该命令之后,再传送两字节数据。
DS18B20在出厂时默认配置为12位,其中最高位为符号位,即温度值共11位,单片机在读取数据时,一次会读两字节共16位,读完后将低11位的二进制数转换为十进制后再乘以0.0625变为所测的温度值。
另外,还需要判断温度的正负。
前5个数字为符号位,这5位同时变化,我们只需判断11位就可以了。
前5位为1时,读取的温度为负值,且测到的数值需要取反再加一再乘以0.0625才可以得到实际的温度值。
前5位为0时,读取的温度为正值,只要将测得的数值乘以0.0625即可得到实际温度值。
由于提前给DS18B20赋了上限、下限值,所以当温度超过上限或者不足下限时,会伴有LED灯闪烁和蜂鸣器响作为警报。
4、按键在按下键时,实际情况下,都会出现抖动。
其直观图如下:按键消抖一般采用硬件和软件消抖两种方法。
硬件消抖是利用电路滤波的原理实现,软件消抖是通过按键延时来实现。
在微机系统中一般都采用软件延时的消抖方法,本文用的是软件延时的消抖方法。
5、74HC573锁存器高性能硅门 CMOS 器件SL74HC573 跟 LS/AL573 的管脚一样。
器件的输入是和标准CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。
当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)相当于图上的Dx-Qx相通,I/0口可以进行数据交换。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
在这里我们是将LE接高电平,把锁存器当作驱动器,驱动数码管的显示;6、晶振其晶振的运用,在这地方我们用的是12MHz,主要用在单片机的最小系统中,参照单片机最小系统图示;7.电阻.电容.导线等(一)单片机最小系统电路在课题设计的温度控制系统设计中,控制核心是STC89C52单片机,该单片机为51系列增强型8位单片机,它有32个I/O口,片内含4K FLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1μS。
使用该单片机完全可以完成设计任务,其最小系统主要包括:复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择),电路如下图2所示:图2 单片机最小系统(二)温度传感器电路采用一线制数字温度传感器DS18B20来作为本课题的温度传感器。
传感器输出信号进4.7K的上拉电阻直接接到单片机的P1.0引脚上。
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。
本设计中温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:(1)系统的特性:测温范围为20℃~70℃,测温精度为士0.5℃;温度转换精度9~12位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;12位精度转换的最大时间为750ms;可以通过数据线供电,具有超低功耗工作方式。
(2)系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。
一支DS18B20的体积与普通三极管相差无几,价格只有十元人民币左右。
(3)系统复杂度:由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。
(4)系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。
同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。
DS18B20温度传感器只有三根外引线:单线数据传输总线端口DQ ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。
这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。