《单片机课程设计》报告

合集下载

单片机课程设计 报告

单片机课程设计 报告

《单片机应用设计报告》系别电子信息与电气工程系专业自动化班级 09 级 (1) 班姓名王杰王典老师储忠完成时间 2012年5月18日单片机原理及接口技术课程设计报告摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

MCS-51单片机是使用极为广泛的一款8位单片机,在此次实训中所用的单片机是美国Atmel公司生产的以8031为内核的AT89S52单片机。

实训分别以构建单片机最小系统版、74HC138流水灯、8255交通灯、8253方波、6N137光耦控制继电器等几个实验关键词:AT89S52 74HC138 8255A 8253 6N137 交通灯目录单片机原理及接口技术课程设计报告 (1)实验一构建单片机最小系统和实验环境熟悉 (3)1.1单片机的工作原理 (3)1.1.1单片机最小系统图 (3)1.1.2运算器简介 (4)1.1.3控制器简介 (5)1.1.4实验解析与总结 (7)实验二跑马灯实验及74HC138译码器 (7)2.1实验内容 (7)2.1.1实验原理 (8)2.1.2实验原理图 (8)2.1.3实验程序流程图 (9)2.1.4实验程序代码 (9)2.1.5完成后的效果图 (10)2.2实验总结 (10)实验三8255控制交通灯实验 (11)3.1实验内容 (11)3.1.3实验原理 (11)3.1.2实验原理电路图 (12)3.1.3程序流程图 (13)3.1.4实验程序代码 (13)3.1.5系统实现图 (15)3.2 8255A寻址原理 (15)3.3实验总结 (16)实验四8253方波实验 (17)4.1实验内容 (17)4.1.1实验原理图 (17)4.1.2实验原理电路图 (17)4.1.3程序流程图 (18)4.1.4程序流程代码 (19)4.1.4系统仿真 (20)4.2实验总结 (21)实训总结 (21)附录 (22)1 实验源程序 (22)2仿真系统电路原理图 (27)3硬件实物照片 (27)实验一构建单片机最小系统和实验环境熟悉1.1单片机的工作原理1.1.1单片机最小系统图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。

stm32单片机课程设计报告

stm32单片机课程设计报告

stm32单片机课程设计报告设计背景:一个学生对单片机的好奇心,也激起了我对它进行探索研究的兴趣。

为此,在上完单片机课程以后,同时开始我们的实践活动。

经过几天的努力我们的第一次作品终于出炉了。

通过这次活动使我受益匪浅!由于本人水平有限,书写不当之处还请老师指正,谢谢!设计要求:采用小规模集成电路设计单片机最大特点就是电路简洁、可靠性高和价格低廉.利用51系列的中断结构和硬件看门狗定时器来完成最后的任务,因此,我们只需对各部分加以说明,重点介绍其设计思想即可,如下图所示:(1)定时/计数器采用小规模集成电路设计单片机最大特点就是电路简洁、可靠性高和价格低廉.利用51系列的中断结构和硬件看门狗定时器来完成最后的任务,因此,我们只需对各部分加以说明,重点介绍其设计思想即可,如下图所示:(2)程序存储器部分(3)片内数据存储器部分(4)外围扩展接口部分图2—1程序存储器部分图2-3片内数据存储器部分图2-4外围扩展接口部分1.程序存储器部分片内程序存储器共分四个部分:控制寄存器、数据存储器、程序状态存储器和特殊功能寄存器等。

在这些地方我主要讲解如何用中断控制其工作。

当定时器发生溢出或非法操作,将会产生一个中断请求信号。

由定时/计数器产生的该中断请求信号在中断服务程序中被送到定时/计数器。

定时/计数器将响应中断而执行相应的中断服务子程序,并返回响应中断信号。

利用中断处理实现定时/计数器中断请求:在程序存储器片段存放定时/计数器对象,并使其成为可重入的,从而为每一位提供固定宽度的中断服务。

当中断产生时,片内寄存器的内容随着中断服务程序的调用而改变,寄存器值改变了,那么中断服务子程序中被修改的位的状态也跟着变化;如果该中断请求得到了满足,则可由该寄存器恢复原先的值;否则,仍然保持原先的状态。

而且,该中断请求不会因其他原因而丢失,下次再启动程序时,该中断请求又会被激活。

