中南大学单片机课设报告

合集下载

单片机课设报告

单片机课设报告

单片机课设报告
一、引言
单片机是一种集成电路,它可以完成各种不同的功能。

在本次课设中,我们将使用单片机来实现一个简单的计算器。

二、设计思路
本次设计采用了AT89C51单片机作为控制器,通过按键输入数字和运算符,然后将结果显示在数码管上。

具体实现步骤如下:
1. 按键扫描模块:通过对按键进行扫描,获取用户输入的数字和运算符。

2. 数字存储模块:将输入的数字存储到寄存器中。

3. 运算符判断模块:判断输入的运算符类型,并进行相应的计算。

4. 结果显示模块:将计算结果显示在数码管上。

三、硬件设计
1. AT89C51单片机:作为控制器,负责整个系统的控制和数据处理。

2. 数码管:用于显示计算结果。

3. 按键:用于输入数字和运算符。

4. 电源模块:提供系统所需的电源。

四、软件设计
1. 系统初始化:包括端口初始化、定时器初始化等操作。

2. 按键扫描程序:通过对按键进行扫描,获取用户输入的数字和运算符,并将其存储到寄存器中。

3. 运算程序:根据输入的运算符类型,进行相应的计算。

4. 结果显示程序:将计算结果显示在数码管上。

五、实现效果
经过测试,本次设计可以正确地完成加减乘除四种运算,并将结果显示在数码管上。

六、总结
本次课设通过对单片机的学习和应用,使我们更深入地了解了单片机的工作原理和应用场景。

同时,也锻炼了我们的动手能力和团队合作能力。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告一、设计目的本课程设计旨在通过对单片机的学习和实践,培养学生的嵌入式系统设计能力。

通过设计报告的撰写,学生需要整理和总结自己在课程设计中的工作,提高自己的表达和沟通能力。

二、设计背景随着科技的迅猛发展,嵌入式系统在各个领域得到广泛应用。

单片机作为嵌入式系统设计的重要组成部分,具有体积小、功耗低、可靠性高等优势,被广泛应用于家电、智能家居、汽车电子等领域。

因此,掌握单片机的基础原理和应用技巧对于工程师来说至关重要。

三、设计内容本次课程设计的主要内容为设计并实现一个简单的单片机应用系统。

具体要求如下:1. 选取一个合适的单片机型号,并给出详细的理由;2. 设计一个实际应用场景,如温度监测、电子琴等,要求具备一定的实际意义;3. 硬件方面,设计电路及相关外围电路,如传感器、显示器等;4. 软件方面,设计控制程序,实现所选应用场景的功能;5. 进行系统集成和调试,确保系统正常工作;6. 撰写设计报告,对设计过程和结果进行详细说明。

四、设计方案1. 单片机的选择在选择单片机时,需要考虑应用需求和成本因素。

根据本次设计的要求,我们选择了XX单片机,这款单片机具有性能稳定、易于编程和丰富的外围接口等特点,非常适合本次设计的需求。

2. 应用场景的设计本次设计的应用场景为温度监测系统。

随着人们对室内温度的要求越来越高,设计一个简单且准确的温度监测系统对于提高生活质量至关重要。

我们将使用温度传感器和数码显示器来实现温度的监测和显示功能。

3. 硬件设计在硬件设计方面,我们将按照以下步骤进行:a) 选择合适的温度传感器,将传感器与单片机进行连接;b) 设计电源电路和信号采集电路,确保传感器与单片机之间的正常通信;c) 设计数字显示电路,将单片机采集到的温度数值进行显示。

4. 软件设计软件设计主要包括编写单片机控制程序。

我们将按照以下步骤进行:a) 初始化单片机和相关外围设备,确保其正常工作;b) 采集传感器的温度数值,并进行数据处理;c) 控制数码显示器,将温度数值显示在屏幕上。

单片机课程设计报告

单片机课程设计报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)ok3w_ads(“s004”);ok3w_ads(“s005”);精选范文:单片机课程设计实习报告(共6篇)实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?单片机仿真器、编程器、实验仪三合一综合开发平台的使用。

