基于STC89C52单片机最小系统的设计
基于STC89C52单片机最小系统的设计

基于STC89C52单⽚机最⼩系统的设计基于STC89C52单⽚机最⼩系统的设计1 设计内容及要求设计题⽬:基于STC89C52单⽚机最⼩系统的设计及制作。
设计要求:输⼊信号为传感器、电压、电流、开关等形式,单⽚机型号可以⾃⼰选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显⽰器等。
(注:可以采⽤单⽚机、传感器电路模块以及集成电路芯⽚制作。
)使⽤器材:感光板及常⽤PCB制版器材、常⽤电⼦装配⼯具、万⽤表、⽰波器及电⼦元器件(详见附录)。
2 STC89C52单⽚机2.1 STC89C52单⽚机简介单⽚微型计算机简称单⽚机,是典型的嵌⼊式微控制器(Microcontroller Unit),常⽤英⽂字母的缩写MCU表⽰单⽚机,它最早是被⽤在⼯业控制领域。
单⽚机由芯⽚内仅有CPU的专⽤处理器发展⽽来。
最早的设计理念是通过将⼤量外围设备和CPU集成在⼀个芯⽚中,使计算机系统更⼩,更容易集成进复杂的⽽对体积要求严格的控制设备当中。
⽤专业语⾔讲,单⽚机就是在⼀块硅⽚上集成了微处理器、存储器及各种输⼊/输出接⼝的芯⽚。
2.2 单⽚机的特点(1)⾼集成度,体积⼩,⾼可靠性单⽚机将各功能部件集成在⼀块晶体芯⽚上,集成度很⾼,体积⾃然是最⼩的。
芯⽚本⾝是按⼯业测控环境要求设计的,内部布线很短,其抗⼯业噪声性能优于⼀般通⽤的CPU。
单⽚机程序指令,常数及表格等固体化在ROM中不易破坏,许多信号通道均在⼀个芯⽚内,故可靠性⾼。
(2)控制功能强为了满⾜对控制对象的要求,单⽚机的指令系统均有极丰富的条件:分⽀转移能⼒、I/O⼝的逻辑操作机位处理能⼒,⾮常适⽤于专门的控制功能。
(3)低电压,低功耗,便于⽣产携带为了便于⼴泛使⽤于便携式系统,许多单⽚机内的⼯作电压仅为 1.8V~3.6V,⼯作电流仅为数百微安。
(4)易扩展⽚内具有计算机正常运⾏所需的部件。
芯⽚外部有许多供扩展⽤的三总线及并⾏、串⾏输⼊/输出管脚,很容易构成各种规模的计算机应⽤系统。
Get清风单片机最小系统的设计与制作 单片机课程设计

单片机最小系统的设计与制作单片机课程设计单片机课程设计报告——单片机最小系统的设计与制作学院:信息与电气工程学院姓名:马杰学号:0804040234指导老师:曾照福设计时间:2021.5.30—2021.6.10目录摘要1一、设计与制作目的2二、设计与制作要求2三、设计方案比拟说明3四、原理说明54.1 单片机的选择54.2 显示电路64.3 4*4矩阵键盘电路和4个独立键盘电路74.4 存储电路84.6 LCD接口114.7 程序下载接口114.8 电源电路134.9 温度测量接口134.10 跳线电路13五、程序流程图及说明错误!未定义书签。
六、程序清单及注释15七、硬件调试及调试结果15八、软件测试及其结果17数码管测试178.2 键盘测试178.3 24C02存储电路测试188.4 DS1302 实时时钟电路测试188.5 DS18B20温度测量电路测试18九、测试仪器及测试结果19十、结果分析及设计心得20参考文献21附录1:原理图、PCB图以及实物图21 附录2:程序清单21附录3:元器件清单86摘要随着单片机的应用越来越广泛,比方日常生活中的电冰箱、洗衣机、微波炉等等,都是用单片机作为MCU来控制这些器件,对于我们来说,学习单片机是非常有必要的,而单片机的最小系统更是我们学习单片机的根底。
此次需要设计的单片机最小系统中,除了电源电路、复位电路、晶振电路外,还需要4*4矩阵键盘、4个独立键盘、8位数码管显示电路、存储电路、实时时钟电路、温度测量接口、LCD接口、程序下载接口。
因为单片机只有32个口,所以这32口如何合理的分配给这些模块是本设计的重点,但是由于大多数同学编程还不是过硬,故最好选择直接用I/O进行控制的系统,而不要用锁存器等在编程中要设置相应模式的器件,这个要求使得对单片机的32个I/O如何分配的问题更加重要。
在设计完这个单片机最小系统后,最起码要实现以下功能:数码管能显示数字和字母;设置按键和数码管,当按下相应键时,可以在数码管上显示设置的数字和字母,如1、2、3、A、b等等;设置数码管能使其显示数字和字母;设置数码管和24C02芯片,能在掉电后还显示掉电之前的内容;设置DS1302芯片,能用数码管或液晶显示年月日和实时时间;设置DS18B20芯片,能用数码管或液晶显示实时温度。
基于 STC89C52 单片机的智能小车设计