中断服务程序被装入一个中断向量表( IDT),由中断屏蔽位来确定中断源的类型,以便查询有关寄存器的状态。

单片机 课程设计报告(完成版)

单片机  课程设计报告(完成版)

单片机课程设计报告
题目:音乐门铃
院系:电气信息工程系专业:通信工程
组长:吴楠学号: 20100606019
组员 1 :刘静静学号: 20100606017
组员 2 :张琳娜学号: 20100606018
组员 3 :李元学号: 20100606020
组员 4 :黄智鑫学号: 20100606049
组员 5 :学号:
组员 6 :学号:
指导教师:李宁
2011年01月06日
电气信息工程系课程设计总结报告
PCB原理图
电气信息工程系
单片机课程设计元器件清单指导教师:李宁课题名称:音乐门铃
参考文献:
[1]徐爱钧.单片机原理实用教程[M].北京:电子工业出版社,2009:267-285.
[2]刘焕平.单片机原理及应用[M].北京:北京邮电大学出版社,2008:246-260.
[3]刘南平.单片机实训与开发教程[M].北京:科学出版社,2008:199-209.
[4]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002:242-253.
[5]刘海成.单片机及应用系统设计原理与实践[M].北京:北京航空航天大学出版社,2009:273-281.
[6]杨振江.单片机应用于实践指导[M].西安:西安电子科技大学出版社,2010:378-380.。

单片机课程设计报告代码

单片机课程设计报告代码

单片机课程设计报告代码摘要:一、单片机课程设计报告简介1.单片机概述2.课程设计报告的目的与意义3.报告内容概述二、单片机基础知识回顾1.单片机的定义与历史2.单片机的基本结构3.单片机的工作原理三、单片机应用领域1.工业控制2.通信设备3.消费电子4.汽车电子5.其他领域四、单片机课程设计报告实例分析1.实例一:基于单片机的智能家居系统设计2.实例二:单片机控制的智能交通灯系统设计3.实例三:单片机在智能医疗设备中的应用设计五、单片机课程设计报告撰写建议1.明确设计目标与要求2.详细的设计过程与思路3.合理的硬件与软件设计4.系统测试与优化5.结论与展望正文:一、单片机课程设计报告简介单片机课程设计报告是学生在学习单片机知识后,将理论应用于实际的一个综合性实践环节。

通过对单片机的了解与掌握,学生可以设计出各种具有一定功能的智能系统。

本报告将对单片机课程设计报告进行简要介绍,包括报告的目的、意义以及内容概述。

二、单片机基础知识回顾在开始设计报告之前,我们需要先回顾一下单片机的基础知识,以便更好地理解单片机的工作原理和应用领域。

单片机是一种集成电路,集成了CPU、存储器、外设接口等多种功能于一体,可编程实现各种控制功能。

它具有体积小、成本低、功耗低、功能强大等特点,被广泛应用于各个领域。

1.单片机的定义与历史单片机(Microcontroller Unit, MCU)是一种集成了CPU、存储器、外设接口等多种功能于一体的微型计算机。

自1971年Intel公司推出第一款单片机4004以来,单片机得到了迅速发展,其性能、功能和应用领域不断扩展。

2.单片机的基本结构单片机主要由CPU、存储器、外设接口和时钟电路等部分组成。

CPU是单片机的核心部分,负责程序的执行;存储器用于存储程序和数据;外设接口用于与外部设备进行通信;时钟电路为单片机提供工作节拍。

3.单片机的工作原理单片机根据预先编写好的程序,在时钟信号的作用下,对输入信号进行处理,并产生相应的输出信号,从而实现对各种外部设备的控制。

单片机课程设计报告电子万年历

单片机课程设计报告电子万年历

单片机课程设计报告电子万年历单片机课程设计报告:电子万年历一、设计简介在本次单片机课程设计中,我们选择了电子万年历作为设计主题。

电子万年历是一种结合了数字电路、单片机技术和实时时钟(RTC)技术的电子产品,它具有显示年份、月份、星期、日、时、分、秒的功能,还可以根据用户的需求进行定时、闹钟、报时等功能。

二、硬件设计我们采用了基于8051内核的单片机作为主控芯片。

该单片机具有丰富的I/O 端口,适于实现各种复杂的输入输出操作。