(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。

(4)了解掌握单片机芯片的烧写方法与步骤。

(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。

(6)掌握利用protel 99 se绘制电路原理图及pcb图。

(7)了解pcb板的制作腐蚀过程。

二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。

(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。

(6)制板。

首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb 板上布线图外的铜全部后,将其取出,清洗干净。

(7)焊接。

将所给元器件根据原理图一一焊至pcb板相应位置。

(8)调试。

先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。

(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop2sjmp loop4loop2: mov p1,arlc ajnc loop3sjmp loop1loop3: acall delaymov p1,arrc ajnc loop1sjmp loop3loop4: acall delaydjnz r1,loop5sjmp loop6loop5: mov p1,arrc a[单片机课程设计实习报告(共6篇)]篇一:单片机实习报告课程设计专业综合实习总结专业班级:学生学号:学生姓名:指导教师:实习时间:机电工程学院目录1.实习目的和意义 21.1实习目的 (2)1.2实习意义 (2)2.实习内容 2 3. 硬件介绍 23.1 总原理图 (3)3.2 LED显示模块............................................................... 6 3.3 数码管显示模块............................................................ 7 3.4 键盘模块 (9)3.5 A/D转换模块............................................................... 10 3.6 D/A转换模块 (13)3.7 中断嵌套模块 (14)3.8 时钟日历芯片模块 (15)4. 程序流程图 174.1 LED显示模块……………………………………………………… 17 4.2 数码管显示模块…………………………………………………… 19 4.3 键盘模块……………………………………………………………21 4.4 A/D转换模块.................................................................. 23 4.5 D/A转换模块 (23)4.6 中断嵌套模块 (24)4.7 时钟日历芯片模块 (24)5. 实习心得体会………………………………………………… 26 附录:程序清单……………………………………………………271、实习目的和意义1.1 实习目的1、熟悉本专业自己设计的“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。

单片机课程设计报告 (2)

单片机课程设计报告 (2)

单片机课程设计报告1. 引言本文为单片机课程设计报告,主要介绍了课程设计的背景、目的、设计方案、实施过程以及结果分析和总结。

2. 背景单片机是嵌入式系统的核心部件,广泛应用于各个领域。

作为计算机科学与技术专业的学生,掌握单片机的基本原理和应用是必不可少的。

因此,本次课程设计旨在通过实践,加深对单片机的理解和应用能力。

3. 目的本次课程设计的目的是设计一个基于单片机的智能温度监控系统。

该系统能够实时监测环境温度,并通过显示屏展示当前温度值,并在温度超过设定阈值时发出警报。

4. 设计方案4.1 硬件设计本设计使用STC89C52单片机作为控制核心,配合温度传感器和液晶显示屏,实现温度监测和显示的功能。

温度传感器负责采集环境温度,将采集到的数据发送给单片机进行处理;液晶显示屏用于显示当前温度值和警报信息。

4.2 软件设计软件设计分为两个模块:温度采集和温度监控。

温度采集模块通过单片机的ADC接口获取温度传感器的模拟信号,将其转化为数字信号,并保存在单片机的内存中。

温度监控模块不断读取内存中的温度值,并与设定的阈值进行比较,如果温度超过阈值,则发出警报信号,同时在液晶显示屏上显示警报信息。

5. 实施过程5.1 硬件实施首先,根据设计方案的要求,将STC89C52单片机、温度传感器和液晶显示屏组装在一起,搭建出硬件平台。

接下来,使用面包板和杜邦线等连接元件,将各个模块按照设计方案进行连线。

最后,使用电源适配器给整个系统供电。

5.2 软件实施软件实施主要分为两个步骤:编写硬件控制程序和编写温度监控程序。

硬件控制程序主要负责初始化硬件设备和处理硬件输入输出;温度监控程序则负责实现温度采集和温度监控逻辑。

在编写硬件控制程序时,需要使用STC89C52的GPIO接口对传感器和显示屏进行控制。

在编写温度监控程序时,需要使用STC89C52的ADC接口进行温度采集,以及使用GPIO接口对警报信号和显示屏进行控制。

6. 结果分析和总结经过实施过程的努力,我们成功地完成了基于单片机的智能温度监控系统。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告1. 引言本文档旨在总结并详细介绍单片机课程设计的相关内容。

本次课程设计的主题为XXXX,我将在接下来的章节中介绍该课程设计的目标、设计思路、具体实施过程以及结论。

2. 设计目标本次单片机课程设计的目标是XXXX。

通过该设计,我希望能够进一步提升对单片机的理解和应用能力,掌握单片机的基本原理、编程技巧以及相关技术。

3. 设计思路在进行单片机课程设计之前,我对基于单片机的XXXX进行了详细的调研和学习,确定了设计思路和方案。

该设计主要分为以下几个步骤:3.1 步骤一:需求分析在开始设计之前,我首先进行了对需求的分析。

通过与指导老师和同学们的交流,我了解到XXXX,因此在设计中需要考虑到XXXX的特点和要求。

3.2 步骤二:系统设计基于对需求的分析,我进行了系统设计。

该系统涵盖了硬件和软件两个方面。

硬件方面,我选择了XXXX作为主控芯片,并设计了适配的电路板;软件方面,我使用XXXX编程语言进行开发,并设计了相应的算法和逻辑控制。

3.3 步骤三:系统实现在完成系统设计后,我开始进行系统实现。

首先,我搭建了相应的实验环境和开发平台,确保能够顺利进行编程和仿真。

然后,根据系统设计中的硬件和软件需求,逐步实现了系统功能。

3.4 步骤四:系统测试在完成系统实现后,我进行了系统测试。

通过模拟实际应用场景,对系统进行了功能性测试和稳定性测试,保证系统可以正常运行并且满足设计需求。

4. 设计实施在设计实施阶段,我按照设计思路和步骤进行了详细的操作和编程工作。

具体实施过程如下:4.1 实施步骤一:需求分析在这一步骤中,我与指导老师进行了深入的交流,详细了解了项目的需求和目标。

4.2 实施步骤二:系统设计基于需求分析的结果,我进行了系统设计。

首先,我绘制了电路图,并选择了合适的单片机作为主控芯片。

在软件方面,我使用XXXX编程语言进行开发。

4.3 实施步骤三:系统实现在系统设计完成后,我开始进行系统实现。

单片机原理及应用课程设计报告

单片机原理及应用课程设计报告

单片机原理及应用课程设计报告
一、概述
单片机原理及应用课程设计是一门理论与实践相结合的课程,旨在培养学生掌握单片机的基本原理和应用技能。

通过本次课程设计,我深入了解了单片机的内部结构和工作原理,掌握了单片机的基本操作和编程方法,学会了使用单片机进行简单的应用开发。

二、设计内容
本次课程设计的主题是设计一个基于单片机的智能小车。

小车采用红外传感器进行避障,使用电机驱动小车前进、后退和转弯。

同时,小车还具有遥控控制功能,可以通过遥控器控制小车的运动。

在实现这些功能的过程中,我深入了解了单片机的定时器、中断、串口通信等内部资源的使用方法。

三、实验结果
经过多次实验和调试,智能小车最终实现了预期的功能,能够自动避障并按照遥控器的指令进行运动。

实验结果表明,单片机具有很高的实用性和应用价值。

四、总结
通过本次课程设计,我不仅掌握了单片机的应用技能,还培养了解决问题的能力和创新思维。

我相信这次课程设计将对我未来的学习和工作产生积极的影响。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告单片机课程设计报告一、设计目的本次设计旨在通过对单片机的学习和实践,锻炼学生的综合能力和创新思维,提高学生对单片机工作原理的理解和应用能力。

二、设计内容本次设计以控制LED灯的闪烁为主题,在实现基本闪烁功能的基础上,加入了渐变效果和呼吸灯效果等功能。

三、设计过程1. 硬件设计:(1)准备材料:单片机主板、蓝色LED灯、电阻、杜邦线等;(2)连线:按照电路图将单片机与蓝色LED灯连接起来;(3)测试:使用万用表对电路进行测试,确保电路连接正常。

2. 软件设计:(1)编写主程序:在Keil C中编写主程序,设置LED灯闪烁的时间间隔;(2)编写闪烁函数:编写一个函数使LED灯在设定的时间间隔内闪烁;(3)编写渐变函数:利用PWM(脉冲宽度调制)技术,使LED灯的亮度逐渐增加或减小;(4)编写呼吸灯函数:利用PWM技术,使LED灯呼吸般变亮变暗;(5)调试程序:将程序下载到单片机主板上,通过调试工具进行调试,确保LED灯能按照设计要求正常闪烁、渐变和呼吸。

四、设计结果经过反复调试和修改,最终实现了LED灯的闪烁、渐变和呼吸灯等效果。

LED灯的闪烁时间可以通过修改程序中的参数进行调整,渐变和呼吸灯效果可以根据需求进行改动。

五、心得体会通过本次设计,我对单片机的原理和应用有了更深入的了解。

在实践中,我遇到了许多问题,比如电路连接错误、程序调试失败等,但通过钻研、查找资料和与同学、老师讨论,我逐渐解决了这些问题。

这个过程让我学会了不断尝试和学习,培养了我的耐心和解决问题的能力。

六、改进意见在进行本次设计时,由于时间和条件的限制,我只实现了LED灯的基本闪烁、渐变和呼吸灯效果,但这些功能在实际应用中已经比较常见。

如果有更多的时间和资源,我可以进一步完善程序,增加更多创新的功能,或是将LED灯与其他传感器结合,实现更复杂的控制。

总结:通过本次单片机课程设计,我不仅对单片机有了更深入的认识,也锻炼了实践能力和创新思维。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告本文主要是讨论单片机课程设计。

从实验内容、步骤以及设计思路来详细阐述单片机课程设计的重要性和实践意义。

一、实验内容单片机课程设计是电子信息类专业中不可或缺的一门课程。

它主要涉及到汇编语言、C语言编程和硬件电路设计等知识,通过这门课程的学习,学生们能够深入了解单片机的原理和应用,将软件和硬件的知识结合起来,完成单片机的功能设计。

具体实验内容一般包括单片机的基本原理、编程以及外部设备的应用等。

学生可以通过单片机实验板来实现各种功能,例如:LED灯跑马灯、数码管的显示、温度测量、语音播报等等。

这些实验内容不仅可以帮助学生理解单片机的运行原理,同时也可以提高学生的情境意识和实践能力。

二、实验步骤在进行单片机课程设计实验的时候,需要提前制定实验计划,包括实验步骤、程序设计以及测试等内容。

下面是一个简单的实验步骤示例:步骤一:在电脑上安装单片机开发软件(例如Keil、MPLAB 等),选择适合的芯片型号步骤二:编写程序代码,实现指定的功能,例如闪烁LED灯等步骤三:将程序烧录到单片机中,一般通过USB转串口的方式进行烧录步骤四:将单片机模块接入电路板上,进行实际运行测试步骤五:根据测试结果进行调试和修改,保证程序运行稳定步骤六:根据实验数据撰写课程设计报告,评估实验结果和学习效果三、设计思路在进行单片机课程设计的过程中,需要积极探索新的设计思路,发挥自己的想象力和创造力,充分利用已有的资源和知识。

设计思路主要包括以下几个方面:1、创新思维:在实验设计中,可以采用新的思路、新的方法来解决问题,充分发挥自己的想象力和创造力。

2、开放思维:打破固有的思维模式,与他人交流、思考、合作,获得更广阔的思路和设计方案。

3、整合思维:将已有的知识、技能、经验整合,形成新的设计思路和创意,将多个元素组合成更复杂的设计方案。

4、实践思维:在实验过程中,不断实践、优化和改进,获得更好的设计结果和实践经验。

综上所述,单片机课程设计是电子信息类专业中非常重要的一门课程。

单片机课设报告

单片机课设报告

单片机课设报告在单片机实验课程中,我们的课设是实现一个电子计算器。

该计算器具有简单的四则运算功能,可以对两个数进行加法、减法、乘法和除法运算,并且能够显示结果。

首先,我们选择了一颗适合课设需求的单片机,我们选择了STC89C52单片机。

该单片机有足够的I/O口和定时器、中断等功能,能够满足我们实现计算器的要求。

接下来,我们设计了计算器的界面,使用了4×4的矩阵键盘作为输入设备,使用一个LCD液晶显示屏作为输出设备。

我们将4×4的矩阵键盘与单片机的I/O口相连,通过矩阵键盘的扫描原理实现对键盘的输入检测。

LCD液晶显示屏与单片机的I/O口相连,通过单片机的程序控制来显示结果。

然后,我们编写了控制程序。

首先,我们在程序中定义了各个键的扫描码,通过程序扫描键盘,接收用户的输入。

然后,根据输入的运算符号,我们根据用户的选择调用相应的函数进行加法、减法、乘法或除法运算,并将结果显示在LCD液晶屏上。

为了能够处理大整数运算,我们使用了字符串来存储计算结果。

最后,我们进行了实验验证。

我们使用示波器来检测单片机的工作情况,通过观察波形来确认程序的正确性。

同时,我们还使用了示波器来检测LCD液晶显示屏的工作情况,确认其能够正确显示结果。

通过本次实验,我们学会了如何使用单片机来实现简单的计算器功能。

我们掌握了矩阵键盘的扫描原理,学会了使用LCD液晶显示屏来输出结果。

我们还通过实验验证了程序的正确性,并且能够通过示波器来检测单片机的工作情况。

这次实验不仅巩固了我们的理论知识,还提高了我们的动手实验能力,为我们今后的学习和工作打下了坚实的基础。

单片机课程设计实习报告2篇

单片机课程设计实习报告2篇

单片机课程设计实习报告 (2)单片机课程设计实习报告 (2)精选2篇(一)实习报告1. 实习概述在本次实习中,我参与了单片机课程设计项目的开发工作。

该项目的目标是设计并实现一个功能完善的单片机系统,能完成一些常见的任务,如控制LED灯的闪烁、采集温湿度数据等。

2. 实习过程在实习的第一天,我与项目组的其他成员一起讨论了系统的设计方案。

我们决定采用STM32单片机作为硬件平台,并选择了Keil作为开发环境。

然后,我们开始了系统的搭建工作。

在搭建系统的过程中,我主要负责编写程序代码。

我首先学习了STM32单片机的相关知识,并了解了它的编程方式。

然后,我根据系统的需求,编写了一些基本的程序代码,如控制LED灯的闪烁、读取温湿度传感器的数据等。

在编写代码的过程中,我遇到了一些问题。

例如,我发现LED灯无法正常闪烁,经过调试后发现是我在代码中写错了引脚的定义。

我还遇到了一些编译错误和逻辑错误,通过查阅资料和与同事的讨论,我逐渐解决了这些问题。

在实习的最后几天,我与项目组的其他成员一起测试了系统的功能,并进行了修复和优化。

我们使用示波器和逻辑分析仪对系统进行了验证,确保系统的稳定性和可靠性。

3. 实习总结通过参与单片机课程设计实习项目,我对单片机的硬件和软件实现有了更深入的了解。

我学会了如何使用Keil编写程序代码,并通过实践掌握了调试和排除故障的技巧。

同时,我也学会了如何与团队成员合作,共同完成一个项目。

通过实习,我不仅提高了自己的技术能力,还培养了解决问题的能力和团队合作能力。

我相信这些经验和技能对我的未来发展将非常有帮助。

4. 改进建议在实习过程中,我发现有些文档和资料的描述不够清晰和详细,对我理解项目的要求和实现方式造成了一些困扰。

因此,我建议在今后的实习项目中,关注文档和资料的编写,确保其准确性和完整性。

另外,我还建议在项目开始之前进行一些充分的准备工作,包括学习相关知识和技术,以及对项目的需求和实现方式进行详细的讨论和规划。

中南大学单片机课设报告

中南大学单片机课设报告
串行 EEPROM 是基于 I2C-BUS 的存储器件,遵循二线制协议,由于其具有 接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中 得到大量的应用。随着世界上各公司对该器件的开发,市场上推出了许多牌号 的 24C02 器件,甚至还有一些冒牌的 24C02 器件,这样就使批量生产的单片机 控制系统的质量出现时好时坏的问题。笔者经过大量的设计实践和试验摸索找 出了 24C02 在应用中之所以出现数据被冲掉的原因,并总结了一套保护 24C02 数据安全的软硬件设计方法。电路图如图 3.8 所示。
#endif
#include"i2c.h"
/************************************************************************** *****
第 2 页 共 39 页
中南大学信息科学与工程学院—单片机课程设计实验报告
一、概述
随着科技水平的发展和社会生活水平的提高,人们对日常生活中安全保险 器件的要求越来越高,电子安全密码锁是基于这一要求的密码器件。目前使用 的密码锁种类繁多,如指纹密码锁,红外密码锁,GPS 密码锁等,各具特色。 我们设计的是一款具有报警功能的密码锁,简单易行,成本低,适用于家庭, 宾馆,办公室等场所。此密码锁具有输入密码,输入正确提示,输入错误指示, 密码显示,密码出错报警,控制开锁的功能。具体功能如下:
第 4 页 共 39 页
中南大学信息科学与工程学院—单片机课程设计实验报告
3.4 报警电路设计 报警电路由蜂鸣器构成,直接与单片机 P1.5 连接。 LSI 是一个 5V 的
压电蜂鸣器,当对其 1、2 号引脚施加 5V 电压时,便会鸣叫。由图 3.4 可知, 当输出为低电平时,三极管导通,蜂鸣器响;输出高电平时,三极管截止,蜂 鸣器停止鸣叫。通过控制输入信号端输出低电平的时间长短来控制蜂鸣器长叫 或短叫。 3.5 电子锁控制电路

单片机课程设计报告

单片机课程设计报告

单片机课程设计 报告一、课程目标知识目标:1. 学生能理解单片机的基本概念,掌握其工作原理及结构组成。

2. 学生能掌握单片机编程的基本语法,如指令系统、寄存器等。

3. 学生能了解并运用单片机在现实生活中的应用,如智能家居、机器人控制等。

技能目标:1. 学生具备使用开发板进行单片机程序编写、调试的能力。

2. 学生能通过小组合作,设计并实现简单的单片机控制系统,培养动手实践能力。

3. 学生能运用所学知识解决实际问题,具备一定的创新能力和问题解决能力。

情感态度价值观目标:1. 学生通过单片机课程学习,培养对电子技术的兴趣和热情,增强学习动力。

2. 学生在学习过程中,养成团队协作、沟通交流的良好习惯,增强集体荣誉感。

3. 学生了解单片机在我国科技发展中的重要性,培养国家使命感和社会责任感。

课程性质分析:本课程为单片机课程设计,旨在让学生通过实践操作,掌握单片机的基本原理和编程技术,提高解决实际问题的能力。

学生特点分析:本年级学生具备一定的电子技术基础知识,对单片机有一定了解,但编程能力和实践操作经验有限。

教学要求:1. 注重理论与实践相结合,强化学生的动手实践能力。

2. 采用项目驱动教学法,引导学生主动探究、解决问题。

3. 培养学生的团队协作能力,提高沟通表达水平。

4. 结合生活实际,激发学生学习兴趣,培养创新思维。

二、教学内容根据课程目标,本章节教学内容分为以下三个部分:1. 单片机基础理论- 理解单片机的概念、发展历程及应用领域。

- 掌握单片机的硬件结构、工作原理及性能指标。

- 学习单片机的指令系统、寄存器、I/O口编程等基本知识。

教学内容对应教材章节:第一章 单片机概述、第二章 单片机硬件结构及工作原理。

2. 单片机编程与调试- 学习单片机编程语言(如C语言、汇编语言)及开发环境。

- 掌握单片机程序编写、调试方法,了解程序下载、运行过程。

- 学习中断、定时器、串行通信等单片机功能模块的使用。

教学内容对应教材章节:第三章 单片机编程语言、第四章 单片机编程与调试。

单片机课设报告

单片机课设报告

单片机课设报告引言单片机是一种集成电路,内含有处理器、内存、输入/输出设备等功能。

由于其体积小、功耗低、成本低等特点,广泛应用于各个领域。

在单片机的课程中,课设是非常重要的一部分,通过课设可以帮助学生加深对单片机原理和应用的理解。

本报告将围绕单片机课设展开讨论,包括设计思路、实验结果以及改进方向等。

设计思路在开始课设之前,我们需要明确设计的目标和要求。

对于单片机课设,一般会有以下几个方面的考虑: 1. 题目选择:选择一个与课程内容相关且有挑战性的题目,可以进一步巩固和应用所学的知识。

2. 功能设计:确定单片机需要实现的功能,包括输入、输出、界面显示等方面,要求明确、合理。

3. 硬件选择:根据题目要求选择合适的硬件设备,如传感器、触摸屏等,保证能够满足功能需求。

4. 软件设计:确定程序的框架结构,选择适当的编程语言和开发工具,编写相关的控制算法和界面设计。

5. 调试和测试:完成软硬件的连接和调试,确保功能的正确实现,并进行相关的测试和性能评估。

课设实验结果在具体实施课设的过程中,我们遵循了以上的设计思路,并成功完成了课设实验。

下面是实验结果的详细介绍:硬件搭建我们选择了XX传感器和XX触摸屏作为硬件设备,通过与单片机的连接,实现了对传感器数据的采集和触摸屏的操作。

这些硬件设备的选择和连接方式在实验中起到了关键的作用,确保了实验的顺利进行。

软件开发我们使用C语言作为主要的开发语言,搭建了一个简单而实用的控制系统。

利用单片机的GPIO口和串口功能,我们实现了与传感器和触摸屏的数据交互,以及与外部设备的通信。

通过编写相应的驱动程序和控制算法,我们成功实现了所需的功能,并在PC端编写了一个界面程序,用于显示和控制单片机的运行状态。

功能测试在开发完成后,我们对课设的功能进行了全面测试。

通过对传感器和触摸屏的模拟输入,以及对外部设备的控制,我们验证了系统的正确性和稳定性。

测试结果表明,课设设计的功能能够正常运行,满足了预期的要求。

中南大学单片机实验报告

中南大学单片机实验报告

中南大学单片机实验报告中南大学单片机实验报告引言:单片机是一种集成电路芯片,具有微型计算机的功能。

它广泛应用于各个领域,如电子设备、通信、汽车控制等。

在中南大学,单片机实验是电子信息类专业学生必修的课程之一。

本篇报告将对中南大学单片机实验进行总结和分析。

一、实验目的单片机实验的主要目的是让学生了解单片机的基本原理和应用,培养学生的实践能力和创新思维。

通过实验,学生可以掌握单片机的编程技巧、电路设计和硬件连接方法。

二、实验内容中南大学单片机实验包括多个实验项目,涵盖了单片机的基本知识和应用。

其中,最常见的实验项目包括LED灯控制、数码管显示、按键输入、温度传感器应用等。

每个实验项目都有明确的实验要求和实验步骤,学生需要按照要求完成实验并提交实验报告。

三、实验过程在单片机实验中,学生首先需要理解实验要求和相关知识。

然后,他们需要设计电路连接图,选择适当的元件和器件进行硬件连接。

接下来,学生需要编写程序代码,将所学知识应用到实际中。

完成代码编写后,学生需要进行调试和测试,确保实验结果符合预期。

最后,学生需要整理实验报告,包括实验目的、实验步骤、实验结果和分析等。

四、实验结果通过中南大学单片机实验,学生可以获得丰富的实践经验和知识。

他们可以掌握单片机的基本编程方法和硬件连接技巧。

在实验中,学生能够成功实现LED 灯的控制、数码管的显示、按键的输入和温度传感器的应用等。

通过实验结果的分析,学生可以发现问题并加以解决,提高自己的实践能力和创新思维。

五、实验心得中南大学的单片机实验给我留下了深刻的印象。

通过实验,我不仅学到了单片机的基本原理和应用,还提高了自己的动手能力和解决问题的能力。

在实验过程中,我遇到了许多困难和挑战,但通过不断的努力和尝试,我最终成功完成了实验任务。

我发现,实验不仅是理论知识的应用,更是一种锻炼和成长的机会。

六、实验改进建议虽然中南大学的单片机实验已经很好地培养了学生的实践能力,但我认为还可以进一步改进。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告导言随着科技的不断进步和发展,单片机技术在各个领域中的应用日益广泛。

作为电子工程的重要组成部分,单片机课程的设计也具有重要意义。

本报告将分享我在单片机课程设计中的学习和实践经验,并对所设计的项目进行详细分析和讨论,以期对相关领域的学习者提供参考和启发。

一、课程设计背景介绍单片机课程设计是电子工程相关专业学生的必修课程之一。

它旨在培养学生的实际应用能力、创新思维和问题解决能力。

在本次设计中,我选择了一个智能家居控制系统作为课程设计的主题。

通过设计和实现该系统,我将掌握单片机的硬件连接和软件编程,并在实践中进一步理解和应用相关知识。

二、系统设计1. 系统概述智能家居控制系统是一种可以通过手机或者其他设备进行远程控制的家居系统。

该系统可以实现对家中电器、照明、安防等设备的远程控制和自动化管理。

通过单片机控制芯片、无线通信模块和相应的传感器,可以实现对家居环境的监测和控制。

2. 硬件设计系统硬件设计主要包括单片机控制芯片的选择、传感器的选用和连接、通信模块的设置等。

在本设计中,我选择了一款常用的单片机控制芯片,并添加了温湿度传感器、光照传感器和人体红外传感器。

通过这些传感器,系统可以实时监测室内温度、湿度、光强度以及人体动静情况,并根据设置的规则进行相应的控制。

3. 软件设计系统软件设计主要包括单片机的编程、手机APP的开发和服务器的搭建等。

在本设计中,我使用C语言编写了单片机的程序,并通过串口通信与传感器和通信模块进行数据交互。

同时,我还使用Android开发平台进行了手机APP的开发,用户可以通过APP与家居控制系统进行交互和控制。

为了实现远程控制和数据传输,我搭建了一台服务器,并编写了相应的脚本和接口。

三、系统实现和测试1. 硬件连接和调试在硬件设计完成后,我进行了各个部件的连接和调试。

通过仔细查阅硬件连接图和相应的接口说明,我按照规定的步骤进行了连接,并通过测试仪器对各个部件的工作状态进行了检查和调试。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及工作方式。

2. 学生能掌握单片机编程的基本语法,具备编写简单程序的能力。

3. 学生能了解单片机在各种实际应用中的功能,如智能家居、机器人等。

技能目标:1. 学生能够运用所学知识,独立完成单片机的硬件连接与调试。

2. 学生能够运用编程软件,编写简单的单片机程序并进行烧录。

3. 学生能够通过小组合作,完成一个具有实际应用价值的单片机项目。

情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发探索精神。

2. 学生通过课程学习,提高问题解决能力和团队协作能力。

3. 学生能够认识到单片机技术在实际应用中的价值,增强社会责任感和创新意识。

课程性质:本课程为实践性较强的学科,要求学生结合理论知识,动手实践,培养实际操作能力。

学生特点:六年级学生具备一定的逻辑思维能力,对新事物充满好奇,但需加强团队协作和问题解决能力的培养。

教学要求:注重理论与实践相结合,关注学生的个体差异,提高学生的动手能力和创新能力。

通过课程学习,使学生在知识、技能和情感态度价值观方面均取得明显成果。

教学设计和评估将围绕具体学习成果展开,确保课程目标的实现。

二、教学内容1. 单片机基础理论:包括单片机的基本原理、内部结构、工作方式等,对应教材第一章内容。

- 单片机的发展历程与分类- 单片机的内部结构与功能- 单片机的工作原理与指令系统2. 单片机编程语言:学习单片机编程的基本语法和编程技巧,对应教材第二章内容。

- 汇编语言的编写与烧录- C语言的编写与烧录- 常用编程指令的应用3. 单片机硬件连接与调试:学习如何搭建单片机硬件系统并进行调试,对应教材第三章内容。

- 单片机最小系统搭建- 外围电路的设计与连接- 硬件调试方法与技巧4. 单片机应用案例:分析并实践单片机在各种实际应用中的功能,对应教材第四章内容。

- 智能家居系统设计- 机器人控制程序编写- 物联网应用案例分析5. 实践项目:结合所学知识,完成一个具有实际应用价值的单片机项目,为期4周。

单片机课程设计实验报告

单片机课程设计实验报告

单片机课程设计实验报告一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握其内部结构及工作流程。

2. 使学生掌握单片机编程的基本语法和编程技巧,能独立完成简单的程序编写。

3. 帮助学生了解单片机在现实生活中的应用,提高对新技术、新领域的认识。

技能目标:1. 培养学生运用单片机进行实验设计和实践操作的能力。

2. 培养学生分析问题、解决问题的能力,提高创新思维和动手实践能力。

3. 提高学生的团队协作和沟通能力,学会在实验过程中相互交流、共同进步。

情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养主动学习的习惯。

2. 培养学生严谨、细致的实验态度,养成良好的实验操作习惯。

3. 增强学生的自信心和责任感,使他们认识到学习单片机对国家科技发展的意义。

课程性质分析:本课程为单片机课程设计实验,侧重于实践操作和实际应用。

课程要求学生具备一定的电子技术基础和编程能力,通过实验深入了解单片机的工作原理和应用领域。

学生特点分析:本课程面向高年级学生,他们在之前的学习中已掌握了基本的电子技术和编程知识,具备一定的自学能力和动手实践能力。

但学生在单片机应用方面的实践经验不足,需要通过本课程加强实践锻炼。

教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。

2. 注重启发式教学,引导学生主动思考、探索,培养学生的创新精神和实践能力。

3. 关注学生的个体差异,给予个别辅导,确保每位学生都能达到课程目标。

二、教学内容1. 单片机基础知识:- 单片机原理与结构- 单片机内部资源及功能- 单片机编程语言(汇编语言、C语言)2. 单片机编程与实验:- 基本输入输出编程- 定时器、中断编程- 模数转换、串行通信编程3. 单片机应用案例:- 实例分析:温度控制器、智能小车等- 创新设计:学生自主选题,设计单片机应用项目4. 实验操作与调试:- 实验步骤与方法- 常用工具与仪器的使用- 故障分析与调试技巧教学大纲安排:第一周:单片机基础知识学习,包括原理、结构、编程语言等第二周:基本输入输出编程,实验一:LED灯控制第三周:定时器、中断编程,实验二:简易电子时钟第四周:模数转换、串行通信编程,实验三:温度传感器数据采集第五周:单片机应用案例分析,学生自主选题,设计单片机应用项目第六周:实验操作与调试,完成设计项目,撰写实验报告教材章节关联:教学内容与教材《单片机原理与应用》相关章节紧密关联,具体包括:- 第一章:单片机概述- 第二章:单片机的结构与原理- 第三章:单片机编程语言- 第四章:单片机内部资源及应用- 第五章:单片机实验与调试教学内容确保科学性和系统性,以培养学生的实际操作能力为目标,注重理论与实践相结合,提高学生的创新能力和实践技能。

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]第一篇:单片机课程设计报告《单片机课程设计报告》学校:专业:班级:姓名:学号:指导教师:摘要由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。

通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。

关键词单片机,程序,流水灯,数码管,温度计,键盘扫描,定时器等。

实验内容一、课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。

在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。

实验一:键盘操作实验实验要求:通过本次实验实现对键盘的控制,操作数码管的显示数字。

实验程序:#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar codetable_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar codetable_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0 0,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};voidled_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE [0XA000]=0XFF;XBYTE[0XB000]=0XFF;}void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){if(count==10000)count=0;XBYTE[0X8000]=table_16_1[coun t%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA00 0]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[co unt/1000];} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d] ;while(!key_test());key=keyscan();if(key==11){shi = a*10+b;fen = c*10+d;flag=0;} } } void TIME_DIS(){if(tim==60){ fen++;tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1 [fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=ta ble_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)fla g=1;TIME_SET();//XBYTE[0X8000]=table_16_1[temp];//time_display();TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。

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

中南大学课程设计报告题目:带音乐的电子密码锁班级:电子信息姓名:学号:指导老师:陈科文、张金焕日期:2015年4月20日摘要本次课程设计主要是利用AT89C51单片机及一些芯片实现电子密码锁功能。

首先介绍了系统的具体功能,在此基础上将整个系统划分为键盘模块,显示模块,报警模块,控制模块,电源模块和单片机模块;然后给出了每个模块的硬件电路图,并对电路原理进行了简要说明;最后给出了系统相关模块的子程序和系统主程序。

ABSTRACTThis curriculum design is in the use of AT89C51 microcontroller, and some chip to achieve electronic code lock function. In the first introduced the specific function of the system, on this basis, the whole system is divided into a keyboard module, display module, alarm module, control module, power module and microcontroller module; then gives each module hardware circuit, and circuit theory a brief description; Finally, the main system-related subroutines and system modules.关键词:单片机,1602,24c02,模块Keywords: MCU, 1602,24c02,Modules目录一、概述 (3)二、设计思路及流程 (3)三、硬件电路设计 (4)四、软件设计 (7)4.1显示子程序................................................................ 错误!未定义书签。

4.2报警子程序................................................................ 错误!未定义书签。

4.3键盘子程序................................................................ 错误!未定义书签。

4.4音乐发声子程序.......................................................... 错误!未定义书签。

4.5系统存储函数24c02.................................................... 错误!未定义书签。

4.6延时子程序................................................................ 错误!未定义书签。

4.6系统主函数main......................................................... 错误!未定义书签。

五、实验结果演示 (39)六、总结 (39)七、参考文献 (39)一、概述随着科技水平的发展和社会生活水平的提高,人们对日常生活中安全保险器件的要求越来越高,电子安全密码锁是基于这一要求的密码器件。

目前使用的密码锁种类繁多,如指纹密码锁,红外密码锁,GPS密码锁等,各具特色。

我们设计的是一款具有报警功能的密码锁,简单易行,成本低,适用于家庭,宾馆,办公室等场所。

此密码锁具有输入密码,输入正确提示,输入错误指示,密码显示,密码出错报警,控制开锁的功能。

具体功能如下:密码输入:用户通过矩阵键盘输入密码后,系统自动闭锁。

使用确定按键结束密码输入。

提示报警:系统使用不同的声音作为用户不同操作的提示。

音乐表示密码输入正确,滴滴声表示密码输入错误。

液晶屏显示:使用1602作为显示屏,并有提示的功能。

电子锁控制:当用户密码输入正确,则显示right open,若密码输入错误,则系统闭锁,通过掉电复位。

二、设计思路及流程密码所要完成用户密码输入,显示和控制报警的功能,因此可分为键盘模块,显示模块,报警模块,电子锁控制模块和单片机模块。

图2.1 系统模块图各模块设计思路如下:用户通过键盘模块输入密码和其他功能,密码设置为4位,功能键有2个,为确定键和重置密码键,使用单片机开发板独立按键。

系统使用LCD显示屏。

报警模块用来产生报警或提示声音,有蜂鸣器和定时中断构成。

电子锁控制模块用于控制开锁或闭。

单片机模块采用AT89C52,用于接收键盘输入,控制显示,报警,电子锁等模块。

三、硬件电路设计3.1键盘电路设计本系统采用独立按键设计,有6个键位。

分别是确认、重置、个位加一、十位、百位、千位加一。

分别于单片机的P3.0-P3.5相连。

3.3显示电路设计本次设计的显示电路由LCD实现,1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。

1602型LCD可以显示2行16个字符,有8位数据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。

液晶显示的电路图如图3.3所示。

3.4报警电路设计报警电路由蜂鸣器构成,直接与单片机P1.5连接。

LSI是一个5V的压电蜂鸣器,当对其1、2号引脚施加5V电压时,便会鸣叫。

由图3.4可知,当输出为低电平时,三极管导通,蜂鸣器响;输出高电平时,三极管截止,蜂鸣器停止鸣叫。

通过控制输入信号端输出低电平的时间长短来控制蜂鸣器长叫或短叫。

3.5电子锁控制电路电子锁控制电路主要由继电器、三极管、发光二极管组成。

电子锁控制电路图如图3.5所示。

继电器线圈的一个接线端接VCC,另一端接NPN三极管的集电极。

三极管的基极通过电阻接单片机的引脚。

当输出高电平时,三极管导通,继电器线圈得电,触电闭合,发光二极管发光,相当于电子锁闭锁;当输出为低电平时,三极管截止,继电器线圈失电,触电释放,发光二极管熄灭,相当于电子锁闭锁。

3.6单片机电路单片机电路主要由单片机、振荡电路和复位电路组成。

电路图如图3.7所示。

AT89C52的P0口用于输出显示器段码。

P1.1口用于控制蜂鸣器鸣叫,P1.0、P1.1口用于控制EEPROM的存储设置,P2口用于控制行列矩阵键盘,P1.3口用于控制蜂鸣器的鸣叫。

3.7 EEPROM存储器电路串行EEPROM是基于I2C-BUS 的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。

随着世界上各公司对该器件的开发,市场上推出了许多牌号的24C02器件,甚至还有一些冒牌的24C02器件,这样就使批量生产的单片机控制系统的质量出现时好时坏的问题。

笔者经过大量的设计实践和试验摸索找出了24C02在应用中之所以出现数据被冲掉的原因,并总结了一套保护24C02数据安全的软硬件设计方法。

电路图如图3.8所示。

图3.8 EEPROM存储芯片电路图四、软件设计软件设计主要是对键盘进行扫描,根据按键控制报警电路、电子锁电路,并将结果显示。

因此,整个软件分为I2c子程序、蜂鸣器子程序、显示子程序及主程序。

I2c子程序通过总线进行对e2prom的控制。

显示子程序针对硬件电路中的显示电路,实现数据的显示。

报警子程序针对硬件电路中的报警电路,控制蜂鸣器鸣叫。

主程序通过调用各个子程序,实现系统功能。

#ifndef __I2C_H_#define __I2C_H_#include<reg51.h>//---重定义关键词---//#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif//--定义使用的IO口--//sbit I2C_SCL = P2^1;sbit I2C_SDA = P2^0;//--声明全局变量--//void I2C_Delay10us();void I2C_Start();void I2C_Stop();uchar I2C_SendByte(uchar dat, uchar ack);uchar I2C_ReadByte();#endif#include"i2c.h"/************************************************************************** ****** 函数名 : Delay1us()* 函数功能 : 延时* 输入 : 无* 输出 : 无*************************************************************************** ****/void I2C_Delay10us(){uchar a, b;for(b=1; b>0; b--){for(a=2; a>0; a--);}}/************************************************************************** ****** 函数名 : I2C_Start()* 函数功能 : 起始信号:在I2C_SCL时钟信号在高电平期间I2C_SDA信号产生一个下降沿* 输入 : 无* 输出 : 无* 备注 : 起始之后I2C_SDA和I2C_SCL都为0*************************************************************************** ****/void I2C_Start(){I2C_SDA = 1;I2C_Delay10us();I2C_SCL = 1;I2C_Delay10us();//建立时间是I2C_SDA保持时间>4.7usI2C_SDA = 0;I2C_Delay10us();//保持时间是>4usI2C_SCL = 0;I2C_Delay10us();}/************************************************************************** ****** 函数名 : I2C_Stop()* 函数功能 : 终止信号:在I2C_SCL时钟信号高电平期间I2C_SDA 信号产生一个上升沿* 输入 : 无* 输出 : 无* 备注 : 结束之后保持I2C_SDA和I2C_SCL都为1;表示总线空闲*************************************************************************** ****/void I2C_Stop(){I2C_SDA = 0;I2C_Delay10us();I2C_SCL = 1;I2C_Delay10us();//建立时间大于4.7usI2C_SDA = 1;I2C_Delay10us();}/************************************************************************** ****** 函数名 : I2cSendByte(uchar num)* 函数功能 : 通过I2C发送一个字节。

相关文档
最新文档