能智造与信息技术基于STC89C52单片机的智能小车设计李亚振(安阳师范学院河南安阳455000)摘要:本设计主要器件有STC89C52单片机、RZ7899驱动芯片和N20直流减速电机,使用两节锂电池共7.4V 作为系统供电,经LM7805稳压芯片降压到5V 后为单片机系统供电,通过红外循迹模块和避障模块,实现S 形曲线行驶和避障功能。
通过控制电机驱动模块控制电机输出转速,改变车辆移动状态,实现转弯。
在行驶过程中,通过蜂鸣器播放音乐或充当汽车喇叭,同时设置灯光进行照明。
软件程序采用C 语言,通过keil 软件实现对小车的控制。
通过pcb 设计和实物调试,验证了该智能小车虽设计简单,但功能强大,应用广泛。
关键词:智能小车STC89C52单片机循迹PCB 设计中图分类号:TP23文献标识码:A文章编号:1674-098X(2022)04(a)-0058-04当前,社会新工艺、新技术快速发展,人工智能技术逐步成熟,并广泛应用于工业、农业、医疗等行业。
智能小车作为人工智能领域研究的重要分支,可以代替人类在一些危险环境下完成相关工作。
本设计以STC89C52单片机作为小车控制系统的核心处理器,包括驱动、红外循迹、避障和音乐播放等模块,通过对各模块的设计,全面说明该智能小车工作的基本原理。
1系统总体设计目标本设计增添红外线遥控电路,控制智能小车运动,功能除了前进后退,还可以按照设置路线行驶并躲避障碍物,利用C 语言程序设置智能小车的运动状态,在编写代码时写入不同的音乐模块,调试实现小车的多功能运行[1]。
系统设计框图如图1所示。
2系统模块设计2.1电源输入模块本设计选用7.4V 可充电锂电池,可以循环使用,经过LM7805稳压芯片后,给单片机和外围器件提供供电。
电机驱动的芯片由7.4V 锂电池直接提供。
二极管D1起着防反接的作用,LED2作为电源指示灯,当开关SW1打开时,系统就会开始供电。
电源输入原理图如图2所示。
温度控制系统设计

温度控制系统摘要 : 随着微机测量和控制技术的迅速开展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本设计论述了一种以STC89C52单片机为主控制单元,以 DS18B20为温度传感器的温度控制系统。
该控制系统可以实时存储相关的温度数据并记录当前的时间。
系统设计了相关的硬件电路和相关应用程序。
硬件电路主要包括STC89C52单片机最小系统,测温电路、实时时钟电路、 LCD 液晶显示电路以及通讯模块电路等。
系统程序主要包括主程序,读出温度子程序,计算温度子程序、 LCD 显示程序以及数据存储程序等。
关键词:STC89C52, DS18B20,LCDAbstract:Along with the computer measurement and control technology of the rapid development and wide application,based on singlechip temperature gathering and control system development and application greatly improve the production of temperature in life level of control. This design STC89C52 describes a kind ofmainly by MCU control unit, for temperature sensor DS18B20 temperature control system. The control system can real-time storage temperature data and recordrelated to the current time. System design related hardware circuit and related applications. STC89C52 microcontroller hardware circuit include temperaturedetection circuit smallest system, and real-time clock circuit, LCD displaycircuit, communication module circuit, etc. System programming mainly includemain program,read temperature subroutine,the calculation of temperature subroutines, LCD display procedures and data storage procedures, etc.Keywords: STC89C52, DS18B20,LCD目录1前言 (1)2总体方案设计 (2)方案设计 (2)方案论证 (3)方案选择 (3)3单元模块的设计 (4)单片机模块 . (4)18B20 温度模块 (5)显示器模块 . (6)4软件设计 (7)系统总框图 (7)温度采集子程序 (8)5系统功能与调试方法介绍 (9)系统功能 (9)系统指标 (9)系统调试 (9)6参考文献 (10)附录 1:相关设计图 (11)附录 2:元器件清单 (13)附录 3:源程序 (14)1前言工业控制是计算机的一个重要应用领域,计算机控制系统正是为了适应这一领域的需要而开展起来的一门专业技术,它主要研究如何将计算机技术、通过信息技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。
单片机最小系统拓展板(89c52单片机)

方法二是执行“Edit”(编辑)菜单下的“Delete”命令,然后将光标移到待删除的元件上,单击鼠标左键即可迅速删除光标下的元件,然后单击鼠标右键退出删除状态。
如图2.12所示:
图2.12元件的删除
点击ctrl+delete,就可以将元件删除。
工具栏中的 将所需要的字母标在图中,先点击 移至图中,后按键盘上的Tab键,会出现图2.15所示对话框。
通过工具栏中的 将所需要的字母标在图中,先点击 移至图中,然后双击鼠标左键,也会弹出如图2.16所示的对话框。其中“Global”键可以对设计的图中所有标注进行设置。
图2.16“Net Label”对话框
图2.14原理图例
(1)单击导线工具 。
(2)将鼠标指向欲连接端点,使其出现小圆点,按住鼠标左键拖拽出一根导线并指向欲连接另一个端点,使其出现小圆点,放开鼠标键,则完成连线。
(3)通过这种方法,将需要的元件一个一个用线连接起来,图中需要有节点的地方只需要用鼠标在需要节点的地方双击就可以形成节点了,节点的符号是 最后可以形成图2.14。
(3)在元件列表内找出并单击放置所需的元件。
2.在放置元件操作过程中,一般优先安排原理图中核心元件的位置。在如图所示的电路中,核心元件是NPN三极管。因此,通过滚动元件列表窗内的上下滚动按钮,在元件列表窗口内找到并单击“2N2222A”元件。
3.按同样方法,将电容、电阻等元件的电气图形符号粘贴、固定在编辑区内。如图2.11所示:
单片机按键复位电路
功能简介:为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计Design of STC89C52 Minimum System1.Design Content and RequirementsDesign XXX: Design and n of STC89C52 Minimum System based on Single-chip puter.Design Requirements: The input signal can be in the form of sensors。
voltage。
current。
switches。
etc。
The single-chip model can be chosen by yourself (51.128.430.etc.)。
The output control signal can be analog voltage or digital signal。
and the control object can be motor (DC motor。
XXX)。
switch。
display。
etc。
(Note: Single-chip puter。
sensor circuit module and integrated circuit chip can be used for n.)Equipment used: Photographic plate and common PCB n equipment。
common electronic assembly tools。
multimeter。
oscilloscope and electronic components (see appendix for details).2.STC89C52 Single-chip puter2.1 n to STC89C52 Single-chip puterA single-chip puter。
基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计基于STC89C52单片机最小系统的设计一、引言随着科技的不断进步,单片机在各个领域中的应用越来越广泛。
STC89C52是一种常用的单片机,具有高性能、低功耗、可编程等特点,被广泛应用于工业控制、智能家居、物联网等领域。
最小系统是单片机应用的基础,本文将介绍基于STC89C52单片机的最小系统设计。
二、STC89C52单片机简介STC89C52是一种8位微控制器,采用CMOS工艺制造。
它具有8K字节的闪存程序存储器,支持在线编程和调试。
STC89C52单片机具有高性能、低功耗、高可靠性等特点,并且具有丰富的外设资源,如定时器、中断控制器、串行通信接口等。
三、最小系统设计思路最小系统是指能够让单片机正常工作所需的最基本的电路,包括电源电路、晶振电路、复位电路和下载电路等。
1、电源电路:为整个系统提供电源,需要根据单片机的供电要求选择合适的电源模块。
2、晶振电路:为单片机提供时钟信号,一般采用外部晶振。
3、复位电路:用于将单片机恢复到初始状态,一般采用上电复位和手动复位两种方式。
4、下载电路:用于将编写好的程序下载到单片机中,一般采用串口或SW下载方式。
四、硬件选型1、电源模块:选择12V电源模块,通过降压电路转换为5V供电。
2、晶振电路:选择11.0592MHz的外部晶振。
3、复位电路:选择上电复位和手动复位两种方式。
4、下载电路:选择SW下载方式,使用CH340芯片实现USB转串口下载功能。
五、软件设计软件设计主要包括程序的编写和调试。
根据实际需求编写程序,并进行仿真和调试。
在调试过程中,可以使用串口调试助手等工具进行程序的下载和调试。
六、实验结果在实验室中,我们成功地搭建了基于STC89C52单片机的最小系统,并编写了一个简单的程序,实现了LED的闪烁控制。
实验结果表明,最小系统能够正常工作,并且程序运行稳定。
七、总结本文介绍了基于STC89C52单片机的最小系统设计,包括硬件选型和软件设计等方面。
单片机课程设计实验报告