此外,它还内置了定时器和中断控制器,可以很方便地实现实时时钟功能。

1.显示模块:为了方便用户查看时间信息,我们选用了LCD显示屏作为显示设备。

LCD屏具有功耗低、体积小、显示内容丰富等优点。

2.实时时钟(RTC)模块:我们采用了常用的DS1302芯片作为实时时钟模块。

该芯片可以提供秒、分、时、日、星期、月、年的信息,而且还有可编程的报警功能。

3.按键模块:为了实现人机交互,我们设计了一组按键。

用户可以通过按键来调整时间、设置闹钟等。

4.电源模块:为了保证系统的稳定工作,我们采用了稳定的5V直流电源。

三、软件设计我们采用了C语言编写程序。

程序主要由以下几个部分组成:1.主程序:主程序主要负责读取RTC模块的时间信息,并控制LCD显示屏显示时间。

同时,主程序还要检测按键输入,根据用户的需求进行相应的操作。

2.RTC驱动程序:为了正确地读取和设置DS1302芯片的时间信息,我们编写了相应的驱动程序。

驱动程序包括初始化和读写寄存器两部分。

3.按键处理程序:按键处理程序用于检测按键输入,并根据按键值执行相应的操作。

比如,用户可以通过按键来增加或减少时间,设置闹钟等。

4.LCD显示程序:LCD显示程序用于控制LCD显示屏的显示内容。

在本设计中,我们使用了点阵字符库,将时间信息以字符的形式显示在LCD屏上。

四、测试与验证为了确保我们的电子万年历设计正确无误,我们进行了以下的测试和验证:1.硬件测试:首先,我们对硬件电路进行了测试,确保每个模块都能正常工作。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告项目简介本文档将详细介绍单片机课程设计项目的背景、目标、实施过程和结果。

本项目旨在通过单片机开发一个特定功能的系统,并实现相应的硬件和软件设计。

背景单片机是一种集成电路,集中了处理器、存储器和其他外围器件的功能。

它的小巧、低功耗和低成本使得它成为嵌入式系统中常用的控制器。

单片机课程设计是大多数电子工程专业的必修课程,通过实际设计和开发单片机系统,提高学生在硬件和软件方面的实践能力。

目标本项目的主要目标是设计一个基于单片机的系统,能够完成特定任务。

我们选择了一个温度监控系统作为设计任务,主要包括以下功能: - 采集温度数据 - 实时显示温度 - 根据设定温度报警设计过程硬件设计在硬件设计方面,我们选用了ATmega328P单片机作为主控芯片,通过使用温度传感器LM35来采集温度数据。

单片机与温度传感器之间通过模拟输入引脚连接。

为了实现实时显示温度,我们选择了一个七段LED显示器,将数字信号发送至显示器实现温度的显示。

此外,我们还使用按钮来设置报警温度,并通过蜂鸣器进行报警。

软件设计在软件设计方面,我们使用C语言进行单片机程序的编写。

通过编写相应的代码,实现以下功能: 1. 初始化单片机及相关外设 2. 采集温度数据并进行处理 3. 将温度数据转换为七段LED显示所需的数字信号 4. 设置报警温度,并进行判断 5. 当温度超过报警温度时,触发蜂鸣器进行报警实施结果经过设计和实施,我们成功实现了温度监控系统的目标功能。

在系统测试中,我们能够准确采集温度数据,并通过七段LED显示器实时显示。

当温度超过设定的报警温度时,系统能够准确触发蜂鸣器进行报警。

整个系统工作稳定,达到了预期效果。

总结单片机课程设计是电子工程专业中重要的实践环节,通过实际设计和开发单片机系统,可以提高学生的动手能力和解决问题的能力。

本项目以温度监控系统为例,详细介绍了硬件和软件的设计过程,并展示了最终的实施结果。

在未来的学习和工作中,我们将继续积极运用单片机技术,深入研究和探索更多的应用领域。

单片机课程设计报告

单片机课程设计报告

