单片机课程设计实验报告
单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。
单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。
第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。
比方:小灯得点亮就没有用到中断可以先不用看。
如此可以防止知识过多记不住的苦恼。
关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。
第三:程序不要只是看别人得,一定要本人写过才是本人的。
开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。
明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。
当你本人能写出来的时候说明你真明白了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运转时不能实现理想的现象。
这时有人就晕了不知该如何办,然后就去征询别人。
当别人找出征询题出在哪里时就会恍然大悟。
事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。
本人一定要掌握处理征询的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个特别有用。
通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。
单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机课程设计实习报告(共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、熟悉本专业自己设计的“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。
单片机课程设计报告

单片机课程设计报告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 实施步骤三:系统实现在系统设计完成后,我开始进行系统实现。
单片机实验报告

一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。
2. 掌握单片机最小系统的搭建方法。
3. 学习使用单片机编程软件进行程序编写和调试。
4. 通过实际操作,加深对单片机应用的理解。
二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。
2. 软件环境:Keil uVision5、Proteus仿真软件。
三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。
(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。
② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。
2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。
(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。
② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。
3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。
(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。
② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。
单片机实训实验报告

一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。
2. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
单片机设计实验报告简单计算器的设计

目录1.总体方案选择 (2)1.1 实验要求: (2)1.2方案设计 (2)2.硬件原理电路图的设计及分析 (3)2.1主控模块 (3)2.1.1 STC89C52单片机主要特性 (3)2.1.2 STC89C52单片机管脚图 (4)2.1.3 STC89C52单片机的中断系统 (5)2.1.4 STC89C52单片机的定时/计数器 (5)2.2矩阵键盘模块设计: (5)2.2.1矩阵键盘原理介绍 (5)2.2.2矩阵键盘电路设计 (6)2.3 LCD液晶显示器简介 (7)2.3.1液晶模块简介 (7)2.3.2液晶显示部分与89S52的接口 (8)3系统软件设计 (10)3.1系统软件流程图 (10)3.2系统整体原理图 (11)4.系统调试 (12)4.1硬件调试 (12)4.2软件调试 (12)4.3调试结果 (13)5.心得体会131.总体方案选择1) 1.1 实验要求:2)通过小键盘实现数据的输入, 并在LED数码管上显示3)实现+、-、*、/4)在LED数码管上显示结果并有清零, 退出功能1.2方案设计本系统以STC89C52单片机为控制核心, 对系统进行初始化, 主要完成对键盘的响应、液晶显示灯功能的控制, 起到总控和协调各模块之间工作的作用。
单片机通过检测键盘读取使用者按下对用功能的按键, 然后通过单片机内部运放把运算的结果显示在液晶屏幕上。
图1-1系统结构框图本系统结构如图1-1所示, 本设计可分为以下模块: 单片机主控模块、键盘模块、功率放大模块、闹铃模块、按键设置模块。
下面对各个模块的设计方案逐一进行论证分析。
2.硬件原理电路图的设计及分析2.1主控模块STC89C52有40个引脚, 4个8位并行I/O口, 1个全双工异步串行口, 同时内含5个中断源, 2个优先级, 2个16位定时/计数器。
STC89C52的存储器系统由4K的程序存储器(掩膜ROM), 和128B的数据存储器(RAM)组成。
单片机课程设计报告