课程设计报告学号: 1328403028姓名:张帅华班级: 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的序列码。
基于单片机的全自动洗衣机控制系统设计

山东协和学院工学院,山东济南 250109【摘要】采用了STC89C52单片机进行设计控制系统,控制系统主要是四个部分构成:用户参数输入、洗涤、脱水、最后报警。
以单片计算机为主体构成的主要控制系统,主要控制系统是以STC89C52单片机为内核,使用键盘、蜂鸣器、电源、水位传感器等为核心,完成对洗衣机内各步骤的管理。
【关键词】STC89C52单片机洗衣机控制系统1总体方案设计1.1设计任务1.研究内容:利用单片机实现了一种新型的洗衣机控制装置。
利用MCU作为主机,通过对所需的外部电路进行扩充,实现了对全自动洗衣机的控制。
2.主要功能:(1)标准:12 min的浸洗、2 min的冲洗、3 min的脱水;(2)快速:4 min的浸洗,2 min的冲洗,2 min的脱水;(3)轻柔:3 min的浸洗,3 min的冲洗,2 min的脱水;(4)调试模式:整个的处理时间为1分钟;(5)有开机/停机按键的操作:先按下菜单,然后再按下选单,选好要做的工作,当工作完成后,再按下停止。
(6)具有脱水功能。
(7)具有指示功能:入水时显示,洗净时显示,排干时显示,漂洗时显示,脱水时显示。
1.2洗衣机的设计方案本控制系统由按钮输入、浸洗、洗涤、漂洗、排气、再洗涤等五个环节构成的。
本控制系统由主回路和单片机系统,外围硬件回路构成[8]。
用STC89C52单片机控制器为基础,以二个共阳数码管,键盘,蜂鸣器,水位传感器,以及发光二极管等为中心元件;由继电器,充气三极管,发电机,以及步进马达驱动器等组成的外围硬件。
1.2.1 按键在洗衣机的控制器上有四个按键,分别是K1、K2、K3、K4K1是单选按键,使用K4前先将K1按下,避免出现错误。
K2是开机按键、K3是停止按键、K4是菜单。
1.2.2 洗衣程序(1)水洗工序接通电源后,如果没有选择清洗时间,那么洗衣机将从清洗程序启动。
进入清洗程序,先加水,当加水指示灯点亮,启动加水,达到所需的时间后,加水停止;马达 M开启,推动水轮转动,产生洗涤水。
基于单片机三层电梯系统设计毕业论文

基于单片机三层电梯系统设计【摘要】本设计是以STC89C52单片机为核心的三层电梯模拟控制系统。
硬件部分主要由单片机最小系统模块、电梯内外电路按键矩阵模拟检测模块、楼层显示数码管模块、电梯上下行显示模块等4部分组成。
软件部分使用C语言,利用查询方式来检测用户请求的按键信息,根据电梯运行到相应楼层时,模拟按键引起电平变化,送到单片机计数来确定楼层数,并送到数码管进行显示。
利用单片机设计电梯控制系统,具有成本低、通用性强、灵活性大及易于实现复杂控制等优点。
【关键词】STC89C52 电梯系统数码显示控制1 前言随着我国城市化进程的日益加快,电梯已经融入了我们的生活,电梯被应用于宾馆、饭店、办公大楼、商场、娱乐场所、仓库以及居民住宅大楼等。
因为电梯的高效、方便、快捷,所以电梯受到了大家的热烈欢迎。
电梯的应用将会不断拓展,款式将各种各样,目的就是为了满足人们的多种多样的需求。
电梯将是现代人不可或缺的代步工具,随着科技的不断进步,经济的深入发展,科技将引领电梯进行质的飞跃,电梯将越来越智能,越来越安全稳定。
2 总体设计方案设计任务设计一个基于STC89C52单片机的三层电梯系统。
以单片机作为控制核心,根据电梯运行到相应楼层时,模拟按键引起电平变化,送到单片机计数来确定楼层数,控制电机转动,并送到数码管进行显示。
硬件设计简单可靠,结合软件,基本实现电梯运行的模拟。
设计要求(1)每层电梯入口处都有上下请求按扭,电梯内设有乘客到达楼层的请求开关;(2)设有电梯所处位置指示装置以及电梯运行模式(升降或下降)指示装置;(3)上一层楼的时间和等待时间为4秒,延时时间为1秒;(4)能记忆电梯内外的所有请求信号,并按照电梯运行规则次序响应,每个信号保留至执行后清除;(5)电梯初始状态为1楼等待。
总体方案的论证与选择方案一:多片单片机控制方案。
这种方案是使用多片单片机,其中一片是作为主控制器。
每层的控制系统分别由一个单片机控制,然后通过主控制器和副控制器之间的通讯,实现电梯系统的控制。
一种基于单片机的多功能智能台灯的设计