中州大学工程技术学院单片机课程设计说明书课题名称秒表专业机械制造与自动化学生XX 马振杨班级机制一班学号7指导教师沈娣丽完成日期2013年9月25日目录摘要 (1)一.系统设计要求 (2)二.设计思路分析 (2)三.秒表电路原理图设计 (2)3.1系统总电路图 (2)3.2时钟电路设计 (3)3.3 输入模块电路设计 (3)3.4显示模块电路设计 (3)四.系统硬件电路设计 (3)4.1秒表显示模块 (4)4. 2控制器模块单片机的选择 (4)4. 3键盘的选择 (5)五.简易秒表软件系统设计 (6)5.1定时模块 (6)5.2 主程序流程图 (8)六.系统的调试 (8)七.心得体会 (11)八.参考文献 (12)摘要单片机在日用电子产品中的应用日益广泛,单片机控制秒表是基于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低、平安性高使用方便等优点。

秒表是人们日常生活中常常需要用到的一种工具。

本文采用AT89S51单片机从硬件和软件两方面介绍了一款简易的秒表设计过,并对硬件原理图和程序流程图作了简洁的描述。

关键字:单片机AT89C51,LED,秒表,计数器引言:随着单片机技术的不断开展,单片机在日用电子产品中的应用越来越广泛,而本文设计并制作了一款基于AT89C51的3位数码管显示的秒表,其电路简单,软硬件构造模块化,易于实现。

产品和技术革新的日新月异都让人非常惊讶。

在电子科学技术高速开展的今天,高科技产品越来越多的应用在我们的日常生活中,给我们的生活带来了非常大的方便,每时每秒我们都能感受到产品的更新换代。

像平常我们工作所用的电脑、手机和生活所用的电视机,收音机,Mp3等等,这些高科技产品给我们带来了极大的方便,但这要归功于科学技术的高速开展。

一、设计要求⑴硬件设计:根据任务要求,完成单片机最小系统及其扩展设计。

⑵软件设计:根据硬件设计完成显示功能要求,完成控制软件的编写与调试;⑶功能要求:用S1启动秒表和停顿秒表,S2键将秒表归零,按一下S1,即开场定时,在数码管上每秒加1,加到60,归零。

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单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。

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

机械与车辆学院《单片机课程设计》报告(2013-2014学年第一学期)课程设计题目:水塔水位控制系统姓名:学号:班级:指导老师:职称:时间:成绩:《单片机课程设计》考查评分表目录一、课程设计性质和目的 (4)二、课程设计的内容及要求 (4)1、硬件设计 (4)2、软件设计 (5)3、功能要求: (5)三、课程设计的进度及安排 (5)四、设计所需设备及材料 (6)五、设计思路及原理分析 (7)六、流程图及程序编写 (7)(1)根据功能要求画出控制程序流程图。

(8)(2)根据控制程序流程图编写C51程序 (8)七、调试运行 (10)1、软件测试: (10)2、硬件测试: (11)八、结果及分析 (12)九、心得体会 (13)十、参考文献 (14)十一、致谢 (14)十二、附录 (15)【1】整流器protel防真原理图: (15)【2】数字时钟 (16)一、课程设计性质和目的单片机课程设计是《单片机原理与接口技术》课程与实验结束后的一门综合性实践课。

设计一种基于单片机水塔水位检测控制系统。

该系统能实现水位检测、电机故障检测、处理和报警等功能,实现超高、低警戒水位报警,超高警戒水位处理。

介绍电路接口原理图,给出相应的软件设计流程图和汇编程序,并用Proteus软件仿真。

所选题目《水塔水位控制》紧密结合所学的主要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度,能充分发挥学生的能动性和想象力。

通过电路设计、安装、调试等一系列环节的实施,提高学生的单片机应用系统的设计能力。

相信本次的设计一定能够给老百姓的生活带来方便,也一定会具有广阔的市场前景,一定能够使我们电子设计能力得到很好的锻炼,使我们的理论和现实生活联系起来!二、课程设计的内容及要求1、硬件设计(1)用80C51设计一个单片机最小控制系统。

其中P1.0接水位下限传感器,P1.1接水位上限传感器,P1.2输出经三极管和电阻后接光电耦合器,通过继电器控制水泵,P1.3输出接LED,当出现故障时LED闪烁;当出现故障时报警。

(2)用塑料尺、导线等设计一个水塔水位传感器。

其中A电级置于水位10CM处,接5V电源的正极,B级置于水位15CM处,经4.7K下拉电阻接单片机的P1.0口,C电级置于水位的20CM处,经4.7K下拉电阻接单片机的P1.2口。

