完整版单片机控制系统的设计
单片机控制系统的设计与调试方法

单片机控制系统的设计与调试方法一、前言单片机控制系统是现代电子技术中的一种重要的应用,它具有体积小、功耗低、成本低等优点,被广泛应用于各种领域。
本文将介绍单片机控制系统的设计与调试方法。
二、硬件设计1. 确定系统功能需求在进行单片机控制系统的硬件设计前,需要确定系统的功能需求。
这包括了系统所要实现的功能以及所需要使用的传感器和执行器等。
2. 选择适当的单片机芯片根据系统的功能需求和性能要求,选择适当的单片机芯片。
常见的单片机芯片有8051系列、PIC系列、AVR系列等。
3. 设计电路图根据所选单片机芯片和外围器件,设计电路图。
电路图应包括主控芯片、外设接口电路、时钟电路等。
4. PCB设计根据电路图进行PCB布局和布线设计。
在进行PCB设计时应注意防止信号干扰和功率噪声等问题。
5. 制作PCB板完成PCB设计后,可以通过打样或委托加工来制作PCB板。
6. 组装调试将所选单片机芯片及外围器件进行组装,并进行调试。
在调试时需要注意电路连接是否正确、电源电压是否稳定等问题。
三、软件设计1. 确定系统的软件功能需求在进行单片机控制系统的软件设计前,需要确定系统的软件功能需求。
这包括了系统所要实现的功能以及所需要使用的算法和数据结构等。
2. 编写程序框架根据所选单片机芯片和外围器件,编写程序框架。
程序框架应包括初始化函数、主循环函数等。
3. 编写具体功能模块根据系统的软件功能需求,编写具体功能模块。
例如,如果系统需要测量温度,则需要编写一个测量温度的函数。
4. 调试程序完成程序编写后,进行调试。
在调试时需要注意程序是否能够正确运行、是否存在死循环等问题。
四、系统调试1. 确定测试方法在进行单片机控制系统的调试前,需要确定测试方法。
测试方法应包括了测试步骤和测试工具等。
2. 进行硬件测试对单片机控制系统进行硬件测试。
硬件测试应包括了电路连接是否正确、电源电压是否稳定等问题。
3. 进行软件测试对单片机控制系统进行软件测试。
基于单片机的智能家居控制系统设计