本文设计的智能LED 台灯是以STC89C52单片机为控制中心,利用光敏电阻实现光亮度的自动调节;通过红外传感器模块,在有人靠近时且外部光照强度弱时实现自动开灯的功能,并且监测用户与台灯的距离,用以纠正用户坐姿,达到保护视力的目的;并在传统的台灯上添加了闹钟设置、时间显示等功能,合理地将台灯与钟表结合在一起。
随着科技的快速发展和人们对美好生活的向往需求,生活中人们不仅仅要求台灯的外观精致,还希望其能够更节能环保、更智能化和人性化。
本设计主要以STC89C52单片机为控制核心,利用光敏电阻来检测外界环境的光线强度,实现根据环境的亮暗自动调节台灯的照明亮度;通过人体红外传感器来监测是否有人靠近台灯,完成台灯的自动开关功能,并通过发光二极管亮来提醒用户纠正坐姿;同时增加了蜂鸣器模块,将台灯和钟表巧妙的结合起来,显示时间日期的同时还可以设置闹钟,达到一物多用的功能效果。
1 多功能智能台灯设计原理及技术路线本文设计了一款多功能智能LED 台灯。
主要包括手动调节和自动感应两种功能模式:手动调节模式下,用户通过调节亮度按键来设置台灯照明;自动感应模式下,通过红外传感器模块,自动感应台灯附近是否有人靠近,有人靠近且外界环境光照强度较弱则开灯,同时根据环境的光线强弱自动调节台灯照明亮度,并且通过监测用户与台灯的距离,提醒用户纠正坐姿。
该台灯还结合了钟表的功能,显示时间日期的同时,还有设置闹钟的功能,从而达到一物多用的效果。
本设计以STC89C52单片机为控制中心,包括单片机最小系统模块、电源模块、人体感应模块、光线检测模块、按键模块、显示模块、闹钟模块、LED 台灯模块,设计原理如图1所示。
图1 多功能智能LED台灯设计原理2 硬件设计2.1 单片机最小系统设计本设计采用STC89C52作为本次设计的主控芯片,其单片机最小系统的硬件设计很简单,仅需要在其外围添加电源电路、复位电路、时钟电路即可构成了单片机最小系统。
基于单片机的空气质量检测系统设计-正文

2系统的硬件电路设计2.1 主控制器电路设计主控芯片是整个系统的数据处理单元。
主控芯片主要负责数据操作、中断响应等各种逻辑指令。
主控芯片的工作频率与整个系统设计相关的内部硬件资源是好还是坏,要充分了解资源需求等系统要求,自行选择适合恰当的控制器。
否则,选择低性能主控芯片可能会影响整个系统性能,并为设计增加额外的困难。
本设计中采用STC89C52单片机最小系统。
STC89C52单片机最小系统具有体积小、质量轻、功能强、功耗低、性价比高等特点。
在本设计整套系统中起到了信号处理实时控制的作用,可以监测按键和采集传感器的各项参数,同时还能驱动LCD1602液晶显示检测到PM2.5浓度数据。
STC89C52单片机最小系统由STC89C52芯片、复位电路、时钟电路及输入/输出端口设备等构成。
STC89C52单片机是美国STC公司开发制造的一种8位微控制芯片,拥有512字节的数据存储空间和8K字节的程序存储空间。
共40个引脚,2个优先级设置,3个十六位强大定时/计数器,4个八位并行I/O端口,5个优质中断源。
STC89C52单片机的时钟引脚为XTAL1 和XTAL2;控制信号的引脚有RST,ALE,PSEN 和EA;I/O端口有P0,P1,P2和P3。
复位电路主要用于协助单片机来实现启动过程,控制单片机工作的起始状态。
在单片机工作过程中,受到外界干扰而出现代码丢失、运行出错或直接死机、停止运行的时候,此时通过复位,单片机内部的烧录代码就会自动重新执行。
复位方式一般分为自动复位和手动按键复位,本设计为了编程的简单化,采用了外部手动按键复位的方式。
STC89C52单片机的P0脚内无上拉电阻,为开漏输出。
所以在本设计中P0脚用作输出端口,需另加上拉电阻以加大输出的驱动能力,本设计采用10K的排阻作为上拉电阻。
时钟电路好比心脏,单片机的工作动力都来源于它。
时钟电路其实本质就是一个晶体振荡电路,提供一个正弦波信号作为基准让单片机进行工作,因此单片机的运行速度及处理能力都是由时钟电路决定。
基于STC89C52单片机毕业设计(完整版)-附-原理图-pcb图-源程序-仿真图

基于STC89C52单片机的电子密码锁学生姓名: xx学生学号: xxxxx院(系):电气信息工程学院年级专业: 2010级电子信息工程2班指导教师:***二〇一三年六月摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事情屡见不鲜,电子密码锁具有安全性能高,成本低,功耗低,操作简单等优点使其作为防盗卫士的角色越来越重要。
从经济实用角度出发,采用51系列单片机,设计一款可更改密码,LCD1602显示,具有报警功能,该电子密码锁体积小,易于开发,成本较低,安全性高,能将其存储的现场历史数据及时上报给上位机系统,实现网络实时监控,方便管理人员及时分析和处理数据。
其性能和安全性已大大超过了机械锁,特点有保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零;密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;误码输入保护。
当输入密码多次错误时,报警系统自动启动;电子密码锁操作简单易行,受到广大用户的亲睐。
关键词单片机, 密码锁, 更改密码, LCD1602目录错误!未定义书签。
1 绪论1.1电子密码锁简介 (1)1.2 电子密码锁的发展趋势 (1)2 设计方案 (3)3 主要元器件 (4)3.1 主控芯片STC89C52 (4)3.2 晶体振荡器 (8)3.3 LCD显示密码模块的设计 (9)3.3.1 LCD1602简介 (9)3.3.2 LCD1602液晶显示模块与单片机连接电路 (11)4 硬件系统设计 (12)4.1 设计原理 (12)4.2 电源输入电路 (12)4.3 矩阵键盘 (13)4.4 复位电路 (14)4.5 晶振电路 (14)4.6 报警电路 (15)4.7 显示电路 (15)4.8 开锁电路 (16)4.9 电路总体构成 (16)5 软件程序设计 (18)5.1 主程序流程介绍 (18)5.2 键盘模块流程图 (19)5.3 显示模块流程图 (21)5.4 修改密码流程图 (22)5.5 开锁和报警模块流程图 (23)6 电子密码锁的系统调试及仿真 (25)6.1硬件电路调试及结果分析 (25)6.2软件调试及功能分析 (25)6.2.1调试过程 (25)6.2.2 仿真结果分 (26)7 结论 (29)参考文献 (30)附录: (31)1 绪论1.1电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
基于STC89C52单片机的温控风扇系统设计