(3)设计一个单片机至水泵的控制电路。

要求单片机与水泵之间用反相器、光电耦合器和继电器控制,计算出LED限流电阻,接好继电器的续流二极管。

2、软件设计(1)根据功能要求画出控制程序流程图。

(2)根据控制程序流程图编写C51程序3、功能要求:(1)水塔水位下降至下限水位时,启动水泵,水塔水位上升至上限水位则关闭水泵。

(2)水塔水位在上、下限水位之间时,水泵保持原状态。

(3)供水系统出现故障时,自动报警。

表1 水塔水位信号状态表三、课程设计的进度及安排9 检测验收、写课程设计报告1天10 答辩1天四、设计所需设备及材料元件名原理图工作原理个数继电器线圈由电流产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁从而带动衔铁的动触点与静触点(常开触点)吸合。

继电器一般有两股电路,为低压控制电路和高压工作电路。

1光电藕合器光的发射、光的接收及信号放大。

输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。

这就完成了电—光—电的转换,从而起到输入、输出、隔离的作用。

光耦的第1引脚接三极管的集电极,第5引脚接继电器,第2和第4引脚接地,第3和第6引脚悬空1PNP 三极管三极管是一种电流放大器件,但在实际使用中常常利用三极管的电流放大作用,通过电阻转变为电压放大作用。

基极接P1.2口,发射机接+5V电源,集电极接光耦第1引脚。

1二极管单向导通,保护继电器; 1电阻100欧 5电阻4.7k 2五、设计思路及原理分析水塔水位控制原理图见图1,图中两条虚线表示正常工作情况下水位升降的上下限,在正常供水时,水位应控制在两条虚线代表的水位之间。

B测量水位下限,C测量水位上限,A接+5V,B、C接地。

图1 水塔水位检测原理图水塔无水或水位低于下限水位时,B、C为断开,B、C两点电位为零(低电平“0” ),需要水泵供水,单片机输出低电平,控制电机工作供水。

水位上升到B点,B接通,B点电位变为高电平“1”,C开关仍断开,C点仍为低电平,维持现状水泵继续供水。

当水位上升到C点时,C接通。

这时B、C均接通,B、C两点都为高电平,表示水塔水位已满,需水泵停止供水,单片机输出高电平,电机断电停止供水。

水塔水位开始下降,水位在降到B点之前,B点电位为高、C点电位为低,单片机输出控制电平维持不变,仍为高。

当水位降到B点以下,B、C两点电平都为低时,单片机输出控制电平又变低,水泵供水。

六、流程图及程序编写(1)根据功能要求画出控制程序流程图。

(2)根据控制程序流程图编写C51程序#include<reg51.h>sbit P1_0=P1^0;sbit P1_1=P1^1;sbit P1_2=P1^2;sbit P1_3=P1^3;sbit P1_4=P1^4;void delay0_2s(){unsigned char i;TMOD=0x01;for(i=0;i<4;i++){TH1=0x3C;TL1=0xB0;TR1=1;while(!TF1);TF1=0;}}void delay_1s(){ unsigned char i;for(i=0;i<5;i++){delay0_2s();}}void main(){P1=0xf0;while(1){P1_3=0;if(P1_0==0)//B{if(P1_1==0)//C{P1_2=0;delay_1s();}else{ P1_2=1;//电机P1_3=1;delay0_2s();P1_4=1;delay_1s();}}else{if(P1_1==1){//CP1_2=1;delay_1s();}elsedelay_1s();}}}七、调试运行1、软件测试:运用Protul软件进行仿真检验。

在元件库中找到所需要的元器件,把它们按照原理图的构想依次连接起来,反复检查线路会不会出错。

待画完图,就可以开始仿真电路图了。

给单片机导入预先编程好的程序“.hex”文件,点击仿真。

仿真图可以运行,但是电机在B,C都为低电平的情况下没有运转。

说明电路有部分地方短路或者断路了,观察仿真图中的电位情况也许可以找到问题的所在。

经过多次的检查发现,各点的电位并没有像想象中的那样有什么不妥。

现在就要搞清楚仿真中的元器件的所有主要参数是否和实际的参数相符合。