基于单片机的智能家居控制系统设计摘 要“智能家居控制系统”是以单片机为控制核心,通过红外遥控模块遥控单片机实现室温实时测量、时间日期显示、以及控制家庭用电器开关通断来实现家用电器自动控制的功能。
其中温度测量是通过DS18B20芯片实现,日期时间是通过DS1302实现,家用电器开关通断是通过继电器实现,各项数据通过LCD1602液晶显示屏显示。
该系统可以远程方便地控制家用电器的工作状况,既可以提升家居安全性、便利性、舒适性,又能实现环保节能的居住环境。
是未来家电控制发展的主要趋势。
本文首先针对课题背景设计了一套总体的系统框图与方案,然后根据系统框图将系统分为控制、红外、时钟、温度、继电器和显示六个模块。
分别针对后五个模块进行电路介绍、原理分析及软件设计,并用控制模块将这五个模块整理、整合到一个系统中成为最终的智能家居控制系统。
本课题借助Proteus软件进行电路仿真,Keil软件进行程序设计编译,使用STC-ISP软件将程序烧录至单片机中,最终成果是使用MX-51开发板,外加SRD-05VDC型号继电器实现的。
最终成果现象为开机后液晶显示屏上显示当前日期、时间、环境温度以及当前工作的继电器编号,遥控器按“1”、“2”、“3”键分别控制继电器1、2、3的通断,按奇数次为通电,按偶数次为断电,继电器之间工作独立。
关键词:STC89C52单片机;继电器;DS18B20;DS1302;红外模块;LCD1602AbstractThe kernel control of IHCS(Intelligent Home Control System) is STC89C52. It can’measure the current temperature, calculate Date and Time, control electrical componcomponents by using thedominating t he electricalswitching to realize long-distanceinfrared module controlling the STC89C52. Current temperature measuring is realize by DS18B20, while date and time displaying is realized by DS1302. Electrical components’ switching is decided by electromagnetic relay, when all of the informatcontrol ofand data i s d isplayed by LCD1602. The system may have a long-distanceelectrical components. It not only will improve the safety, convenience, comfort o living condition, but also can it save the energy to be an environmental friendly style. It is the main tendency of the future electricity control.It was firstly introduced in this essay that the IHCS block diagram and progra dividing the system into controlling module, infrared, timing, temperature,analyzing therelay a nd display module. And introducing the circuit,electromagnetictheory, designing the software of them except controlling module one by one. After controlling module connects this five modules into a system, then births the IHCS this essay, itproject background of the production and the concept and sense of IHCS. In the essay, it is simulated by Proteus, the program is designed by using Keil, but not the least is that it downloads the software by STC-ISP into MX-51developme board and debugs.current timeLCD1602 displays theThe final result isstarting up, thewhen it isrelays’date, time, e nvironment t emperature and the current working electromagneticnumber. The remote control button ’1’,’2’,’3’separately controlsrelay. When pushing o dd times, the electromagnetic number’1’,’2’,’3’electromagneticrelay breaks. Differentrelay connects, when pushing e ven times, the electromagneticelectromagnetic relays work separately.The key words:STC89C52 singlechip; Electromagnetic relay;DS18B20;DS1302;analyze module;LCD1602目 录第1章绪论 ...................................................................1.1 课题背景与意义 .........................................................1.2 智能家居控制系统的定义分析及应用价值 ...................................1.2.1 智能家居控制系统的定义及分析 .....................................1.2.2 应用价值的SWOT分析 .............................................1.3 本文的主要工作和内容 ...................................................1.3.1 本文主要工作归纳 .................................................1.3.2 本文内容分布 .....................................................第2章智能家居控制系统的总体设计 .............................................2.1系统的总体设计及系统框图 ...............................................2.2方案选择 ...............................................................2.2.1智能家居控制模块方案选择 ..........................................2.2.2红外模块方案选择 ..................................................2.2.3时钟模块方案选择 ..................................................2.2.4温度模块方案选择 ..................................................2.2.5电磁继电模块方案选择 ..............................................2.2.6显示模块方案选择 ..................................................2.3本章小结 ...............................................................第3章智能家居控制系统的硬件电路设计 .........................................3.1红外模块电路设计 .......................................................3.2时钟模块电路设计 .......................................................3.3温度模块电路设计 .......................................................3.4电磁继电模块电路设计 ...................................................3.5液晶模块电路设计 .......................................................3.6本章小结 ...............................................................第4章智能家居控制系统的软件设计 .............................................4.1系统整体设计思想及主程序流程图 .........................................4.2程序子模块说明 .........................................................4.2.1红外模块程序 ......................................................4.2.2DS1302时钟模块程序 ...............................................4.2.3DS18B20温度模块程序 ...............................................4.2.4LCD1602液晶模块程序 ..............................................4.3本章小结 ...............................................................第5章系统的方案实现与调试 ...................................................5.1程序编写与仿真 .........................................................5.1.1程序编写软件Keil ...................................................5.1.2仿真软件Proteus ..................................................5.1.3仿真结果 ..........................................................5.2程序下载 ...............................................................5.2.1程序下载软件 ......................................................5.2.2程序下载过程 ......................................................5.3 调试结果 ...............................................................结论 ..........................................................................错误!未定义书签。
单片机控制系统设计(二)2024

单片机控制系统设计(二)引言概述:本文档将介绍单片机控制系统设计的相关内容。
单片机作为一种集成电路,能够通过编程实现各种功能,广泛应用于许多领域。
在上一篇文章中,我们已经介绍了单片机控制系统设计的一些基础知识。
本文将进一步探讨以下五个大点,包括输入输出设备的设计、通信接口的设计、数据存储与处理的设计、系统调试与测试以及系统优化与扩展。
正文:1. 输入输出设备的设计:a. 确定所需的输入输出接口类型,如数字输入输出、模拟输入输出等。
b. 设计合理的按钮、开关和指示灯等输入输出设备,以满足系统需求。
c. 考虑电气特性,包括输入输出电平和电流等参数。
d. 选择合适的输入输出设备的连接方式,如并行连接、串行连接等。
2. 通信接口的设计:a. 确定需要的通信接口类型,如UART、SPI、I2C等。
b. 选择合适的通信协议和通信速率,以满足系统需求。
c. 设计适当的硬件电路和软件协议,以实现与外部设备的可靠通信。
d. 考虑通信接口的数据格式、错误检测和纠错机制等功能。
3. 数据存储与处理的设计:a. 确定需要的数据存储与处理方式,如RAM、ROM、Flash 等。
b. 设计合适的数据结构和算法,以满足系统对数据的处理需求。
c. 考虑数据的读写速度和容量等特性,选择合适的存储器芯片。
d. 针对系统的特定需求,设计相应的数据处理模块和算法。
4. 系统调试与测试:a. 设计合理的调试接口,以方便系统的调试和测试工作。
b. 编写调试程序和测试用例,对系统进行全面的测试。
c. 分析系统的调试结果,排查并解决可能存在的问题。
d. 完善系统的调试日志和文档,以备将来的维护和升级工作。
5. 系统优化与扩展:a. 分析系统性能和资源利用情况,发现可能的优化点。
b. 对系统的关键部分进行优化,以提高系统的性能和响应速度。
c. 考虑系统的可拓展性,设计合适的接口和模块,以方便将来的功能扩展。
d. 实施系统优化和扩展计划,持续改进系统的性能和功能。
基于单片机电梯控制系统设计-完整版毕业设计