基于STC89C52单片机的温控风扇系统设计1功能本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统选用STC89C52里左机作为控制平台对风扇转速进行控制。
可在测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。
2.硬件设计硬件电路主要由:1.单片机最小系统2.风扇驱动电路3.1CD1602显示屏电路4.DS18B20温度采集电路3.程序设计(1)1CDI602驱动程序^define1CD1602_DBPOsbit1CD1602RS=P2^0;sbit1CD1602RW=P2」;sbit1CD1602_E=P2^2;∕*等待液晶准备好*/void1cdWaitReady()(unsignedcharsta;1CD1602DB=OxFF;1CD1602RS=0;1CD1602RW=1;do{1CD1602_E=1;sta=1CD1602_DB;〃读取状态字1CD1602_E=0;}whi1e(sta&0x80);〃bit7等于1表示液晶正忙,重复检测直到其等于0为止}/*向1CDI602液晶写入一字节命令,Cmd-待写入命令值*/void1cdWriteCmd(unsignedcharcmd){1cdWaitReadyO;1CD1602_RS=0;1CD1602_RW=0;1CD1602_DB=cmd;1CD1602_E=1;1CD1602_E=O;∕*向1CDI602液晶写入一字节数据,dat-待写入数据值*/void1cdWriteDat(unsignedchardat)1cdWaitReadyO;1CD1602_RS=1;1CD1602_RW=0;1CD1602_DB=dat;1CD1602_E=1;1CD1602_E=0;∕*设置显示幽起始地址,亦即光标位置,(x,y)-对应屏幕上的字符坐标*/void1cdSetCursor(unsignedcharx,unsignedchary)unsignedCharaddr;if(y==O)//由输入的屏幕坐标计算显示RAM的地址addr=OxOO+x;〃第一行字符地址从OXOO起始e1seaddr=0x40+x;〃第二行字符地址从0x40起始1cdWriteCmd(addrI0x80);〃设置RAM地址}/*在液晶上显示字符串,(x,y)-对应屏幕上的起始坐标,St1字符串指针*/void1cdShowStr(unsignedcharx,unsignedchary,unsignedchar*str)1cc1SetCursor(x,y);〃设置起始地址whi1e(*str!='O')〃连续写入字符串数据,直到检测到结束符(1cdWriteDat(*str++);))/*初始化1602液晶*/voidInit1cd1602(){1cdWriteCmd(0x38);〃16*2显示,5*7点阵,8位数据接口1cdWriteCmd(OxOc);〃显示器开,光标关闭1cdWriteCmd(0x06);〃文字不动,地址自动+11cdWriteCmd(OxO1);〃清屏}(2)DS18B20驱动程序sbitI0-18B20=P3Λ2;I软件延时函数,延时时间C1O)us*/voidDe1ayX1Ous(unsignedchart){do{-∏θP-();-∏θP-();-∏θP-();∏0P-();-∏θP-();-∏θP-();-∏θP-();_nop_();}whi1e(一t);)/复位总线,获取存在脉冲,以启动一次读写操作/ bitGet18B20Ack()(bitack;EA=O;〃禁止总中断I0_18B20=0;〃产生500US复位脉冲De1ayX1Ous(50);I0_18B20=1;De1ayX1Ous(6);〃延时60USack=I0.18B20;〃读取存在脉冲WhiIe(!IOJ8B20);〃等待存在脉冲结束EA=I;〃重新使能总中断returnack;}/向DS18B2O写入一个字节,dat-待写入字节/voidWrite18B20(unsignedchardat)unsignedcharmask;EA=O;for(maSk=OXO1;mask!=0;mask〈〈=1)〃低位在先,依次移出8个bit {IO」8B20=0;〃产生2us低电平脉冲-∏0P-();nop_();if((mask&dat)==0)〃输出该bit值I0_18B20=0;e1seI0_18B20=1;De1ayX1Ous(6)〃/延时60usIO18B20=1”/拉高通信引脚}EA=I;}/从DS18B20读取一个字节,返回值-读到的字节/unsignedcharRead18B20()(unsignedchardat;unsignedcharmask;EA=O;for(mask=0x01imask!=CHmask<<=1)”低位在先,依次采集8个bit I0」8B20=0;〃产生2us低电平脉冲-∏0P-();-∏0P-();I0」8B20=1;〃结束低电平脉冲,等待18B20输出数据nop_();〃延时2us-∏θP-();if(!IO_18B20)//读取通信引脚上的值dat&=~mask;e1sedatI=mask;De1ayX1Ous(6);//再延时60us)EA=I;returndat;)/启动一次18B20温度转换,返回值-表示是否启动成功/bitStart18B20()(bitack;ack=Get18B20Ack();〃执行总线复位,并获取18B20应答if(ack==0)(Write18B20(Oxcc);Write18B20(0x44);return~ack;/读取DS18B20转换的温度值,返回值-表示是否读取成功/bitGet18B20Temp(int*temp)(bitack;unsignedchar1SB,MSB∕∕16bit温度值的低字节和高字节ack=Get18B20Ack();〃执行总线复位,并获取18B20应答if(ack==0)(Write18B20(OxCC);〃跳过R0M操作Write18B20(OxBE);〃发送读命令1SB=Read18B20();〃读温度值的低字节MSB=Read18B20();〃读温度值的高字节*temp=((int)MSB<<8)+1SB;〃合成为16bit整型数}return~ack;)(3)主程序sbitIN1=P27;sbitIN2=P2A6;sbitENA=P2";bitfIag1s=O;〃IS定时标志unsignedcharTORH=O;unsignedcharTOR1=O;i∏ttemp;〃读取到的当前温度值unsignedcharIen;intintT,decT;〃温度值的整数和小数部分unsignedcharstr[12];voidCompare();voidGetTempO;voidConfigTimerO(unsignedintms);unsignedcharIntToString(unsignedchar*str,intdat);externbitStart18B20();externbitGet18B20Temp(int*temp);externvoidInit1cd1602();externvoid1cdShowStr(unsignedcharx,unsignedchary,unsignedchar*str);voidmainO{bitres;EA=I;ConfigTimerO(IO);//T0定时IOmsStart18B20();〃启动DS18B20Init1cd1602();〃初始化液晶whi1e(1)if(f1ag1s)〃每秒更新一次温度fIag1s=O;res=Get18B2OTemp(&temp);〃读取当前温度if(res)〃读取成功时,刷新当前温度显示(GetTemp();1cdshowStr(θz o,''We1cometouse〃);〃显示字符及温度值1cc1ShowStr(0,1/'CurrentT:〃);1cdShowStr(10,1,str);Compare();}e1se〃读取失败时,提示错误信息(1cdShowStr(0,0,^error!〃);)Start18B20();〃重新启动下一次转换)}}/温度获取函数,获取当前环境温度值并保存在Str数组中/ voidGetTempO{intT=temp>>4;〃分离出温度值整数部分decT=tempMxOF;〃分离出温度值小数部分Ien=IntToString(str,intT);〃整数部分转换成字符串str[1en++]=,.,;CIeCT=(C1eCT*10)/16;〃二进制的小数部分转换为1位十进制位str[1en++]=decT+'0';〃十进制小数位再转换为ASCI1字符WhiIe(ICn<6)〃用空格补齐到6个字符长度(str[1en++]≈,,;)str[Ien++]=,❷';)/延时函数,用于PW/控制/voidde1ay(unsignedintz)(unsignedintx,y;for(x=z;x>0;x-)for(y=110;y>0;y--);)/比较函数,通过温度值的比较设置曳血的转速/voidCompareO(unsignedinti=0;unsignedcharj;if((intT>=24)&&(intT<26))〃以两度为一个温差范围,并设温度范围索引j=0;e1seif((intT>=26)M(intT<28)){J=I;)e1seif((intT>=28)&&(intT<30)){j=2;}e1seif(intT>=30){j=3;)switch(j)〃根据温度索引设置电机转速(case0:IN1=I;IN2=0;for(i=0;i<200;i++){ENA=I;de1ay(20);ENA=O;de1ay(30);break;1:IN1=I;IN2=0;for(i=0;i<200;i÷+)(ENA=I;de1ay(30);ENA=0;de1ay(30);)break;case2:IN1=1;IN2=0;for(i=0;i<200;i÷+){ENA=I;de1ay(55);ENA=O;de1ay(30);}break;case3:IN1=I;IN2=0;ENA=I;break;defau1t:break;/整型数转换为字符串,St1字符串指针,dat-待转换数,返回值-字符串长度/unsignedcharIntToString(unsignedchar*str,intdat)(signedchari=0;unsignedcharIen=O;unsignedcharbuf[6];if(dat<O”/如果为负数,首先取绝对值,并在指针上添加负号{dat=-dat;*str++≡,」;Ien++;}do{〃先转换为低位在前的十进制数组buf[i++]=dat%10;dat/=10;}whi1e(dat>O);Ien+=i;//i最后的值就是有效字符的个数\vhi1e(i—>0)〃将数组值转换为ASCI1码反向拷贝到接收指针上StΓ++=buf[i]÷,Q,;*str≡,❷';returnIen;}voidConfigTimerθ(unsignedintms){unsigned1ongtmp;tmp=11059200/12;tmp=(tmp*ms)∕1000;tmp=65536-tmp;tmp=tmp+12;TORH=(unsignedchar)(tmp>>8); TOR1=(unsignedchar)tmp;TMOD&=OxFO;TMOD∣=0x01;THO=TORH;T1O=TOR1;ETO=I;TRO=I;)voidInterrupt!imerθOinterrupt1static unsignedchartmr1s=0; THO=TORH;T1O=TOR1;tmr1s++;if(tmr1s>=100)(tmr1s=O;fIag1s=I; ))。
单片机最小系统的设计

真值表如下:
五、单片机系统的基本外设 RS232串行接口
术语解释:RS232接口是1970年由美国电子工业协 会(EIA)联合贝尔系统、调制解调器厂家及计算机 终端生产厂家共同制定的用于串行通讯的标准。它 的全名是“数据终端设备(DTE)和数据通讯设备 (DCE)之间串行二进制数据交换接口技术标准”。
了解了锁存器的功能以后,就知道如何操 作板载LED了,首先将JP1用跳线器短路, 确保为LED提供工作电压。其次将锁存器 的LE端设置为低电平,最后往锁存器数据 输入端口D1-D8输入电平数据就可以了。 由于本电路采用的是共阳结构,只有当锁 存器输出为低电平的时候LED方可点亮, 反之高电平熄灭,设计程序的时候需注意 这点。
我们使用的51单片机需要在+5V的直流电的坏境下,才能够 稳定的工作(并不是所有的单片机都是工作在+5V,有的低 电压单片机的工作电压为3.3V,有的甚至更低)。而在直流 电源中,一般会有正电源和地两根线。单片机的接+5V的引
脚为40引脚VCC,而接地引脚为20引脚GND。
二、单片机系统的基本外设 键盘电路
本系统板采用动态显示的原理设计,电路如下: 其中JP2为数码管电源跳线,使用数码管时,必 须用跳线帽将其短路。Q2-Q9为PNP型扩流三 极管,为每位数码管公共端提供约80mA的电源。 R4-R11为三极管的基极偏流电阻,当B0-B7 端电压低于4.3V时,PNP管导通,为数码管提 供公共电压。74HC573为锁存器,功能在上一 章已经说明,在此不再赘述。74HC138为3-8 译码器,当一个选通端(E3)为高电平,另两个 选通端(E1)和/(E2))为低电平时,可将地址 端(A0、A1、A2)的二进制编码在一个对应的 输出端以低电平译出。
基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计在现代电子技术领域,单片机的应用无处不在,从家用电器到工业自动化,从智能仪器仪表到航空航天设备,都能看到单片机的身影。
STC89C52 单片机作为一款经典的 8 位单片机,以其高性能、低功耗、易于开发等优点,被广泛应用于各种电子系统中。
而要让 STC89C52 单片机正常工作,就需要设计一个可靠的最小系统。
一、STC89C52 单片机简介STC89C52 单片机是由宏晶科技生产的一款增强型 8051 单片机,它具有 8K 字节的 Flash 程序存储器、512 字节的 RAM、4 个 8 位并行I/O 口(P0、P1、P2、P3)、3 个 16 位定时器/计数器、1 个全双工串行通信口等资源。
其工作电压为 5V,工作频率可达 35MHz,能够满足大多数应用场景的需求。
二、最小系统的组成一个完整的 STC89C52 单片机最小系统通常包括以下几个部分:1、电源电路电源是整个系统的动力源泉,STC89C52 单片机的工作电压为 5V,因此需要一个稳定的 5V 电源为其供电。
可以使用线性稳压器(如7805)将输入的电压(如 9V 或 12V)转换为 5V 输出,也可以使用USB 接口直接提供 5V 电源。
2、复位电路复位电路的作用是在系统上电或出现异常时,将单片机的内部状态恢复到初始状态,使其能够正常工作。
常见的复位电路有上电复位和手动复位两种。
上电复位电路通过电容充电实现,手动复位电路则通过按键实现。
3、时钟电路时钟电路为单片机提供工作所需的时钟信号,决定了单片机的运行速度。
STC89C52 单片机可以使用内部时钟,也可以使用外部时钟。
内部时钟通过在单片机的 XTAL1 和 XTAL2 引脚之间连接一个晶振和两个电容来实现,晶振的频率通常为 110592MHz 或 12MHz。
4、下载电路为了将编写好的程序下载到单片机中,需要设计一个下载电路。
STC89C52 单片机支持通过串口下载程序,可以使用 MAX232 芯片将单片机的 TTL 电平转换为 RS232 电平,然后通过串口线与计算机连接进行程序下载。
基于STC89C52单片机智能避障小车设计