查看资料,对于继电器,它本身的线圈电阻是在400欧左右,在查看仿真中的元器件的参数,不难发现原始数据和实际相差很大,它给的是理想线圈,也就是没有内阻。

这样就如预期的那样找到电机不转的原因了。

原始数据没有进行改变;查找资料,得知光电耦合器的发光二极管的压降为1.15~1.5v,最大电流为60mA,电流传输比CTR 为20~70%。

通过已知的条件求出每条线路上所需要的电阻大小。

对各各元器件的初参数设置完毕,启动仿真,整体像想象中的那样正常工作!软件仿真结束,仿真图里的数值引用到实际电路的焊接中。

2、硬件测试:焊接完整体的板件,开始测试板子电路是否能够完成所需要的功能。

应为电路的原版是根据仿真电路出来的,所以不一定能够一次性就完成设计。

对于板子上的器件来说,有两个是特别容易烧掉的,PNP三极管和4N25光电耦合器。

因为它们的工作电压较低和工作电流很小,所以要特别的注意。

虽然已经给了足够的保护还是不能太掉以轻心要是烧了就没有其他器件可以换了。

首先,测试光电耦左边能否正常工作。

把三极管的B极接于低电平,给予E 极高电平,测试两管脚之间的电压降是多少。

经测试三极管正常工作,可是光电耦合器的1,2管脚的电压异常偏高。

断去电源,用万用表的测试端测试1,2管脚是否击穿,发现并没有完全短路,有可能是封装的时候没有装好。

其次,测试光电耦合器右端是否能正常工作。

给继电器加上12v的电压,用导线短接光电耦合器的4,5号管脚,继电器能发出啪啪声,也就是说明光电耦合器右端能够正常工作。

再次,对整块板进行调试。

给光电耦合器两边电路都通上电,给三极管的B端输入一个低电平,继电器不工作。

说明光电耦合器无法工作。

应当更换光电耦合器;换完光电耦合器后的检测。

换完光电耦合器后进行整块板子的调试,给三极管B极一个低电平继电器能够工作。

插到单片机上给一个周期性的低电平,继电器能够周期性的发出啪啪声,整体调试通过八、结果及分析调试:将光耦的第二引脚和第四引脚接地,PNP三极管的发射极接+5V电源。

然后分别用光耦的第五引脚和+12V电源线接继电器的线圈两端,稍停片刻后,若能听到吧嗒一声,则证明光耦、继电器能够正常工作,然后进行接铜片,用开发板防真,进行水泵实验,电路能够实现表一的真值表功能。

硬件电路如下:九、心得体会结束为期两周的单片机课程设计,让我加深了对单片机的理解,由单片机控制系统可以应用到生活中的很多地方,解决生活中的一些简单的用电子控制的问题,使我意识到了单片机的重要性,两周以来,我们分别进行了课程设计的硬件部分的电路焊接和软件部分的电路图的设计和原理图的设计和制作,无论是硬件电路的焊接和软件的设计和仿真都需要我们认真的把每一部分的原理弄懂,并且要把他们连接起来,这个过程,要求我们要很有耐心和认真的心态。

由于以前对单片机的理解不够深刻,使我在单片机课程设计的过程中遇到了很多困难,比如说protues的仿真过程中,在调试出问题后,我虚心地请教同学,也得到了同学的热心帮忙,真正让我体会到了虚心使人进步这句话的深刻含义。

十、参考文献[1] 王静霞主编,单片机应用技术,电子工业出版社,2009.[2]徐玮主编,C51单片机高效入门,机械工业出版社,2006.[3] 张永枫主编,单片机应用实训教程,清华大学出版社,2008[4]李常庆主编,数字电子技术第三版,机械工业出版社,2008[5]杨素行主编.模拟电子技术简明教程,高等教育出版社,2010年十一、致谢感谢我们的吴明友老师,组员在这两个星期以来对我的辅导和帮助,在我工作过程中对我的支持和配合。