《基础强化训练》报告题目:电梯控制系统电路印制板图的设计专业班级:电子科学与技术0801班学生姓名:金才指导教师:葛华武汉理工大学信息工程学院2010年7 月15 日基础强化训练任务书学生姓名:金才专业班级:电子0801指导教师:葛华工作单位:信息工程学院题目:电梯控制系统电路印制板图的设计一、训练目的主要目的就是对学生进行基础课程、基本技能、基本动手能力的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。
二、训练内容和要求1、基础课程和基本技能强化训练(1)设计一个电梯控制系统电路;(2)对所设计电路的基本原理进行分析;2、文献检索与利用、论文撰写规范强化训练要求学生掌握基本的文献检索方法,科学查找和利用文献资料,同时要求学生获得正确地撰写论文的基本能力,其中包括基本格式、基本排版技巧和文献参考资料的写法、公式编排、图表规范制作、中英文摘要的写法等训练。
3、基本动手能力和知识应用能力强化训练(1)学习PROTEL软件;(2)绘制电路的原理图和PCB版图,要求图纸绘制清晰、布线合理、符合绘图规范;4、查阅至少5篇参考文献,按《武汉理工大学课程设计工作规范》要求撰写基础强化训练报告书,全文用A4纸打印。
三、初始条件计算机;Microsoft Office Word 软件;PROTEL软件四、时间安排1、20010年7 月12日集中,作基础强化训练具体实施计划与报告格式要求的说明;学生查阅相关资料,学习电路的工作原理。
2、2010 年7 月12 日,电路设计与分析。
3、2010 年7 月13日至2010 年7 月15日,相关电路原理图和PCB版图的绘制。
4、2010年7 月16日上交基础强化训练成果及报告,进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract (II)1绪论 (3)2设计内容及要求 (4)2.1设计目的 (4)2.2设计任务及要求 (4)3设计原理及单元模块 (5)3.1设计原理及方法 (5)3.2单元模块设计 (6)3.2.1单片机最小系统模块 (6)3.2.2 开关控制模块 (7)3.2.3电机驱动模块 (8)3.2.4显示模块 (10)3.2.5报警模块 (12)3.2.6电路总图 (13)4软件模块 (14)5 PCB印刷版图模块 (14)5.1 protel99se功能介绍 (14)5.2 PCB版图 (15)6心得体会 (17)参考文献 (18)附录一 (19)附录二 (20)摘要本文介绍了一种采用单片AT89S52芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能,简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。
单片机步进电动机控制系统设计

前言单片机是一个单芯片形态、面向控制对象的嵌入式应用计算机系统。
它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域。
从此,计算机技术在两个重要领域-—通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。
采用8031单片机控制步进电机,可实现步进电动机正反转控制和步进电动机的无级调速。
分析了步进电机的工作原理,讨论了系统硬件和软件的设计方法,并给出了步进电机的四相八拍单片机控制的具体实现方法。
该系统操作简单,降低了成本,提高了系统的可靠性。
步进电机具有控制方便和体积小等特点,因此在智能仪表和位置控制中得到了广泛的应用。
近年来大规模集成电路的发展以及各种单片机的迅速发展和普及,为设计功能强、价格低的步进电机控制驱动器提供了先进的技术和充足的资源.步进电动机是一种将电脉冲信号转换成相应角位移或线位移的电动机,它的运行需要专门的驱动电源,驱动电源的输出受外部的脉冲信号控制。
每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为步距角。
脉冲的数量决定了旋转的总角度,脉冲的频率决定了电动机旋转的速度,改变绕组的通电顺序可以改变电机旋转的方向。
在数字控制系统中,它既可以用作驱动电动机,也可以用作伺服电动机.它在工业过程控制中得到广泛的应用,尤其在智能仪表和需要精确定位的场合应用更为广泛。
1 单片机的基本知识1。
1 概述单片微型计算机简称单片机,由于它的结构及功能均是按工业控制要求设计的,所以其确切的名称应是单片微控制器(Single Chip Microcontroller).它是把微型机算计的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、并行I/O接口、定时器/计数器及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机系统,故又把它称为单片微型计算机系统(Single Chip Microcomputer).由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的.随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、PWM、WDT等。
单片机控制系统的设计与实现