基于STC89C52单片机智能避障小车设计一、研究目的针对为视障人士行动提供导航服务,使其能有效避开障碍物的应用需求,小组开展了对基于STC89C52单片机智能避障小车设计的研究,利用红外和超声波两种传感器对周围环境进行探测,结合光控照明电路,当距离达到设定值时,蜂鸣器报警,同时将超声波探测信息通过数码管显示,从而达到小车智能避障的结果。
二、研究内容1.主控电路研究STC89C52是STC公司生产的一种具有低功耗、高性能工作特性的8位微处理器。
避障小车以STC89C52单片机为主控制核心,该单片机内部含有:一个8 位CPU,一个片内振荡器及时钟电路,512字节数据存储空间,8K字节程序存储空间,内带4K字节EEPROM 存储空间,三个16位定时器/计数器,一个可编程全双工串行口,四个8位可编程并行I/O 端口,四个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构)。
下图是单片机能够正常运行并完成各种性能的最小系统电路图:2.传感器的研究(1)红外传感器使用红外传感器集成模块,红外信号遇到障碍物距离的不同,反射的强度也不同,故可利用此原理进行障碍物远近的检测。
红外传感器价格便宜,反应速度比超声波传感器快,但在过亮或过暗的环境中精度会下降。
(2)超声波传感器使用超声波传感器集成模块,超声波发射器在发射超声波的同时开始计时,超声波遇到障碍物返回,接收器收到反射波就立即停止计时,从而测出障碍物远近的距离。
超声波传感器指向性强,灵敏度高,但由于声音的速度易受温度和风向的干扰,所以超声波有可能会被吸音面吸收,导致测距时产生误差。
3. 光控照明电路研究光敏电阻的阻值会随外界光照的强弱(明暗)变化而变化,光越强阻值越大,光越弱阻值越小。
小组使用光敏电阻和LED 发光二极管焊接光控照明电路,意在天黑时,LED 亮,小车能照明前方。
4. 数码管显示电路研究借助共阴极数码管显示超声波探测信息,引脚与单片机相连接,受单片机程序控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于STC89C52单片机最小系统的设计1 设计内容及要求设计题目:基于STC89C52单片机最小系统的设计及制作。
设计要求:输入信号为传感器、电压、电流、开关等形式,单片机型号可以自己选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显示器等。
(注:可以采用单片机、传感器电路模块以及集成电路芯片制作。
)使用器材:感光板及常用PCB制版器材、常用电子装配工具、万用表、示波器及电子元器件(详见附录)。
2 STC89C52单片机2.1 STC89C52单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
用专业语言讲,单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片。
2.2 单片机的特点(1)高集成度,体积小,高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然是最小的。
芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪声性能优于一般通用的CPU。
单片机程序指令,常数及表格等固体化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
(2)控制功能强为了满足对控制对象的要求,单片机的指令系统均有极丰富的条件:分支转移能力、I/O口的逻辑操作机位处理能力,非常适用于专门的控制功能。
(3)低电压,低功耗,便于生产携带为了便于广泛使用于便携式系统,许多单片机内的工作电压仅为 1.8V~3.6V,工作电流仅为数百微安。
(4)易扩展片内具有计算机正常运行所需的部件。
芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
(5)优异的性能价格比单片机的性能高。
为提高速度和运行效率,单片机开始使用RISC流水线和DSP等技术。
单片机的寻址能力也突破了64KB的限制,有的已达1MB,甚至16MB;片内的ROM容量可达62MB,RAM容量则可达2MB。
由于单片机的广泛使用,因而销量极大,各大公司的商业竞争激烈,使其价格十分低廉,性能价格比极高。
2.3 单片机的内部结构一个基本的MCS-52单片机通常包括:中央处理器、ROM、RAM、定时/计数器和I/O口等各功能部件,各个功能由内部的总线连接起来,从而实现数据通信。
其内部框图如图2-1所示。
图2-1 MCS单片机结构图2.4 单片机的引脚功能常见的52系列单片机中一般采用双列直插(DIP)封装,共40个引脚。
STC89C52共有40个引脚,采用的是双列直插(DIP)封装,如图2-2所示。
其中的40个引脚大致可以分为4 类:电源、时钟、控制和I/O引脚。
图2-2 STC89C52引脚分布图2.4.1 电源(1)VCC:芯片电源端,一般为+5V;(2)GND:接到端。
2.4.2 时钟(1)XTAL1:晶体振荡电路的反相输入端;(2)XTAL2:晶体振荡电路的输出端。
2.4.3 控制线MCS-51单片机共有4根控制线,其中3根是复用线,具有两种功能。
_____________:地址所存允许/编程脉冲;(1)ALE/PROG(2)PSEN:外部ROM读选通信号;(3)RST:复位引脚;(4)EA:内外ROM选择/EPROM编程电源2.4.4 I/O引脚MCS-51单片机共有4个8位并行I/O端口,共32个可编程I/O引脚。
(1)P0.0~P0.7:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个个TTL逻辑电平。
对P0端口写“1”时,引脚端用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
(2)P1.0~P1.7:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL 逻辑电平。
对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚端由于内部电阻的原因,将输出电(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表2-1所示。
在Flash编程和校验时,P1口接收低8位地址字节。
表2-1 P1口引脚端第二功能(3)P2.0~P2.7:P2口是一个具有内部上拉电阻的8位双向I/O口,P2 输出缓冲器能驱动4个TTL 逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
(4)P3.0~P3.7:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如表2-2所示。
在Flash编程和校验时,P3口也接收一些控制信号。
P3.3INT(外部中断1)1P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)3 STC89C52构成的最小系统单片机最小系统包括复位电路、时钟电路、电源电路、外围电路,其外围电路包括数码显示、液晶显示、键盘检测、串口测试等,如图3-1所示。
图3-1单片机外围电路3.1 单片机周边电路STC89C52的外围电路如图3-2所示。
时钟电路采用频率是12MHz的石英晶振。
在复位电路中当REST为低电平时,系统处于工作状态,当REST为高电平时系统处于复位或下载程序状态。
STC89C52具有ISP在线编程功能,在程序下载过程中REST引脚被拉高,下载完毕后自动拉低进入运行状态,用户也可以通过按下S17进行手动复位。
为方便以后的学习,最小系统将32个I/O引脚全部引出。
图3-2 单片机外围电路3.2 供电部分单片机供电部分的原理图如图3-3所示。
系统供电采用标准的3.5mmDC接口输入,通过线性稳压芯片7805进行稳压处理以后,再供给电路的其他部分。
为了方便起见,系统还将输入电源用排针引出,方便用杜拉线进行连接(“2脚”为正极)。
电路中接入电源指示LED,R2为LED的限流电阻,SW1为电源开关。
图3-3最小系统供电部分原理图3.3 复位电路单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。
单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。
当复位电平持续两个机器周期以上时复位有效。
复位电平的持续时间必须大于单片机的两个机器周期。
具体数值可以由RC电路计算出时间常数。
复位电路由按键复位和上电复位两部分组成。
(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RESET 上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RESET脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。
(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。
复位电路如图3-4所示。
图3-4 复位电路3.4 串行口部分RS-232是串口的接口标准,为单端输入/输出,要实现与单片机的通信,需将计算机的RS-232电平与单片机的TTL电平相互转换。
采用MAX232电源电压转换芯片,可以把TTL电平从0V和5V转换到3V~15V或-3V~ -15V之间。
所以采用此芯片接口的串行通信系统只需要单一的+5V电源就可以了。
数据传输过程:MAX232的10脚T2IN接单片机的TXD端P3.1,TTLdiaper 从单片机的TXD端发出,经过MAX232转换为RS-232电平后从MAX232 的7脚T2OUT发出,再经过交叉串口线连接到计算机RXD端,计算机手段数据。
PC机发送数据时从PC机串口的TXD端发出数据,再逆向流向单片机的RXD 端P3.0接收数据。
MAX232引脚如图3-5所示。
串行口部分电路图如图3-6所示。
图3-5 MAX232引脚分布图图3-6 串行口部分电路原理图3.5 按键部分按键部分电路采用4*4矩阵式键盘,在修改时钟或设置闹钟时间可以直接从键盘输入,方便、快捷。
而独立式按键需设置过多按键,将会占用较多I/O口,而且会给布线带来不便,因此,此方案适用于按键较少的情况。
且由于按键较少,在修改时间或设置闹铃时间时就不能直接输入,只能通过加或减完成,较为麻烦。
单片机检测按键的依据是与按键对应的I/O口是否为低电平。
检测时,先给一列送低电平,其余几列全为高电平,然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平就可以确认是按下哪一行哪一列的按键。
按键部分原理图如图3-7所示。
图3-7 按键部分电路原理图3.6 液晶显示部分液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合北部灯管构成画面。
各种型号的液晶通常是按照显示字符的行数或液晶点阵的行、列数来命名的,液晶体积小、功耗低、显示操作简单,但应注意考虑其能承受的温度范围。
1602液晶每行显示16个字符,一共可以显示两行,由16列、2行组成。
液晶显示的电路原理图如图3-8所示。
图3-8 液晶显示电路原理图3.7 时钟振荡电路部分时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。