单片机设计范文1
二 设计要求
利用两片8031单片机实现两机间的信息串行通信。
三 设计作用和目的
1、注重培养综合运用所学知识、***分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。
2、了解8031各脚的功能,工作方式,计数/定时,I/O口的相关原理,并巩固学习单片机的相关内容知识。
3、通过软硬件设计实现两片8031单片机间的信息串行通信。
四 仪器设备
TSC—51单片机开发系统
五 具体设计......
参考文献
1张俊谟.单片机中级教程——原理与应用.北京:北京航空航天大学出版社,2000.6
2吴金戌等.8051单片机实践与应用.北京:清华大学出版社,2002.9
3潘永雄.新编单片机原理与应用.西安:西安电子科技大学出版社,2003
4何立民.MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社,1990
单片机设计范文2
该穴盘苗自动取苗机构用来移取128穴的穴盘苗,其中苗盘输送带、秧苗顶杆以及导苗板是该取苗装置的关键部件,能够完成苗盘的输送、一次16株苗的整排顶出以及导出工作[4]。隔板式苗盘输送带倾斜放置,其倾斜角可通过支撑杆进行适当调整;苗盘输送定位之后,会沿着苗盘输送带向下整排地间歇移动,固定在支撑架上的秧苗顶杆每次从苗盘最下一排秧苗处的小孔顶出整排秧苗;秧苗顶出后落入导苗板,通过导苗板对秧苗的倒置和扶正,再经由移栽机的秧苗传送机构送入栽植器,完成取苗工作。
2机构控制要求及动力系统选择
2.1机构控制要求本文中的穴盘苗自动取苗机构采用的是从穴盘底部整排顶出的方式来同步实现取苗和投苗工作过程,运动规律简单,避免了传统取苗机械手取苗、投苗过程不同步。为了实现苗盘间歇式输送的精确定位,保证秧苗能够被有效地顶出,需要对苗盘输送定位的精度问题进行分析和研究。鉴于田间露地移栽环境的恶劣性和复杂多变性,也要充分考虑到系统的抗干扰性和稳定性。2.2取苗机构动力系统选择苗盘输送带、秧苗顶杆、导苗板是取苗机构3个核心工作部件。工作过程中,完成苗盘的间歇式输送、秧苗顶杆的顶出和缩回动作。需要不同工作过程中的动力系统,完成取苗机构的取苗动作。2.2.1苗盘输送动力系统由于顶杆位置固定,为保证秧苗顶杆无干涉地插入底部小孔并顺利顶出秧苗,需要实现苗盘输送取苗机构中苗盘的间歇式输送定位。本文采用86BYGH103型步进电机驱动系统来提供动力,选用步进电机进行精密定位。与传统的定位方法相比,具有定位精度高、稳定性好等优点[5]。2.2.2秧苗顶杆伸缩动力系统由于穴盘秧苗根部的基质易碎,要求秧苗顶杆对穴盘秧苗顶出的作用力能很好地受到控制,因此秧苗顶杆顶出和缩回的动力系统选择气压传动来驱动[6]。秧苗顶杆取苗投苗动作的气路控制系统主要由空压机、过滤调压单元、电磁阀、节流调速阀和气缸等组成,系统结构***如***2所示。
3取苗机构控制系统硬件设计
硬件电路的设计不仅要考虑取苗机构系统功能的要求,还要考虑到软件设计实现时的简单方便[7]。本文采用单片机系统来对该穴盘苗自动取苗机构进行控制,单片机型号选择国内宏晶科技推出的基于新一代增强型8051内核的STC89C54系列的芯片。该单片机控制系统主要控制取苗机构完成苗盘的间歇式步进输送定位以及秧苗顶杆的气动伸缩取投苗过程,还具有苗盘计数功能。控制系统能够对已移栽完的空苗盘数进行检测和计数,并通过液晶显示器LCD显示出来,同时还具有故障报警功能,对取苗机构中苗盘输送带或者秧苗顶杆的停动通过蜂鸣器和发光二级管LED进行声光报警。此外,该控制系统能通过按键来控制取苗机构的开启和暂停,并通过LED显示当前工作状态。控制系统的硬件功能结构***如***3所示。该取苗机构控制系统硬件部分上述功能的实现采用模块化的设计方法,以STC89C54RD+单片机作为控制器,采用了模块化的设计方法。根据系统的硬件功能将控制电路划分为处理器模块、电源模块、信号采集模块、控制量输出模块以及人机交互模块,并分别对各部分电路模块进行了器件选型、控制引脚分配和电路设计。硬件电路设计简单可靠,PCB电路板布局布线合理、实用、抗干扰。系统硬件模块结构***如下***4所示。各模的功能如下:1)处理器模块。处理器模块以STC89C54RD+微处理器为核心,利用片上定时器模块以及中断功能对输入的苗盘定位信号、有无苗信号以及秧苗顶杆位置信号进行检测,并根据控制量输出程序来控制执行机构响应。2)电源模块。为各模块提供合适的电平,保证系统正常地上电工作。3)信号采集模块。实时监测苗盘间歇式输送的位置、秧苗顶杆伸缩的位置以及空苗盘计数信号的输入,并将信号处理之后送入处理器模块。4)控制量输出模块。取苗机构中苗盘的间歇式步进输送定位以及秧苗顶杆的气动伸缩取投苗过程的实现是通过处理器发送控制信号至输出模块,并通过输出模块控制相应的执行机构来完成的。5)人机交互模块。通过按键来控制取苗机构的开启和暂停,通过LED发光二级管来显示系统的工作状态,通过LCD液晶显示模块来显示空苗盘数,通过蜂鸣器和LED发光二级管对系统故障进行声光报警。
4取苗装置控制系统软件设计
取苗装置整个软件设计采取主循环加中断处理程序的模式。软件系统借助于硬件平台,实现数据的采集、传输、处理、存储以及发送功能。本设计采用C51语言进行程序编写,采用KeiluVision2集成开发环境进行软件开发。程序的设计采用模块化的设计方法,以硬件模块为基础将整个应用程序相应地划分为几个***的程序模块:信号采集程序模块、控制量输出程序模块、人机交互程序模块。整个软件系统部分由这几个程序模块和主控程序组成,各个***的模块可以先单独进行设计和调试,最后将它们与主控程序装配连接成一个整体进行综合调试。4.1主程序设计主程序的主要功能是完成各模块的初始化、全局变量的初始化及其他参数的初始化,设置中断方式和计数器工作方式,有序管理并合理调用各个子程序模块来完成系统功能等。主程序流程***如***5所示。4.2信号采集程序设计在本设计中,对苗盘输送的位置信号和空苗盘计数信号的采集是通过单片机内部的计数器来实现的。计数器T0记录空苗盘脉冲信号,完成对移栽工作量的统计;计数器T1记录苗盘输送位移的反馈脉冲,在系统对计数器进行初始化后,计数器便开始进行计数。通过读取计数器T0和计数器T1的计数值,即可获得所需的计数信息以及有关的位移信息;而秧苗顶杆顶出时的定位信息和退回时的复位信息通过读取P1.2和P1.3口的高低电平值来获得。4.3控制量输出程序设计取苗机构中苗盘的间歇式步进输送定位、取投苗过程中气动秧苗顶杆的伸缩动作以及两者的先后执行顺序是由控制量输出程序来控制完成的。4.3.1苗盘间歇式步进输送定位控制程序设计苗盘的间歇式步进输送定位控制包括输送时步进电机的升降速控制以及定位时输送位移的自适应Fuzzy-PID控制。步进电机升降速控制程序设计采用的是经过“阶梯升降法”离散化处理之后的S形阶梯拟合曲线来实现的,研究中采用按段拟合至给定频率的方式来实现。考虑到曲线升速段与降速段的对称性,只研究升速段即可。根据实际情况以及步进电机特性所确定的升降频曲线,将曲线的升速段等频率间隔划分为20级,假设步进电恒速段运行的频率为f0,则升速段所划分的各级分段频率为:fi=i/()20·f0,i∈1,()20且i为整数。根据升降频曲线求出各级分段频率的分段时间ti,i∈1,()20且i为整数,进一步求出每一级频率所运行的时间Δti=ti+1-ti,则每级频率所运行的步数为:Ni=Δti·fi,i∈1,()20且i为整数。由此可建立一个频率-步数表,并将该表存储于内存的一个数据存储区内。程序运行时通过查表按顺序进行取数,每次取出一级频率和该频率所运行的脉冲数,由此来实现步进电机按S形曲线进行升降速的过程[8]。自适应Fuzzy-PID定位控制算法的程序设计过程中,对于苗盘间歇式输送位移的控制采用参数自整定Fuzzy-PID控制算法来实现。模糊控制算法实现的程序一般包括两部分:一部分是离线进行模糊矩阵运算计算模糊控制查询表的程序;另一部分是在模糊控制过程中***计算输入变量(即误差和误差变化率)的值,并将它们进行模糊化处理,通过查找查询表后再做输出处理的程序。4.3.2取苗动作执行程序设计取苗动作执行过程中首先对苗盘进行输送;当苗盘输送到位后,气动顶杆伸出,顶出整排秧苗;秧苗被顶出之后,气动顶杆缩回至复位。这样,取苗系统完成了一次整排苗的定位及其取出过程。依据此执行过程完成取苗动作程序设计。4.4人机交互程序设计4.4.1按键扫描程序设计按键所使用的开关为机械开关,在闭合与断开的瞬间均存在着抖动,抖动时间一般为5~10ms,为了保证按键能够被正确地识别,本设计采取软件延时滤波的措施来消除抖动的干扰,即在检测到按键按下后延时10ms再次检测按键,如果再次检测结果相同则确认为按键按下。在按键按下的同时,LED发光二级管会自动点亮显示按键所指示的工作状态。4.4.2苗盘计数显示程序设计由计数器记录空苗盘脉冲信号,计数器T0的计数值即为空苗盘数。苗盘计数显示器选用的是LCD1602液晶显示模块。该模块的读写操作、屏幕以及光标的操作均通过指令编程来实现。4.4.3故障报警程序设计取苗机构工作过程中出现故障时,如苗盘输送带停止输送或者秧苗顶杆出现停动,系统能够进行声光报警。声光报警电路的控制端口为单片机P2.6口,将P2.6口置为高电平时,LED发光二级管发光,蜂鸣器Buzzy发出警报。其中,故障的判断可以由苗盘输送带停动故障标志F3以及秧苗停动故障标志F4来判断。
5结语
单片机设计范文3
关键词:单片机最小系统板;AT89S52;数码管
一、概述
计分计时器是体育赛场上必不可少的设备,其设计的合理性关系到比赛的正常的进行。随着比赛规则的进一步完善,计分计时器也要进行改善,以满足赛事的需求。在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单片机。[1] 单片机在很多领域和场合都会使用,这是由它的某些特点所决定的。比如:小体积、低功耗、灵活性较好。控制功能强、产品的设计较为容易。这也是本文选择单片机作为设计篮球计分器的芯片的原因。
二、篮球计分计时器的总体设计
篮球计分计时器需要实现的功能为记下比赛双方A队与B队的分数,比赛进行的小节数,24秒倒计时,交换场地,以及显示哪队胜利的胜利标志。根据比赛经验知:篮球比赛最高分为100多分,所以使用三位数码管来显示比赛双方的分数。篮球比赛总共有四个小节,为单数,所以使用一位数码管来显示进行的小节。由于24秒为两位数,所以使用两位数码管来显示24秒倒计时的时间。给每个队安装一个发光二极管,哪个队的发光二极管亮哪个队就获得了胜利。加分减分,计时的开始用按键来进行控制。在进行电路的连接中,数码管、按键与AT89S52相对应的管脚相连。将所用到的AT89S52、数码管、按键、发光二级管焊接到单片机最小系统板上,这样就不必设计晶振电路和复位电路。为了电路连接的方便和程序编写的简练,设计中所采用的数码管均为共阳极或者共阴极。
***1:系统框***
三、硬件设计
1.AT89S52
AT89S52单片机有P0、P1、P2、P3口,这四个口通过与其他的芯片端口相连可以完成一系列的功能。P0口为分时复用的低8位地址/数据总线,让P0口的P0.0---P0.6分别控制A队分数显示数码管、B队分数显示数码管和倒计时显示数码管的A、B、C、D、E、F、G引脚。P2口作为高8位地址总线使用,让P2.0、P2.1、P2.2分别控制A队分数显示数码管的三个位引脚,P2.3、P2.4、P2.5分别用来控制B队分数显示数码管的三个位引脚,P2.6、P2、7用来控制倒计时显示数码管的两个位引脚。P3口具有第二功能,P3.0---P3.6分别用来控制小节显示数码管的A、B、C、D、E、F、G引脚,而小节显示数码管的一个位引脚用P3.7引脚来进行控制。P1口用来控制按键闭开。P1.0用来控制A队的加分按键;P1.1用来控制B队的加分按键;P1.2用来控制交换场地的按键;P1.3用来控制结束比赛的按键;P1.4用来控制倒计时的按键,按键按下去倒计时开始进行;P1.5用来控制小节数,按一下小节数增加1。
2.LED显示模块的设计
数码管有共阳极和共阴极两种。共阳极数码管是将所有发光二极管的阳极接到一起形成公共端,共阴极数码管是将所有二级管的阴极接在一起形成公共端。[2]数码管的扫描方式有动态显示和静态显示两种。静态显示所利用的元器件多,结构复杂。动态显示利用人的视觉停留现象,所使用的元器件比静态显示要少。所以本次设计中采用的是共阴极数码管,扫描方式为动态显示。
3.按键的设计
本次设计需使用6个按键,分别控制A队的加分、B队的加分、交换场地、结束比赛、24秒倒计时、小节数。这些按键需跟AT89S52的P1口连接,来实现其控制的功能。因为只需要6个按键,按键数目较少,所以不需要用按键矩阵键盘,以免造成资源的浪费,用六个单独的按键即可。
4.电源模块设计
单片机系统提供的电源为稳定的5V直流电源。设计中电源电路采用基于LM7805的输出电压为+5V输出电流为1.5A的稳压电源。它包括桥式整流电路Dl 到D4,电源变压器B,防止自激电容C12、 C13,滤波电容C1l 、C13 及一个固定式的三端稳压器78L05,电路搭建简捷方便。
***2: 基于LM7805的稳压电源
四、软件设计
篮球计分计时器软件设计采用模块化程序设计。采用模块化设计,一个模块一个模块的设计,设计思路清晰、容易设计、调试出错时容易查找错误处。程序由主程序、延时子程序、A队加分、B队加分、A队分数显示、B队分数显示、倒计时和倒计时显示、小节和小节显示子程序组成。
五、系统的性能调试
在设计的过程中,首先进行软件的仿真,仿真结果与实现的功能要求一致后,按照原理***进行实物的焊接,焊接无误后,将程序烧写进AT89S52。对实际的电路进行调试,调试现象能达到预期的要求。实际中遇到的问题,数码管的显示亮度有点暗,可能的原因是电路中的电流太小。这时采用一个驱动芯片对电路进行驱动,问题就得到了解决。
六、结束语
电子技术应用到我们的日常生活中,将会解决很多生活中的问题,使我们的生活变得丰富多彩、方便快捷。单片机广泛应用于仪器仪表、家用电器、医用设备、航天领域、专用的设备的智能管理及过程控制等领域。[3]单片机技术与我们的生活息息相关,我们应该更好的、正确的使用它。
参考文献:
[1]李全利.单片机原理及接口技术[M]. 2版. 北京:高等教育出版社,2011.
单片机设计范文4
【关键词】STC89C52;舵机控制;串行通讯;PWM波
一、小型自控飞艇舵控系统简介
舵机是小型自控飞艇执行机构中最主要的执行部件,能否快速、准确地完成对舵机的控制直接关系到飞艇的自主控制效果。因此,舵控系统成为小型飞艇自主飞行控制系统中最重要的组成部分之一,它的主要功能是接收艇载计算机发出的控制指令,实现对控制指令的采集、分析和处理,并根据控制指令向舵机输出连续可调的舵控信号,操纵艇上各舵机完成预定动作。
二、舵控系统硬件设计
本飞艇舵控系统以多片STC89C52单片机为核心,配合电源模块、驱动芯片及多路转换开关等在一块印制电路板上实现预定功能。
舵控系统主控芯片选择STC89C52单片机,它具有8KB的并行可编程非易失性FLASH程序存储器,并可对器件串行在系统编程(ISP)和在应用中编程(IAP)。数据保留时间:10年,全静态工作:0Hz-24MHz,三级程序存储器锁定,128×8位内部RAM,32可编程I/O线,4组8位I/O口,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
电源模块采用78xx系列端稳压集成电路,它是线性三端稳压器件。利用该器件只需极少的器件便可构成高效稳压电路,为MCU稳定可靠的工作提供强有力的保证。
此外,为增强信号的驱动能力,在输出之前采用74LS245作为信号驱动芯片;串口电平转换采用Max232芯片。
三、舵控系统软件设计
1.软件总体结构
舵控系统各单片机程序均在Keil C51环境下采用C语言编写。为了保证系统的实时性及快速性,软件编写采用了主程序+任务+中断的结构。
在三部分程序中,以主单片机1的外部中断最多,包括串口中断、与主单片机2的握手中断以及艇载计算机看门狗的外部中断,这几个中断的优先级排列顺序是:艇载计算机看门狗中断>串口中断>握手中断。主单片机1接收到艇载计算机通过RS232串口发来的信息帧后,首先进行帧识别,提取出前m个字节的数据,加上帧头帧尾后由P1口发送给主单片机2;并将第m+1个字节数据作为开关量通道控制信号由P2口输出,用作系统控制备用。
主单片机2程序的主要任务是通过其P1口接收上位机传来的数据,提取各控制信息,在相应控制指令的前面加上地址,依次由串口发送给下位舵控单片机。
舵控单片机的主要任务是识别控制指令和地址指令,并根据收到的控制指令(舵机占空比信号)产生PWM波控制艇上舵机。
该系统软件设计中的关键问题包括以下几个方面:
(1)控制信号流程中数据帧的接收识别;
(2)舵控系统中主从单片机之间的多机通信;
(3)PWM波舵控信号的软件产生方法。
2.软件设计中的关键问题
(1)数据帧的串口接收及识别技术
采用了中断服务程序就地帧识别技术,其优点在于数据接收后立即进行帧识别,省去了对缓冲区的管理工作,减少了存取次数,因而节省了大量的时间,极大地提高了接收程序的实时性。同时错帧和断帧被自动丢弃,不再占用资源。
(2)单片机多机通讯
在舵控系统设计中,各部分间的通讯是设计的重要内容,其中主要包括单片机与上位PC机间的通讯和单片机与单片机之间的通讯。在舵控系统中,主单片机1与上位PC机通讯是通过单片机自带的一路异步串行通讯接口完成的;而主单片机1通过其P1口向主单片机2传输数据,
此系统中,主单片机2作为主机,m个舵控单片机作为从机,在主机与从机的通讯过程中,串口控制寄存器中SCON中的***2位发挥了重要作用。当其中一个舵控单片机的***2位为1时,该单片机只接收地址帧,对数据帧不理睬;而当***2位为0时,该单片机接收所有发来的消息。具体通信过程如下:①首先将主、从单片机工作方式选为模式3,所有从机的***2位开始置1,处于只接收地址帧状态。②主机接收主单片机1发来的数据帧,从中提出数据部分(m个字节的指令对应m个舵控单片机),根据序号在控制指令字节前加上一个字节的地址信息。然后主机依次通过串口向下发送各舵控单片机的地址字节和数据字节。发送一帧地址信息,包含8位地址,第9位为1,表示发送的帧为地址帧。③从机接收地址帧后,进入中断,将发来的地址与自身比较;地址一致的从机就是被寻址的从机,它清除***2位,接收主机发来的所有后续帧信息(数据信息)。未寻址的所有其他从机仍维持***2=1,对主机发来的数据帧不理睬,直到发来新地址帧;之后在下一次中断时被寻址的从机接收主机发来的数据信息(第9位为0)。
需要注意的是,如果对已经寻址的从机再发送地址帧,则该从机***2=1,恢复初始状态,和其他从机竞争。
(3)舵控信号PWM波的产生
对飞艇舵机的控制最终是通过舵控单片机产生PWM波来实现的。通常,产生PWM波不外乎硬件和软件两种方法。考虑到舵控单片机计算任务不大,本系统中采用软件产生PWM波的方法。下面以定时器0产生PWM波为例,说明通过软件产生PWM波舵控信号的实现方法。
在程序中,由串口中断接收上位机发s送的脉宽指令,继而通过改变入口参数a来调整PWM波的脉宽,并确保脉宽输出在正常范围之内。通过该方法产生PWM波切实可行,简单有效,可以广泛应用于舵机控制信号的产生中。
参考文献
[1]张晴,袁晓梅,罗凯.基于PWM信号遥控机器人的设计与制作[J].数字技术与应用,2010(10).
[2]冯晓伟,王雷阳,李正生.多路舵机控制PWM发生器的设计与Proteus仿真[J].现代电子技术,2011(11).
单片机设计范文5
[关键词]出租车计价器;STC89C52;霍尔传感器;液晶;LCD1602
中***分类号:TP368.1;TP212.9 文献标识码:A 文章编号:1009-914X(2015)45-0099-02
1 绪论
出租车计价器是计量出租车载客一段行程后营运收费的智能型专用仪表,计价器能否公正、公平的计量出一段行程的费用是乘客和出租车司机都关注的问题,也是衡量计价器性能的最根本的指标之一。目前,出租车计价器普遍采用单片机作为系统的控制芯片以实现出租车计价器的智能化计费。
2.总体方案设计
系统整体设计框***如下,整个系统以STC89C52单片机作为系统的核心,输入部分由键盘控制单元、里程传感器以及里程计算单元组成,输出部分则由液晶显示单元、状态指示单元以及电机驱动电路组成,其中电机驱动电路以及直流电机仅限于仿真。
出租车收费主要是根据里程进行收费的。出租车开动后,车轮转动,车轮转动一周便行驶一定的距离L(,r为车轮半径)。把霍尔传感器安装在车轮上,当车轮转动一周后,霍尔传感器便发送一个脉冲信给单片机,单片机接收到信号后,便对该信号做一次计费信息收录,出租车的总行程即为,N为单片机接收到的总脉冲数。
当出租车启动计费系统时,单片机检测到霍尔传感器的脉冲信号并进行里程计算;无乘客时,系统处于等待状态,液晶显示当前起步价、每公里单价、等待时间计费、等待每分钟计费单价;乘客上车后,启动计费系统,通过设定好的费用参数,直接进入系统,汽车开动时便开始计价并显示里程和金额等信息;当出租车停止行驶而系统仍在运行时,出租车处于等待状态下,开始等待计费,并显示等待时长;当乘客到达目的地下车,暂停键按下,液晶显示本次运行路长,等待时长,以及总费用;按复位键再次启动后,单次金额与里程等信息清零复位,就此完成一次计价。计价器手动复位,准备下一次行程的计费。由于出租车白天的计费标准和晚上的收费标准不一样,因此在设计的时候,还需要设计按钮做白天、夜晚模式切换,以实现不同的费率计算。
3.硬件电路设计
4.系统软件设计
4.1 主程序设计
程序设计开始前,为防止先前存储的数据对后续的数据有影响,需要先初始化各接口芯片以及单片机内部的数据。当有乘客上车,空车信号灯即被打下,计价器启动并计费,出租车开动后,单片机接收到霍尔传感器接发送的脉冲信号做行程计算,并判断是否已超过起价里程数。若已超过起价行程数,则根据行程数、单价和起价计算出当前的累计价格,并将结果即时储存,且显示在LCD1602;若出租车中途停车(等待或低速行驶),在一定时间内,单片机没有接收到霍尔传感器发送的脉冲信号,系统就启动定时器T1计时;若超过规定的等待时间后,计价器就进行当前金额的累加与显示,并在计价器上显示等待时间;到达目的地后,出租车停止行驶,单片机接收不到霍尔传感器发送的脉冲信号,就停止计费,显示当前所应该付的金额和对应的单价;等乘客下车后,司机把空车灯打上,出租车开动后,单片机再次接收到霍尔传感器发送的脉冲信号后,系统自动对显示清零,并重新进行初始化过程,完成1次计价。
计价1:起步价
计价2:起步价+等待时间×等待价格(0.1元/分钟)
计价3;起步价 +里程×每公里价格(2.6元)
计价4:起步价+里程×2.6元+等待时间×等待价格(0.1元/分钟)
在定时断服务程序中,每1010ms产生一次中断,当产生100次中断的时候,也就到了一秒,按秒累积60次后恰好为1min,这样就可完成定时1min的功能。
主程序设计流程***如下:
程序开始后进入芯片初始化阶段,判断是否进入系统否则进入模式调整,进入系统后判断是否运行,是则运行计费处理,判断是否中途等待后进入里程计数流程或中途等待流程。最后通过界面显示显示行车状态,返回判断运行与否。
4.2 里程计数中断服务程序
每当霍尔传感器输出一个低电平信号就使单片机中断一次,里程计数器T0对里程脉冲计满100次时,就完成当前行驶里程数的累加操作,并将结果存入里程寄存器中。
4.3 中途等待中断服务程序
当中途等待按键K3按下时,就启动T1开始计时,每当计时到达1min,等待时间累加器值就自加,并将结果存入时间寄存器中。当中途等待结束的时候,即再按一下K3键就自动切换到正常的计价。
5 总结
本设计以单片机作为系统的控制中心,采用灵敏的霍尔传感器测量里程,提高了出租车计价器性能,另外本设计电路简单、成本低,加上经过优化的程序,也提高了系统的可行性。由于本设计是在仿真的环境下进行的,本文所设计的出租车计费器还不够人性化,如果在本设计的基础上,再增加时钟单元、数据存储单元以及语音提示等单元,本文设计的出租车计价器就更加智能化了。
参考文献
[1]刘剑.51单片机开发与应用基础教程 北京:中国电力出版社,2011
[2]李泉溪.单片机原理与应用实例仿真 北京:北京航天大学出版社,2009
[3]石长华.51系列单片机项目实践 北京:机械工业出版社,2010
[4]张元良.单片机开发技术实例教程 北京:机械工业出版社,2010
[5]杨居义.单片机课程设计指导 北京:清华大学出版社,2009
单片机设计范文6
关键词:直流电机;AT89C51单片机;PWM信号
0引言
直流电机具有优良的控制性能,其机械特性和调速特性均为平行的直线,调速范围广,易于平滑调节【1】。直流电机已成为现代工业自动化系统、现代科学技术和现代***事装备中不可缺少的重要元件,对直流电机的控制要求也越来越高,传统的采用由晶闸管可控整流器供电的调速系统已满足不了现代社会的需求【2】。同时,随着电子技术高速发展,直流电机的控制逐渐地由模拟化走向数字化,特别是单片机技术发展的日新月异,使得许多控制功能和算法可以由软件来实现。
1系统总体方案
1.1 PWM调速原理
PWM(Pulse Width Modulation)脉冲宽度调制是通过产生矩形波改变固定电压的开关频率,从而改变负载两端的平均电压,从而达到控制要求的一N电压调整方法。PWM广泛应用在从测量、通信到功率控制与变换的许多领域中【3】。
在PWM驱动控制的调速系统中,按一个固定的频率(本系统选取频率f=50Hz)来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。
设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va = Vmax * D,其中Va指的是电机的平均速度;Vmax 是指电机在全通电时的最大速度;D = t1 / T是指占空比。
由上面的公式可见,当我们改变占空比D = t1 / T时,就可以得到电机不同的平均速度Va,从而达到调速的目的。
1.2 PWM调速工作方式
单片机控制使一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速,即采用单极性工作方式。
1.3 PWM调脉宽方式
PWM调脉宽方式有三种:定频调宽、定宽调频和调宽调频。本设计中采用定频调宽的方式。因为采用这种方式,电动机在运转时比较稳定,并且在采用单片机产生PWM脉冲的软件实现上比较方便。
1.4 PWM实现方式
本设计采用定时器中断方式产生PWM脉冲波,这一方式产生的脉冲宽度极其精确,误差只在几个微秒。如果采用软件延时方式产生PWM脉冲波,占用大量CPU,且精度上不及前者,特别是在引入中断后,将有一定的误差。
2系统硬件电路设计
2.1 总体硬件电路框***
2.2 LCD显示模块
本系统采用LCD1602液晶显示器实时地显示电机的转速。其中,RS、RW和E分别由单片机的P2.5口、P2.6口和P2.7口控制,D0-D7和单片机的P0口相连,用于接收地址、命令和数据。
2.3 按键控制模块
本设计采用最简单的***按键对系统进行控制。用五个***按键分别连接P2.0至P2.4口。单片机上电初始化后,首先扫描键盘,当按下“开”按键并放开时,则启动电动机转动,否则一直扫描键盘,其他按键无效。需要注意的是:所有按键长按住无效,只有按下并放开才能完成一次相应的动作。
3系统软件部分的设计
3.1 系统程序流程***
系统的整个运行过程为:给整个系统上电单片机启动后,LCD初始化,进入键盘扫描程序,判断键盘是否按下,如果有键按下,消除抖动并执行相应的子程序,然后返回键盘扫描程序处于等候状态。
3.2 PWM信号产生
本设计通过定时器T0定时,来产生PWM信号。每1ms中断一次,一个周期内中断20次,即PWM波信号频率为50Hz。在中断处理程序中判断并输出高电平或低电平。
3.3 测速程序
本设计通过定时器T1来测定电机输出脉冲的宽度,从而计算电机转速。将工作方式寄存器TMOD中的对应于T1的门控位GATE置“1”,用外中断引脚(INT1)上的高电平来启动定时器T1运行,高电平结束时定时器停止,取出TH1和TL1的值,计算出高电平宽度,从而计算出电机输出脉冲的频率,并通过公式计算出电机的转速。
4 系统调试
本设计通过Proteus软件仿真来检验设计方案的可行性【4】。在Proteus中画出系统电路***,当程序在Keil C51中调试通过后,生成以hex为扩展名的文件,这就是使系统能够在Proteus中成功进行仿真的文件。
所有按键长按住无效,只有按下并松开时才能完成一次相应的动作。当按下“开”键并松开时,电机开始工作。若需要加快电机的转速,则按下“加速”键并松开,多次操作直到电机转速合适;相反,需要减慢电机的转速时,则按“减速”键。当然,在某些特定的环境下,还需改变电机的转向,此时,可以按一下“正反”键,以达到改变电机转向的目的。当不需要电机工作时,则按下“关”键。
用Proteus中的示波器观察直流电机以不同转速运转时,PWM信号的波形和电机输出矩形波的波形。直流电机速度值越大,PWM信号的占空比越大,电机输出矩形波的频率也越高。即电机速度值与PWM信号的占空比和电机输出矩形波的频率成正比。
5结束语
本文所述的直流电机调速系统是以单片机AT89C51为核心,而通过单片机来实现电机调速有多种途径,采用PWM软件方法来实现的调速过程具有更大的灵活性和更低的成本,它能够充分发挥单片机的效能。在硬件上采用H型桥式驱动电路,解决了电机驱动的效率问题。整个设计通过了Keil C51软件调试和Proteus仿真,大大简化了系统设计,缩短了开发周期。但该设计也有不足之处,主要是在关于速度的反馈控制上,缺少有效的PID控制算法,以至于转速还不是非常稳定。由于速度计算公式的精确度问题,使得测定的速度值与直流电机实际速度值也有一定的误差。
参考文献:
[1]贺益康,许大中.电机控制[M].第三版.杭州:浙江大学出版社,2010.9~48.
[2]孙冠群,于少娟.控制电机与特种电机及其控制系统[M].北京:北京大学出版社,2011.245~260.