单片机控制系统的设计与实现单片机在现代电子产品中应用日益广泛。
通过对某一控制系统的设计与实现,本文旨在介绍单片机控制系统的基本原理、流程、结构及其开发环境。
一、单片机控制系统基本原理单片机控制系统是指通过单片机对某一设备或系统进行控制和管理的系统。
其基本原理是:将外部传感器或信号通过单片机的输入端口获取,并进行加工处理和逻辑运算。
然后根据控制程序的指令,通过单片机的输出端口输出控制信号,给被控制的设备或系统达到控制目的。
二、单片机控制系统流程单片机控制系统的具体流程如下:1.设计控制程序:控制程序通常由C语言编写,根据控制要求设计程序的基本架构和逻辑。
2.硬件设计:包括外部接口电路的设计及连接方式、输入信号的滤波和处理电路以及输出信号的放大和保护电路等。
3.编译烧录:将编写好的C语言程序编译成单片机自己的机器语言,并烧录到单片机的存储器中。
4.系统调试:包括单片机的上电复位、外设初始化和相关寄存器设置,调试控制程序中的代码和参数,检查控制效果和系统稳定性,以及修正问题和改进控制系统的功能。
三、单片机控制系统结构单片机控制系统的结构一般包括以下三个部分:1.外设部分:包括外部传感器或信号的采集部分、显示设备的输出部分等。
2.单片机微控制器:通常采用8051、PIC、AVR等微控制器。
它是整个控制系统的核心,用于执行控制程序,完成信号输出和输入等任务。
3.电源和供电模块:为整个单片机控制系统提供电源和电压稳定模块。
四、单片机控制系统开发环境单片机控制系统的开发环境一般包括以下几个方面:1.开发工具:包括集成开发环境(IDE)、编译器、调试器等。
2.仿真工具:可用于模拟单片机和外设,可提前进行系统调试和优化。
3.实验板设计:为单片机实现软硬件开发提供平台,实现系统的可靠性和稳定性。
4.资料和学习资源:这包括参考资料、电子书、教程、样例程序以及相关技术社区等。
五、总结单片机控制系统的设计和实现是一个复杂的过程,需要综合考虑软硬件平台、系统要求、环境因素和操作特点等因素。
单片机系统设计报告范文