单片机课程设计报告单片机课程设计报告一、设计目的本次设计旨在通过对单片机的学习和实践,锻炼学生的综合能力和创新思维,提高学生对单片机工作原理的理解和应用能力。
二、设计内容本次设计以控制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灯与其他传感器结合,实现更复杂的控制。
总结:通过本次单片机课程设计,我不仅对单片机有了更深入的认识,也锻炼了实践能力和创新思维。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告学号: **********姓名:***班级: 13电子信息工程指导老师:**苏州大学电子信息学院2016年4月随着时代的进步和发展,单片机技术已经成为一种比较成熟的技术,普及到我们生活、工作、科研等各个领域。
本次课程设计包含四个基于STC89C52单片机的设计,分别是:基于单总线数字式温度传感器DS18b20的数字温度计的设计;基于2K位串行CMOS 的EEPROM AT24C02的数字密码锁的设计;基于SPI 接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。
关键词:单片机 DS18B20 AT24C02 DS1302 NRF24L01摘要 (1)目录 (2)第1章基于DS18B20的数字温度计设计 (3)1.1 设计要求 (3)1.2 系统组成 (3)1.3 系统设计 (3)1.3.1 硬件设计 (3)1.3.2软件设计 (4)1.4 设计结果 (6)第2章基于AT24C02的电子密码锁设计 (7)2.1 设计要求 (7)2.2 系统组成 (7)2.3 系统设计 (8)2.3.1 硬件设计 (8)2.3.2 软件设计 (9)2.4 设计结果 (9)第3章基于DS1302的电子日历的设计 (11)3.1 系统功能 (11)3.2 系统组成 (11)3.3 系统设计 (11)3.3.1 硬件设计 (11)3.3.2 软件设计 (13)3.4 设计结果 (14)第4章基于NRF24L01的无线通信系统的设计 (15)4.1 系统功能 (15)4.2 系统组成 (15)4.3 系统设计 (15)4.3.1 硬件设计 (15)4.3.2 软件设计 (16)4.4 设计结果 (16)总结 (17)第1章基于DS18b20的数字温度计设计1.1 设计要求(1)采用DS18b20与单片机STC89C52相结合设计数字温度计,实现液晶屏实时显示当前温度;(2)读取并显示DS18B20的序列码。
1.2 系统组成本方案设计的系统由单片机系统、数字式温度传感器DS18B20和LCD1602显示模块组成。
DS18B20:DS18B20是单线式数字温度传感器,与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯;有温度测量范围宽,测量精度高的特点;同时它的供电方式灵活,可以通过内部寄生电路从数据线上获取电源;测量参数可配置,其测量分辨率可通过程序设定为 9~12 位。
LCD1602:1602液晶也叫1602字符型液晶,是一种专门用来显示字母、数字、符号的点阵型液晶模块,它由若干个5x7或者5x11的点阵字符位组成,每个点阵字符位都可以用显示一个字符。
1.3 系统设计1.3.1硬件设计图1-1 数字温度计硬件原理图在本次系统设计中,STC89C52单片机作为控制器,完成所有功能的控制,包括:(1)DS18B20数字温度传感器的初始化和读取温度值;(2)LCD1602显示驱动与控制。
以数字式温度传感器DS18B20作为传感元件。
DS18B20是单总线数字式温度传感器,采用单总线协议,即与单片机接口仅需占用一个I/O端口,无需任何外围器件,直接将温度转化为数字信号,以数字码形式串行输出。
可由一根I/O数据线既供电又传输数据。
DS18B20直接读取被测温度值,送到LCD1602上进行显示,LCD1602可以显示两行字符,每行16个字符,只能显示ASCII码字符。
本实验中需要显示的数据是温度和DS18B20的唯一序列码。
总体架构如图1-1所示。
将18B20的单总线DQ与单片机接口P2.2相连,通过时序控制首先对其进行初始化,然后发送读写和温度转换命令,使DS18B20内部温度传感器开始工作,最后从温度寄存器中读取两字节二进制码,转换为温度值后显示在LCD上。
同理,对于序列码的读取,也要在18B20初始化成功的基础上,发送读ROM命令(该命令只适用于总线上存在单只DS18B20),将读取的字符显示在液晶屏上。
1.3.2 软件设计主程序:图1-2 主程序流程图➢先进行初始化,该初始化包括DS18b20的初始化和液晶屏的初始化。
DS18b20的初始化是为器件应答准备,作为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备;液晶屏的初始化是为显示温度准备;➢调用显示子程序显示当前检测到的温度值;➢不断刷新温度数据进行实时显示。
DS18B20的初始化:图1-3 DS18B20初始化时序图初始化流程:➢将总线拉低480us~960us➢拉高总线,若DS18B20做出反应会将在15us~60us后将总线拉低➢等待DS18B20拉低总线图1-4 DS18B20初始化流程图DS18B20读字节和写字节子程序:图1-5 写字节子程序流程图图1-6 读字节子程序流程图写字节:写周期最少为60微秒,最长不超过120微秒。
写周期一开始主机先把总线拉低1微秒表示写周期开始。
随后若主机想写0,则将总线置为低电平,若主机想写1,则将总线置为高电平,持续时间最少60微秒直至写周期结束,然后释放总线为高电平至少1微秒给总线恢复。
而DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。
读字节:读周期是从主机把单总线拉低1微秒之后开始,先释放单总线为高电平,以让DS18B20把数据传输到单总线上。
作为从机DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。
若要送出1则释放总线为高电平。
主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。
采样期内总线为高电平则确认为1。
完成一个读时序过程,至少需要60微秒才能完成。
读取温度子程序:图1-7 读取温度子程序流程图读取温度流程:➢跳过ROM操作 (0CCH)➢发送温度转换命令 (044H)➢跳过ROM操作 (0CCH)➢发送读取温度命令 (033H)➢读取温度值 (0BEH)1.4 设计结果能够在液晶屏的第一行显示DS18b20的序列码,在第二行显示温度并且不断刷新实时显示,分辨率设置为12位。
图1-8 设计测试结果图第2章基于AT24C02的数字密码锁设计2.1 设计要求(1)设置初始密码为“000000”(2)进入密码锁后,按键S11修改密码,并在液晶显示密码(3)S12为确定键,修改成功(4)S13为重新设置键(5)S14为退出密码锁(6)在未进入密码锁时,S11,S12,S13,S14无效2.2系统组成本设计由STC89C52单片机芯片和具有2K位串行CMOS 的EEPROM AT24C02以及LED数码管显示模块组成。
AT24C02:(1)模块原理图图2-1 AT24C02模块原理图(2)发送器件地址的格式图2-2 发送器件地址的格式图高四位1010是24Cxx系列的固定器件地址,接下来是A2、A1、A0是根据器件连接来决定,我们的原理图都接地所以是000。
R/W为是选择读还是写,1的时候是读,0的时候是写。
(3)芯片工作时序●初始化(scl=H,sda=H)●写入过程➢发送器件地址(0XA0):SendByte(0xa0);➢发送要写入24C02的内存地址:SendByte(addr);➢发送要写入的数据: SendByte(dat);●读出过程➢发送写入的器件地址(0XA0)➢发送要读的24C02的内存地址➢发送读出的器件地址(0XA1)➢读取数据(4)AT24C02的数据发送时序➢总线起始信号图2-3 总线起始信号时序图➢总线应答信号➢总线结束信号图2-4 总线结束信号时序图2.3 系统设计2.3.1硬件设计图2-5 硬件原理图单片机是电子密码锁系统的主控制器。
AT24C02是密码储存电路,它的SCL、SDA端分别接单片机的P2.1、P2.0端口,用于与单片机之间读写操作的数据传输;WP接低电平表示单片机可以对器件进行正常的读/写操作;A0、A1、A2是器件地址输入端,都接低电平表示只有一个AT24C02被器件寻址。
用户设置的密码存放在AT24C02中,当需要更改或读取用户密码时,只需对AT24C02里的数据更改或读取。
矩阵键盘电路主要作用是对密码进行输入、修改、确定等操作,它由行线和列线组成,按键位于行、列的交叉点上,行列分别连接到按键开关的两端。
无按键按动作时列线处于高电平状态;有按键按下时,交点的行线和列线相通,列线电平状态将由与此列线相连的行线电平决定。
显示电路由LED数码管和LED指示灯组成。
2.3.2 软件设计主程序:图2-6 主程序流程图➢ 先对数码管的显示进行初始化;➢ 按键扫描判断是否输入密码,如果输入密码并且输入正确,则密码锁开启; ➢ 按键扫描判断是否进行密码的更改或者密码锁的关闭;➢ 输入更改后的密码,若正确则密码锁开启;➢ 假如系统断电或密码锁关闭按键按下则密码锁关闭。
AT24C02子程序:图2-7 AT24C02子程序流程图2.4 设计结果功能键:S1---S10 数字键0-9S11---更改密码 S12---更改密码完毕后确认 S13---重试密码、重新设定S14---关闭密码锁初始密码:000000 密码位数:6位密码锁的初始密码为000000,密码输入正确后可启动密码锁对密码进行修改的操作,六为密码分别对应LED 灯D1,D2,D3,D4,D5,D6,密码所有位数输入正确则六个LED等被点亮,并且D7,D8也被点亮;若某一位密码不正确,则所对应的LED灯不亮且D7,D8两个LED灯也不亮。
图2-8 设计测试结果图第3章基于DS1302的电子日历设计3.1 设计要求(1)在LCD上显示当前的时间信息,即年、月、日、星期、时、分、秒(2)具有时间的调校功能(3)显示当前调节对象(4)日期时间加调整与保存。
3.2 系统组成本设计由STC89C52单片机最小系统、实时时钟芯片DS1302以及显示液晶LCD1602组成。
DS1302采用SPI三线接口与CPU进行通信,仅用到三根信号线:RST(复位),I/O(数据线),SCLK(同步串行时钟)。
并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
3.3 系统设计3.3.1 硬件设计图3-1 电子日历硬件原理图本系统主要由ST89C52主控模块、时钟复位电路模块、DA1302电路模块、按键扫描模块和LCD1602液晶显示模块组成。