十二、附录【1】整流器protel防真原理图:【2】整流器protel防真波形图:【2】数字时钟#include<reg52.h>#define uchar unsigned char //定义无字符变量#define uint unsigned int//uchar SMG_duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//是数码管的段选位uchar SMG_wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 是数码管的位选位sbit k1=P3^0; //位定义P3.0为启动按钮sbit k2=P3^1; //位定义P3.1复位按钮sbit k3=P3^2; //位定义P3.2停止按钮sbit d1=P0^0; //位定义P0.0为LED灯控制端uint i,second,minute,n,x,b,c,a,flag1,flag2;void delay(uchar i); //延时函数void XSSHIZHONG(); //显示数字时钟void DingShi(); //用于定时分钟函数void delay5ms(); //按键的消抖5msvoid ShiZhong(); //时钟控制函数控制时钟的启动,复位,停止,设定设定的操作void main(){TMOD=0x12; // 定时器1工作方式1和定时器0工作方式2 TH1=(65536-50000)/256; // 定时时间为50MS 设初值TL1=(65536-50000)%256;TR1=0; // 开定时器1EA=1; // 开总中断ET1=1; // 开定时器T1允许位EX1=1; // 开放外部中断0允许位IT1=1; // 置外部中断为边沿(下降沿4)触发方式 P2=0x00; // P2口为段选P1=0xff; // P1口为位选while(1){XSSHIZHONG();ShiZhong();}}void DingShiqing1() interrupt 3 //用定时器1 中断号为3{TH1=(65536-50000)/256; //定时时间为50MSTL1=(65536-50000)%256; //i++; //if(i==2) // 100ms到,即0.1秒,即0.1秒加1 {i=0;n++;if(n==10) //1000ms时n清零{n=0;second++;if(second==60) // 60秒到时,分钟加1,秒钟清零{second=0;minute++;if(minute==60) // 60分钟到时,分钟清零minute=0;}}}}void weidu1() interrupt 2 //外部中断1{unsigned int z;flag1=1;b=second;c=n;a++;if(a==60)a=0;for(z=0;z<40;z++)DingShi();}void delay(uchar i){unsigned char j,k;for(k=0;k<i;k++)for(j=0;j<255;j++);}void XSSHIZHONG(){P1=SMG_wei[6];P2=SMG_duan[n]; //显示时钟的0.1秒位 delay(2);P1=SMG_wei[5];P2=0x40; // "-"delay(2);P1=SMG_wei[3];P2=SMG_duan[second/10]; //显示时钟的秒的十位delay(2);P1=SMG_wei[4];P2=SMG_duan[second%10]; // 显示时钟的秒的个位delay(2);P1=SMG_wei[2];P2=0x40; // "-"delay(2);P1=SMG_wei[0];P2=SMG_duan[minute/10]; // 显示时钟的分钟的十位 delay(2);P1=SMG_wei[1];P2=SMG_duan[minute%10]; // 显示时钟的分钟的个位 delay(2);}void DingShi(){P1=SMG_wei[6];P2=0x00;delay(2);P1=SMG_wei[5];P2=0x00;delay(2);P1=SMG_wei[3];P2=0x00;delay(2);P1=SMG_wei[4];P2=0x00;delay(2);P1=SMG_wei[2];P2=0x00;delay(2);P1=SMG_wei[0];P2=SMG_duan[a/10]; // 显示时钟的分钟的十位delay(2);P1=SMG_wei[1];P2=SMG_duan[a%10]; // 显示时钟的分钟的个位delay(2);}void ShiZhong(){if((a==minute)&&(b==second)&&(c==n)) // 判断是否到了定时的时间{if(flag2==1) //flag2为标志位,在K1启动的时候启动定时{flag2=0;d1=0; //定时时间到,LED灯亮minute=0; //时钟复位,即分钟,秒,0.1秒都清零second=0;n=0;}}if(k1==0) //判断是否需要启动时钟{delay5ms(); //延时消抖5msif(k1==0){TR1=1; //打开定时器1if(flag1==1) //设标志位,只有在按下定时按键才进入这个函数{flag1=0;flag2=1;}}}if(k2==0) // 判断时钟是不是要进行复位{delay5ms();if(k2==0){n=0;second=0;minute=0;}}if(k3==0) // 判断时钟是不是应该停止{delay5ms();if(k3==0){TR1=0; //关闭定时器1}while(!k3); }}void delay5ms(){uint y;TH0=6;TL0=6;for(y=0;y<20;y++){TR0=1;while(!TF0);}}【4】数字时钟仿真电路图。

相关文档
最新文档