单片机系统设计报告范文1. 引言本报告介绍了一个基于单片机的系统设计。
本项目旨在设计一个可靠、高效的控制系统,能够实现某一特定功能。
本报告将详细介绍系统的设计目标、硬件设计和软件设计,并对系统进行评估和讨论。
2. 设计目标本项目的设计目标是实现一个智能温湿度控制系统。
系统的主要功能包括实时监测环境的温度和湿度,并根据设定的阈值自动控制温湿度,保持舒适的环境条件。
3. 硬件设计3.1. 主控单元本系统选择了常用的基于单片机的主控单元,采用XMC4500系列单片机。
此单片机具有高性能、低功耗和多种外设接口的特点,非常适合本项目的需求。
3.2. 传感器模块为了实时监测环境的温湿度,我们选择了DHT11温湿度传感器。
该传感器具有较高的精确度和良好的稳定性,可以通过串口和单片机进行数据交互。
3.3. 人机交互模块为了方便用户对系统进行设定和操作,本系统设计了一个人机交互模块。
该模块包括一个液晶显示屏和几个按键,通过显示屏和按键可以实现菜单显示和参数设定功能。
3.4. 控制模块为了控制温湿度,本系统设计了一个控制模块。
该模块通过与主控单元的通信,接收来自传感器模块的数据,并实施相应的控制策略,如开关空调、加湿器等来维持设定的温湿度。
4. 软件设计4.1. 软件架构本系统的软件设计采用了模块化的结构。
主控单元的软件主要分为三个模块:传感器模块、人机交互模块和控制模块。
每个模块都有相应的功能函数,通过调用这些函数来实现不同的功能。
4.2. 传感器模块传感器模块负责实时读取温湿度传感器的数据,并将数据发送给主控单元。
为了增加系统的稳定性,我们设计了数据校验和容错机制。
4.3. 人机交互模块人机交互模块负责显示菜单和接收用户的操作。
用户可以通过按键来选择菜单和设定参数。
我们设计了一个菜单管理器和按键管理器来实现该模块的功能。
4.4. 控制模块控制模块根据传感器模块提供的数据和用户设定的参数,实施相应的控制策略。
例如,当温度超过设定值时,控制模块会发送控制信号给空调,打开空调降低室内温度。
基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号 07437230常州大学硬件实习报告题目:步进电机单片机控制系统的设计学生:学院(系):专业班级:指导教师:通信(怀)081单片机原理与应用实习任务书一、设计题目步进电机单片机控制系统的设计二、设计背景步进电机是工业过程控制及仪表中的主要控制元件之一。
它可以在机械结构中把丝杆的角度变成直线位移,也可以用它带动螺旋电位通信工程系指导教师:孙守昌1、前言1.1课题的背景、目的和意义1.1.1课题设计的背景:步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机也是工业过程控制及仪表中的主要控制元件之一。
它可以在机械结构中把丝杆的角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。
在数字控制系统中,由于它可以直接接收计算机输出的数字信号,而不需要进行D/A转换,所以使用起来十分方便。
步进电机具有快速的启停能力和精度高的显著特点,在定位场合得到了广泛应用。
1.1.2 课题设计的目的:(1)了解步进电机的结构和工作原理。
(2)掌握步进电机控制系统的设计方法及其调试技术。
(3)能够使用电路仿真软件进行电路调试。
步进电机驱动控制系统设计内容1.1.3 课题设计的意义:随着工业自动化的发展,步进电机的应用越来越广泛。
步进电机是用脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽阔的频率来实现调速,快速起停,正转反转控制及制动等,并且用其组成的开环系统既简单,廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装备等多领域有着极其广泛的应用。
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,研制步进电机驱动器具有十分重要的意义。
1.1.4课题的现状与发展趋势步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Stepping moter,pulse motor或Stepper servo,其应用发展已有80年的历史。
正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。
随着微电子和计算机技术的发展。
步进电机的需求量与日俱增,在各个国民经济领域都有应用。
比如在数控系统中就得到了广泛应用。
目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。
1.1.5课题欲解决哪一方面的问题在设计上尽量使其安全以及简单 易操作。
其次,在这次设计可行性上进行分析如下: 1、经济可行性:单片机课程设计----- 所谓经济可行性,即在这次设计上需要投入资金的多少,由于课程设计是提 高我们的动手能力以及资金有限。
因此在经济上必须能够承受,比较理想化的对 于我们课程设计来说是不可行的。
通过分析后,无论是在器件价格或是常见度上 均是可行的。
2、技术可行性: 技术可行性主要是分析技术条件上是否能够顺利开展并完成课程设计的主 要问题,硬件、软件能否满足设计者的需要等。
通过分析各种软件环境,硬件仿真环境等均已经具备。
综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统 的开发是完全可行的。
2、课题设计2.1方案的原理、特点与选择依据2.1.1 方案的原理采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。
系统由硬件设计和软件设计两部分组成。
其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块个功能模块设计。
2.1.2 特点优点:(1)不需要反馈,控制简单。
(2)与微机的连接,速度的控制(起停和反转)及驱动电路的设计比较简单。
(3)没有角累积误差。
(4)停止时也保持转距。
(5)没有转向器等机械部分,不需要保养,造价低。
(6)即使没有传感器,也能精确定位。
(7)根据给定的脉冲周期,能够以任意速度转动。
缺点:(1)难以获得较大的转距。
(2)不宜高速转动。
(3)超过负载时会破坏同步,高速工作时会发生振动和噪声。
2.1.3选择依据AT89C51是一种低功耗高性能CMOS8位单片机微机,它除了具有与MCS-51完全兼容的若干特性外,最为突出的优点就是片内集成了4K 字节FLASH PEROM,可用来存放应用程序,这个FLASH程序存储器除允许用一般的编程器离线编程外,还允许在应用系统中实现在线编程,并提供了对程序进行三级加密保护的功能,AT89C51的另外一个特点就是工作速度更高,晶振频率可高达24MHZ,一个机器周期仅500ns,比MCS-51快一倍。
(1)管脚说明VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(2)芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10MS 来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
串口通讯 单片机的结构和特殊寄存器,这是你编写软件的关键。
至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢? SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。
有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。
”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。
CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。
发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。
操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字SFR 定义为一个变量就可以对其进行读写操作了,如SFR SBUF = 0X99;当然你也可以用其它的名称。
通常在标准的REG51.H 或AT89X51.H 等头文件中已对其做了定义,只要用#INCLUDE 引用就可以了。