㈠ 单片机直流电机调速系统的设计
单片机控制的直流电机调速系统
摘要:本文采用AT89C52作为主控芯片,设计了一种直流电机高速系统。AT89C52产生单极性工作制的定频PWM脉冲,配合驱动能力强大的L298,从而实现控制和调整直流电机转速和转向的功能。利用软件编程,能够设置多个占空比不同的脉冲,使得电机转速可以逐步增大或减小,同时在LCD上显示电机的工作状态,易于观察和识别。本设计主要由电机调速控制模块和LCD显示模块组成,具有电路简单,可靠性高,运行稳定的特点,是对于小型直流电机调速装置的一种探究。
关键词:AT89C52 定频PWM LCD 直流电机
目 录
1 绪论... 1
2 方案设计... 1
2.1 功能要求... 1
2.2 方案论证... 1
3 系统硬件的设计... 3
3.1 电机调速控制模块... 3
3.2 LCD显示模块... 6
3.3 硬件设计总原理图... 11
4 系统软件的设计... 12
4.1 主程序... 12
5 调试及性能分析... 14
5.1 调试与测试... 14
6 结论... 15
7 致谢... 15
参考文献... 17
附录... 18
㈡ 请简述单片机系统的设计过程是怎样的
单片机应用系统设计分为硬件设计与软件设计两部分及系统调试三个部分,大致过程如下:一、硬件电路设计1、根据任务需求规划确定单片机类型及外围接口电路方案;2、根据方案设计具体电路。二、软件设计1、根据目标任务的功能需求,结合硬件电路控制方式,规划设计软件功能模块;2、将功能模块细化成流程图;3、根据流程图编写程序代码;4、将编译后的目标代码下载到实物单片机或虚拟单片机进行软件仿真调试;三、系统调试1、将初调成功的目标的代码下载到单片机目标试验板进行软硬件联调及功能验证;2、验证成功符合设计要求,就可以进入小批量测试了。
㈢ 单片机 智能小车 课程设计
智能小车的设计与制作
摘要:本课题组设计制作了一款具有智能判断功能的小车,功能强大。小车具有以下几个功能:自动避障功能;寻迹功能(按路面的黑色轨道行驶);趋光功能(寻找前方的点光源并行驶到位);检测路面所放置的铁片的个数的功能;计算并显示所走的路程和行走的时间,并可发声发光。作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例。
作品以两电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元AT89S52单片机,处理数据后完成相应动作,以达到自身控制。电机驱动电路采用高电压,高电流,四通道驱动集成芯片L293D。其中避障采用红外线收发来完成;铁片检测部分采用电感式接近开关LJ18A3-8-Z/BX检测;黑带检测采用红外线接收二极管完成;趋光部分通过3路光敏二极管对光源信号的采集,再经过ADC0809转化为数字信号送单片机处理判别方向。由控制单元处理数据后完成相应动作,实现了无人控制即可完成一系列动作,相当于简易机器人。
关键字:智能控制 蔽障 红外线收发 寻迹行驶 趋光行驶
1.总体方案论证与比较
方案一:采用各类数字电路来组成小车的控制系统,对外围避障信号,黑带检测信号,铁片检测信号,各路趋光信号进行处理。本方案电路复杂,灵活性不高,效率低,不利于小车智能化的扩展,对各路信号处理比较困难。
方案二:采用ATM89S52单片机来作为整机的控制单元。红外线探头采用市面上通用的发射管与及接收头,经过单片机调制后发射。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,黑带采用光敏二极管对光源信号采集,再经过ADC0809转化为数字信号送到单片机系统处理。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,能很好地满足题目的要求。
比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能达到题目的设计要求,因此采用方案二来实现。方案二的基本原理如图1所示。
图1 智能车运行基本原理图框图
避障部分采用红外线发射和接受原理。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,产生的高低电平信号经过处理后,完成相应的记录数目,驱动蜂鸣器发声。黑带寻迹依靠安装在车底部左右两个光敏二极管对管来对地面反射光感应。寻光设计在小车前端安装3路(左、中、右)光敏电阻对光源信号采集,模拟信号经过ADC0809转化为数字信号送到MCU处理。记程通过在车轮上安装小磁块,再用霍尔管感应产生计数脉冲。记时由软件实现,显示采用普通七段LED。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现
2.模块电路设计与比较
1) 避障方案选择
方案一:采用超声波避障,超声波受环境影响较大,电路复杂,而且地面对超声波的反射,会影响系统对障碍物的判断。
方案二:采用红外线避障,利用单片机来产生38KHz信号对红外线发射管进行调制发射,发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。外界对红外信号的干扰比较小,且易于实现,价格也比较便宜,故采用方案二。
红外线发射接受电路原理图如图2所示。
采用红外线避障方法,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。 接收管输出TTL电平,有利于单片机对信号的处理。采用红外线发射与接收原理。利用单片机产生38KHz信号对红外线发射管进行调制发射,发射距离远近由RW调节,本设计调节为10CM左右。发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。利用单片机的中断系统,在遇障碍物时控制电机并使小车转弯。由于只采用了一组红外线收发对管,在避障转弯方向上,程序采用遇障碍物往左拐方式。如果要求小车正确判断左转还是右转,需在小车侧边加多一组对管。外界对红外信号的干扰比较小,性价比高。 。调试时主要是调制发射频率为接收头能接收的频率,采用单片机程序解决。发射信号强弱的调节,由可调精密电阻调节。
图2 红外线发射接受电路原理图
2)检测铁片方案选择
方案一:采用电涡流原理自制的传感器,取才方便,但难以调试,输出信号也不可靠,成功率比较低,难以准确输出传感信息。
方案二:采用市面易购的电感式接近开关,本系统采用市面比较通用LJ18A3-8-Z/BX来完成铁片检测的任务。虽然电感式接近开关占的体积大,对本是可以接受,且输出信号较可靠,稳定性好,受外界的干扰小,故采用方案二。
检测铁片电路原理图如图3所示。
图3 检测铁片电路原理图
3)声音提示
方案一:采用单片机产生不同的频率信号来完成声音提示,此方案能完成声音提示功能,给人以提示的可懂性比较差,但在一定程度上能满足要求,而且易于实现,成本也不高,我们出自经费方面考虑,采用方案一。
方案二:采用DS1420可分段录放音模块,能够给人以直观的提示,但DS1420录放音模块价格比较高,也可以采用此方案来处理,但方案二性价比不如方案一。
4)黑带检测方案选择
方案一:采用发光二极管发光,用光敏二极管接收。由于光敏二极管受可见光的影响较大,稳定性差。
方案二:利用红外线发射管发射红外线,红外线二极管进行接收。采用红外线发射,外面可见光对接收信号的影响较小,再用射极输出器对信号进行隔离。本方案也易于实现,比较可靠,因此采用方案二。黑带检测电路图如图4所示。
输出信号进入74LS02。稳定性能得到提升。当小车低部的某边红外线收发对管遇到黑带时输入电平为高电平,反之为低电平。结合中断查询方式,通过程序控制小车往哪个方向行走。电路中的可调电阻可调节灵敏度,以满足小车在不同光度的环境光中能够寻迹。由于接收对管装在车底,发射距离的远近较难控制,调节可调电阻,发现灵敏度总是不尽人意,最后采用在对管上套一塑料管,屏蔽外界光的影响,灵敏度大幅提升。再是转弯的时间延迟短长控制。
图4 黑带检测电路图
3)计量路程方案
方案一:利用红外线对射方式,在小车的车轮开一些透光孔来计量车轮转过圈数,从而间接地测量路程。
方案二:利用霍尔元件来对转过的车轮圈数来计程,在车轮子上装小磁片,霍尔元件靠近磁片一次计程为车轮周长。此方案传感的信号强, 电路简单,但精度不高。
如果想达到一定的计量精度,用霍尔传感元件比较难以实现,因为在车轮上装一定量的小磁片会相互影响,而利用红外线对射方式不会影响各自的脉冲,可达到厘米的精度,因此采用方案一来实现。计量路程示意图见图5。
通过计算车轮的转数间接测量距离,利用了霍尔元件感应磁块产生脉冲的原理,再对脉冲进行计数。另可采用红外线原理提高记程精度,其方法为在车轮均匀打上透光小孔,当车轮转动时,红外光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来,小孔越多,计数越精密。
图 5 计量路程示意图
3)智能车驱动电路
方案一:采用分立元件组成的平衡式驱动电路,这种电路可以由单片机直接对其进行操作,但由于分立元件占用的空间比较大,还要配上两个继电器,考虑到小车的空间问题,此方案不够理想。
方案二:因为小车电机装有减速齿轮组,考虑不需调速功能,采用市面易购的电机驱动芯片L293D,该芯片是利用TTL电平进行控制,对电机的操作方便,通过改变芯片控制端的输入电平,即可以对电机进行正反转操作,很方便单片机的操作,亦能满足直流减速电机的要求。智能车驱动电路实现如图6所示。
图6 智能车驱动电路
小车电机为直流减速电机,带有齿轮组,考虑不需调速功能,采用电机驱动芯片L293D。L293D是着名的SGS公司的产品。为单块集成电路,高电压,高电流,四通道驱动,设计用来接收DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流和步进马达),和开关电源晶体管。内部包含4通道逻辑驱动电路。其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V;Vs电压最大值也是36V,经过实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。表1是其使能、输入引脚和输出引脚的逻辑关系。
表1 引脚和输出引脚的逻辑关系
EN A(B) IN1(IN3) IN2(IN4) 电机运行情况
H H L 正转
H L H 反转
H 同IN2(IN4) 同IN1(IN3) 快速停止
L X X 停止
L293D可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照上表,用程序输入对应的码值,能够实现对应的动作,调试通过。
3) 寻找光源功能
方案一:在小车前面装上几个光电开关,通过不同方向射来的光使光电开关工作,从而对小车行驶方向进行控制,根据光电开关特性,只有当光达到一定强度时才能够导通,因此带有一定的局限性。
方案二:在小车前面装上参数一致的光敏二极管或者光敏电阻,再通过A/D转换电路转换成数字量送入单片机,单片机再对读入的几路数据进行存储、比较,然后发出命令对外围进操作。对方案一、二进行比较,方案二硬件稍为复杂,但能够对不同强度的光进行采集以及比较,操作灵活,所以采用方案二。
寻找光源电路图如图7所示。
图7 寻找光源电路图
3)显示部分
方案一:采用LCD显示,用单片机可实现显示数据,但显示亮度和字体大小在演示时不尽人意,价格也比较昂贵。
方案二:采用LED七段数码管,采用经典电路译码和驱动,电路结构简单,并且可以实现单片机I/O口的并用,显示效果直观,明亮,调试容易。故采用LED数码管显示。
4)显示电路如图8所示。
图8 显示电路
3. 系统原理及理论分析
1) 单片机最小系统组成
单片机系统是整个智能系统的核心部分,它对各路传感信号的采集、处理、分析及对各部分整体调整。主要是组成是:单片机AT89S52、模数转换芯片ADC0809、小车驱动系统芯片L293D、数码管显示的译码芯片74LS47、74LS138及各路的传感器件。
2)避障原理
采用红外线避障方法,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。 接收管输出TTL电平,有利于单片机对信号的处理。
3)计程原理
通过计算车轮的转数间接测量距离,在车轮均匀打上透光小孔,当车轮转动时,红外光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来。
4)黑带检测原理
利用光的反射原理,当光线照射在白纸上,反射量比较大,反之,照在黑色物体上,由于黑色对光的吸收,反射回去的量比较少,这样就可以判断黑带轨道的走向。由于各路传感器会对单片机产生一定的干扰,使信号发生错误。因此,采用一级射极输出方式对信号进行隔离,这样系统对信号的判断就比较准确。
4. 系统程序设计
用单片机定时器T0产生38KHz的方波,再用定时器T1产生250Hz的方波对38KHz方波进行调制。为了提高小车反应灵敏度,对红外线接收信号及黑带检测信号都采用中断法来处理。用定时方法对铁片检测、计量路程、倒车、拐弯及数码管动态扫描进行处理。
主程序流程图见图9,各子程序图见图10、图11、图12。
图9 主程序流程图
图 10 外部中断0服务子程序
图 11 外部中断1服务子程序
图12 定时器1中断子程序
6.调试及性能分析
整机焊接完毕,首先对硬件进行检查联线有无错误,再逐步对各模块进行调试。首先写入电机控制小程序,控制其正反转,停机均正常。加入避障子程序,小车运转正常,调整灵敏度达最佳效果。加入显示时间子程序,显示正常。铁片检测依靠接近开关,对检测信号进行处理并实时显示和发出声光信息,无异常状况。路程显示部分是对霍尔管脉冲进行计数,为了尽量达到精确,车轮加装小磁片。接着对黑带检测模块调试,发现有时小车会跑出黑带,经判断是因为红外线收发对管灵敏度不高,调整灵敏度后仍然达不到满意效果,疑是受环境光影响,利用塑料套包围红外线收发后问题解决。趋光电路主要由三个光敏电阻构成,调整三个光敏电阻的角度同时测试软件,以最佳效果完成趋光功能。
整机综合调试,上电后对系统进行初始化,接着控制电机使小车向前行驶,突然发现系统即刻进入外部中断1,重复多次测试,结果都是自动进入该中断。推断是由刚上电时电机起动所引起,为了避免上电瞬间的影响,在启动小车后延时几毫秒,再开外部中断,结果问题解决。允许的话应采用双电源供电,即电机和电路应分开供电,L293D与单片机之间采用隔离信号控制。这样就不会出现小车启动时程序出错和数码管显示闪动的问题。在计程精度上,可用红外线原理获得较高精度。
7.结论
通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化,智能小车能够完成各项功能到达车库。
8.参考文献
《单片机应用技术》
《周立功单片机》
《单片机原理与应用》
《8051单片机程序设计与实例》
《MCS-51单片机实验指导》
㈣ 求 步进电机单片机控制系统设计 相关资料
摘要:单片机控制技术应用十分广泛,其核心技术是单片机控制系统的设计。介绍了对单片机控制系统的构成、硬件设计、软件设计和系统调试等各环节并进行了讨论,根据工作经验给出了调试方法。
关键词:单片机;系统设计;系统调试��
随着材料科学、工艺技术、计算机技术的发展与进步,电路系统向着集成度极高的方向发展。CPU的生产制造技术,也朝着综合性、技术性、实用性发展。如CPU的运算位数从4位、8位
……到32位机的发展,运算速度从8 MHz、32 MHz……到1.6
GHz。可以说是日新月异的发展着。其中单片机在控制系统中的应用是越来越普遍了。单片机控制系统是以单片机(CPU)为核心部件,扩展一些外部接口和设备,组成单片机工业控制机,主要用于工业过程控制。要进行单片机系统设计首先必须具有一定的硬件基础知识;其次,需要具有一定的软件设计能力,能够根据系统的要求,灵活地设计出所需要的程序;第三,具有综合运用知识的能力。最后,还必须掌握生产过程的工艺性能及被测参数的测量方法,以及被控对象的动、静态特性,有时甚至要求给出被控对象的数学模型。
单片机系统设计主要包括以下几个方面的内容:控制系统总体方案设计,包括系统的要求、控制方案的选择,以及工艺参数的测量范围等;选择各参数检测元件及变送器;建立数学模型及确定控制算法;选择单片机,并决定是自行设计还是购买成套设备;系统硬件设计〔1〕,包括接口电路,逻辑电路及操作面板;系统软件设计,包括管理、监控程序以及应用程序的设计,应用系统设计包含有硬件设计与软件设计两部分〔2〕;系统的调试与试验。�
1单片机控制系统总体方案的设计
确定单片机控制系统总体方案,是进行系统设计最重要、最关键的一步。总体方案的好坏,直接影响整个控制系统的性能及实施细则。总体方案的设计主要是根据被控对象的任务及工艺要求而确定的。设计方法大致如下:根据系统的要求,首先确定出系统是采用开环系统还是闭环系统,或者是数据处理系统。选择检测元件,在确定总体方案时,必须首先选择好被测参数的测量元件,它是影响控制系统精度的重要因素之一。选择执行机构,执行机构是微型机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情况确定。选择输入/输出通道及外围设备。选择时应考虑以下几个问题:被控对象参数的数量;各输入/输出通道是串行操作还是并行操作;各通道数据的传递速率;各通道数据的字长及选择位数;对显示、打印有何要求;画出整个系统原理图。
单片机控制系统中控制算法的选用一般有:
(1) 直接数字控制
当被控对象的数学模型能够确定时,可采用直接数字控制。所谓数学模型就是系统动态特性的数学表达式,它表示系统输入输出及其内部状态之间的关系。一般多用实验的方法测出系统的特性曲线,然后再由此曲线确定出其数学模型。现在经常采用的方法是计算机仿真及计算机辅助设计,由计算机确定出系统的数学模型,因而加快了系统模型的建立。当系统模型建立后,即可选定上述某一种算法,设计数字控制器,并求出差分方程。计算机的主要任务就是按此差分方程计算并输出控制量,进而实现控制。
(2) 数字化PID控制
由于被控对象是复杂的,因此并非所有的系统均可求出数学模型,有些即使可以求出来,但由于被控对象环境的影响,许多参数经常变化,因此很难进行直接数字控制。此时最好选用数字化PID(比例积分微分)控制。在PID控制算法中,以位置型和增量型2种PID为基础,根据系统的要求,可对PID控制进行必要的改进。通过各种组合,可以得到更圆满的控制系统,以满足各种不同控制系统的要求。例如串级PID就是人们经常采用的控制方法之一。
所谓串级控制就是第一级数字PID的输出不直接用来控制执行机构,而是作为下一级数字PID的输入值,并与第二级的给定值进行比较,其偏差作为第二级数字PID的控制量。当然,也可以用多级PID嵌套。�
2单片机系统硬件设计
尽管单片机集成度高,内部含有I/O控制线,ROM,RAM和定时/计数器。但在组成单片机系统时,扩展若干接口仍是设计者必不可少的任务。扩展接口有2种方案,一种是购置现成的接口板,另一种是根据系统实际需要,选用适合的芯片进行设计控制系统。就后一种而言,主要包括以下几个方面的内容。
基本系统的构成:一个独立的单片机核心系统,一般由时钟电路、地址锁存器电路、地址译码器、存储器扩展、模拟量输入通道的扩展、模拟量输出通道的扩展、开关量的I/O接口设计、键盘输入和显示电路等组成。
(1)存储器扩展
由于单片机有4种不同的存储器,且程序存储器和数据存储器是分别编址的,所以单片机的存储器容量与同样位数的微型机相比扩大了一倍多。扩展时,首先要注意单片机的种类;另一方面要把程序存储器和数据存储器分开。
(2)模拟量输入通道的扩展
主要有以下2个问题:一个是数据采集通道的结构形式,一般单片机控制系统都是多通道系统。因此选用何种结构形式采集数据,是进行模拟量输入通道设计首先要考虑的问题。多数系统都采用共享A/D和S/H形式。但是当被测参数为几个相关量时,则需选用多路S/H,共享A/D形式。对于那些参数比较多的分布式控制系统,可把模拟量先就地进行A/D转换,然后再送到主机中处理。对于那些被测参数相同(或相似)的多路数据采集系统,为减少投资,可采用模拟量多路转换,共享仪用放大器、S/H和A/D的所谓地电平多路切换形式。另外一个问题是A/D转发器的选择,设计时一定要根据被控对象的实际要求选择�A/D�转换器,在满足系统要求的前提下,尽量选用位数比较低的A/D转换器。
(3)模拟量输出通道的扩展
模拟量输出通道是单片机控制系统与执行机构(或控制设备)连接的纽带和桥梁。设计时要根据被控对象的通道数及执行机构的类型进行选择。对于那些可直接接受数字量的执行机构,可由单片机直接输出数字量,如步进电机或开关、继电器系统等。对于那些需要接收模拟量的执行机构,则需要用D/A转化,即把数字量变成模拟量后,再带动执行机构。
(4)开关量的I/O接口设计
由于开关量只有2种状态“1”或“0”,所以,每个开关量只需一位二进制数表示即可。因为MCS—51系列单片机设有一个专用的布尔处理机,因而对于开关量的处理尤为方便。为了提高系统的抗干扰能力,通常采用光电隔离器把单片机与外部设备隔开。
(5)操作面板
操作面板是人机对话的纽带,它根据具体情况,可大可小。为了便于现场操作人员操作,单片机控制系统设计一个操作面板的要求:操作方便、安全可靠、并具有自保功能,即使是误操作也不会给生产带来恶果。
(6)系统速度匹配
在不影响系统总功率的前提下,时钟频率选得低一些较好,这样可降低系统对其他元器件工作速度的要求,从而降低成本和提高系统的可靠性。但系统频率选的比较高时,要设法使其他元器件与主机匹配。
�(7)系统负载匹配 系统中各个器件之间的负载匹配问题,主要表现在以下几个方面。
�①
逻辑电路间的接口及负载:在进行系统设计时,有时需要采用TTL和CMOS混合电路,由于二者要求的电平不一样,因此一定要注意电流及负载的匹配问题。�
②
MCS—51系列单片及负载:8031的外部扩展功能是很强的,但是8031的P0口和P2口以及控制信号ALE的负载能力都是有限的,P0口能驱动8个LSTTL电路,P2口能驱动4个LSTTL电路。硬件设计时应仔细核对8031的负载,使其不超过总的负载能力的70%。
3单片机控制系统的软件设计
�单片机控制系统的软件设计一般分2类,系统软件和应用软件设计。系统软件的主要任务是:管理整个控制系统的全过程,比如,POWERUP自诊断功能,KEY
INPIT 的管理功能,PRINTER
OUTPUT报表功能,DISPLAY功能等等。是控制系统的核心程序,也称之为MONITER监控管理程序其作用类似PC机的DOS
系统。软件设计的几个方面如下:
�(1)可靠性设计为保证系统软件的可靠性,通常设计一个自诊断程序,定时对系统进行诊断。在可靠性要求较高的场合,可以设计看门狗电路,也可以设计软件陷阱,防止程序跑飞。�
(2)软件设计与硬件设计的统一性在单片机系统设计中,通常一个同样的功能,通过硬件和软件都可以实现,确定那些由硬件完成,那些由软件完成,这就是软件、硬件的折衷问题。一般来说,在系统可能的情况下,尽量采用软件,因为这样可以节省经费。若系统要求实时性比较强,则可采用硬件。�
(3)应用软件的特点
①实时性:由于工业过程控制系统是实时控制系统,所以对应用软件的执行速度都有一定的要求,即能够在被控对象允许的时间间隔内对系统进行控制、计算和处理。换言之,要求整个应用软件必须在一个采样周期内处理完毕。所以一般都采用汇编语言编写应用软件。但是,对于那些计算工作量比较大的系统,也可以采用高级语言和汇编语言混合使用的办法,即数据采集、判断、及控制输出程序用汇编语言,而对于那些较为复杂的计算可采用高级语言。为了提高系统的实时性,对于那些需要随机间断处理的任务,通常采用中断系统来完成。
�②
通用性:在应用程序设计中,为了节省内存和具有较强的适应能力,通常要求程序有一定的灵活性和通用性。为此,可以采用模块结构,尽量将共用的程序编写成子程序,如算术和逻辑运算程序、A/D、D/A转换程序、延时程序、PID运算程序、数字滤波程序、标度变换程序、报警程序等。�
(4)软件开发步骤软件开发大体包括:划分功能模块及安排程序结构;画出各程序模块详细流程图;选择合适的语言编写程序;将各个模块连接成一个完整的程序。�
4单片机控制系统的调试
� (1)硬件调试 根据设计的原理电路做好实验样机,便进入硬件调试阶段。调试工作的主要任务是排除样机故障,其中包括设计错误和工艺性故障。
�①
脱机检查:用万能表或逻辑测试笔逐步按照逻辑图检查机中各器件的电源及各引脚的连接是否正确,检查数据总线、地址总线和控制总线是否有短路等故障。有时为保护芯片,先对各管座的电位(或电源)进行检查,确定其无误后再插入芯片检查。
�②
仿真调试:暂时排除目标板的CPU和EPROM,将样机接上仿真机的40芯仿真插头进行调试,调试各部分接口电路是否满足设计要求。这部分工作是一种经验性很强的工作,一般来说,设计制作的样机不可能一次性完好,总是需要调试的。通常的方法是,先编调试软件,逐一检查调试硬件电路系统设计的准确性。其次是调试MONITOR程序,只有MONITOER程序正常工作才可以进行下面的应用软件调试。
�硬件电路调试的一般顺序是:�
① 检查CPU的时钟电路。通过测试ALE信号,如没有ALE信号,则判断是晶体或CPU故障,这称之为“心脏”检查。�
② 检查ABUS/DBUS的分时复用功能的地址锁存是否正常。�
③ 检查I/O地址分配器。一般是由部分译码或全译码电路构成,如是部分译码设计,则排除地址重叠故障。�
④
对扩展的RAM、ROM进行检查调试。一般先后写入55H、AAH,再读出比较,以此判断是否正常。因为这样RAM、ROM的各位均写入过‘0’、‘1’代码。�
⑤ 用户级I/O设备调试。如面板、显示、打印、报警等等。
�(2)软件调试 软件调试根据开发的设备情况可以有以下方法:
�① 交叉汇编:用IBM PC/XT机对MCS—51系列单片机程序进行交叉汇编时,可借助IBM
PC/XT机的行编辑和屏幕编辑功能,将源程序按规定的格式输入到PC机,生成MCS—51 HEX目标代码和LIST文件。
�② 用汇编语言:现在有些单片STD工业控制机或者开发系统,可直接使用汇编语言,借助CRT进行汇编语言调试。
�③
手工汇编:这种方法是最原始,但又是一种最简捷的调试方法,且不必增加调试设备。这种方法的实质就是对照MCS—51指令编码表,将源程序指令逐条地译成机器码,然后输入到RAM重新进行调试。在进行手工汇编时,要特别注意转移指令、调用指令、查表指令。必须准确无误地计算出操作码、转移地址和相对偏移量,以免出错。
�以上3种方法调试完成以后,即可通过EPROM写入器,将目标代码写入EPROM中,并将其插至机器的相应插座上,系统便可投入运行。
�(3)硬件、软件仿真调试
经过硬件、软件单独调试后,即可进入硬件、软件联合仿真调试阶段,找出硬件、软件之间不相匹配的地方,反复修改和调试。实验室调试工作完成以后,即可组装成机器,移至现场进行运行和进一步调试,并根据运行及调试中的问题反复进行修改。
5结论
�单片机控制技术应用越来越广泛,其核心技术是单片机控制系统的设计。对工程技术人员来说,抓住系统的原理构成、软件设计、硬件设计以及系统调试方法的要点是十分必要的。根据工作经验,前面叙述的系统调试方法将会有助于从事这方面工作的技术人员及本专业的学习者。
参考文献�
1陈粤初.单片及应用系统设计与实践. 北京: 北京航空航天大学出版社,1992�
2何立民.单片机应用系统设计 .北京:北京航空航天大学出版社,1998
㈤ 单片机调试的方法和步骤是什么
首先,了解硬件接口以及功能,以便于配置IO端口;
第二,根据硬件设计以及功能需要,编写单片机程序;
第三,编译程序,把程序烧写到单片机中,或者链接debug调试器,在线对单片机进行仿真;
第四,在线仿真可以支持单步调试和断点调试,测试单片机的软件功能;
第五,如果出现问题,首先分析是软件逻辑的问题,还是硬件方面的问题,以便于对症下药;
最后,将软件写入单片机的flash中,将单片机加密,防止其他人窃取单片机内部代码。
㈥ 单片机最小系统设计
1.晶振,至于大小由你单片机时钟周期要求而决定(用于计时,与两个电容并联使用,电容大小由你的晶振决定,一般用22pF)
2.复位电路(用于复位)
3.电源(用于供电,一般用电脑的USB口供电)
4.烧制程序的口(可用串口配合MAX232配合使用,也可以做个并口输入,这个要根据你使用单片机的种类决定,比如ATC可用并口,STC一般只用串口输入等等)
参考http://www.taoke.com/index.php/item/194 可以买个现成的方案!
㈦ 小型单片机系统的设计(用C语言编程)
都很简单!用心做就可以了!有什么问题大家都会帮你!这样一下都摔出来。。。。拒绝回答!!
㈧ 单片机系统设计
用protues仿真试试看呗
你在protues仿真论坛上面先找找 说不定有现成的例子
注意 里面的ADC0809不能用 要找ADC0808代替 才能仿真~
6264的接法 你参看 谢子美的《电子线路综合设计》P201 图5.1.9 片外RAM62256的接法
应该差不多了吧 自己动手试试看的
㈨ 急用!!!!!!基于单片机控制的车速里程表
图2所示是一种汽车转速里程表的电路原理图。这是一个典型的单片机最小应用系统。单片机AT89C2051以其低价、低功耗、可靠性高和易于编程等特点着称,X25045则是MCS-51系列单片机电路的一个辅助芯片,主要担当复位、电压检测、看门狗和EEPROM功能,该芯片的采用大大提高了系统的可靠性,减少了外围芯片数,可实现里程累计的掉电存储。LCM1010为十位八段式带背光液晶显示模块,采用三线串行接口,它具有功耗低和编程方便的特点。该显示共分两行显示,第一行6位显示累计里程,第二行4位(1位小数)用于显示小计里程。图中K1为小计里程清零键,R4用于调节液晶显示器的视角对比度。芯片X25045是Xicor公司推出的带有可编程μP 监控器的CMOS串行EEPROM,带有4096位,按512×8来组织。它具有4字节页写方式和10万次使用周期,数据可保存100年。为了保证累计里程单元的个位或小计单元的小数位可靠刷新,当这些单元接近极限使用周期时,可采取换页的办法来使这些数据移动到新单元以继续计数。图2 霍尔传感器发出的脉冲信号经过整形可分成两路,一路送到单片机的INT1端用于累计里程计数,另一路送到LM1819驱动器的转速信号输入端(10脚),然后由驱动电路根据输入信号的频率在2脚和12脚输出相应的正弦和余弦驱动信号,十字线圈产生的磁场共同作用于磁铁可使转轴组件偏转相应的角度。但调整时要注意,电容C3的大小会改变表针偏转的平滑性,C3越大,平滑性越好,但同时时间迟滞也会加大,而C3过小会使表针抖动;C4可用于调整电路的线性和滞后误差;R4的值可以改变表针的指示刻度点。5 结论 本设计以单片机AT89C2051来实现里程累计、小计、清零及存储,并以LM1819集成电路驱动十字线圈表头,从而实现了车速的指示。该设计方案成本低廉、指针稳定性好、响应速度快、抗震性强、可靠性和性价比都很高。经实际使用证明,该里程表完全可以取代传统的以软轴驱动的车速里程表。当然,这只是一种实现方案,也可以由单片机通过软件来驱动十字线圈表头,即由单片机分别控制表头的正弦线圈和余弦线圈而省去LM1819集成电路。对此,此处不再赘述。
㈩ 急!!!求单片机8255交通灯控制课程设计报告
你的题目写的太简单了,我只能看出来ABC口的地址是一样的
底下是我的论文,倒计时是用LED做的,红绿灯是用发光二极管做的
你自己在里面截吧
单片机控制交通灯的设计
论文目录
一、 摘要及关键字、参考文献
二、 方案设计与论证
三、正文:一、功能描述
二、系统硬件电路的设计
三、系统主要程序的设计
四、电路总原理图
五、主程序
一 摘要:
本系统采用单片机、键盘、LED显示、交通灯演示系统组成。设计一个用于十字路口的车辆及行人的交通管理,系统包括左拐、右拐、及行基本的交通灯的功能,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交通手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。其他还有 84s与60s通行管理转换等功能。采用数码管与点阵LED相结合的显示方法,既要求倒计时数字输出,又要求有状态灯输出等。
关键字:
单片机系统(AT89C51)控制8255、交通规则、LED显示、动态扫描、按键输入、分时段调整
参考文献:《单片机课程设计指导》 北京航天航空大学出版社
《基于MCS-51系列的单片机原理的应用设计》 国防工业出版社
《单片机实训教程》 北京大学出版社
《单片机系统原理及应用》
《微机原理及应用》
二 、方案设计与论证
1电源提供方案:
采用独立的稳压电源,此方案稳定可靠,且有各种成熟电路可供选用
2显示界面方案
采用数码管和点阵LED相结合的方法,因为实际既要求倒计时施主输出,又要求又状态灯输出等,为方便观看并考虑到现实状况,用数码管与LED分别显示时间和提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。
3输入方案
直接在IO口上接按键开关。因为设计时精简和优化了电路,所以剩余口的资源还比较多。
4主控制方案
采用AT89C51单片机作为控制器,控制8255实行通行倒计时及左拐、右拐、直行、行人通行指示采用单块LCD液晶点阵显示器。这种方案设计占用单片机的端口最少,硬件也少。耗电也最小;
系 统 框 图
正 文
一、功能描述
本系统由单片机系统、键盘、发光二极管、交通灯演示系统组成,单片机作为主控制器用于十字路口的车辆及行人的交通管理,每个方向具有左拐、右拐、直行及行人4种通行指示灯,计时牌显示路口通行转换剩余时间。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。并有手动控制分时段 84s与60s通行管理转换等功能。
二、系统硬件电路的设计
整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块、时间显示模块和自动特种车辆控制模块等组成。
1、主控制系统
单片机的P0口用于控制8255。8255的PA口和PB口用于控制南北及东 西的通行灯,。PC口及P3.0~P3.2口用于4组2位LED计时器的控制,特种车通过时使用外中断1口(P3.3),手动自动转换采用P1.0按键。
选择8255的工作方式0,在这种情况下三个端口都可以由程序设置为输入和输出。
2、通行灯输出控制
道口交通灯指示采用高亮度红绿双色发光二极管,左拐、直行、右拐及行人各一个。当发光电流为6mA时,按公式R=(5-1.8)/0.006计算,限流电阻应为510Ω.由于南北通行时双向指示牌相同,因此每个端口应具有12mA的吸收电流能力。图7.4所示为指示灯电路图。
3、时间显示模块
道口通行剩余时间采用高亮红色7段LED发光数码管显示,采用共阳数码管,如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段6mA电流算,全显示字形“8”时,每个数码管需6mA×8=48mA。由于时间显示每个道口相同,4组需192mA,因此设计中采用中功率三极管9012.由于单片机每个断码输出口需吸收24mA 电流,因此在电路设计中也使用了驱动集成块74HC244。其显示驱动电路如图示。
4、特种车辆自动控制模块
自动道口灯在特种车辆到来时能自动关闭所有绿灯,让特种车通过。设计中采用红外线发生器作为特种车的发生器,使用实时中断来影响特种车的通行要求。红外线接收器一般采用电视机上用的一体化红外接收器,具有很高的灵敏度和较强的抗干扰能力.
5、电源电路
由于整个系统采用的电源电压需+5V电压,所以采用不可调的3端稳压器件,用常用的lm7850就可以满足系统电源的要求。LM7850三端集成稳压电源内部由准电压回路、恒流源、过流保护、过压保护和短路保护回路等8部分组成具有低功耗,高效率,波纹系数小,输出电压稳定等优点。
三、系统主要程序的设计
道口交通控制系统程序主要分为以下几个模块:初始化程序、主程序、定时中断程序和特种车实时响应程序等。
1、 初始化程序
初始化程序主要完成内存划,定时器的工作模式、中断方式等的设定。由于子程序调用较多,因此初始化时堆栈指针设于80H处。定时器T0、T1设为16位定时器模式,定时时间位50ms,为秒计时用,T1为通行结束闪烁用。
2、 主程序
主程序要负责总体程序管理功能,实现人机交换设定。由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。主程序流程图如下图示。
3、 外中断1中断服务程序
经过时,车中发射红外线信号,其信号被道口控制板上的接收器接收,并输出一个低电平处外中断1.中断处理程序流程图如下页图所示。
4、 定时服务中断程序
序主要用于行车与行人的通行指示,按照交通规则,红绿灯控制转换逻辑表如7.1表所列。
南北方向 端口 控制功能 120~110s 110~70s 70~60s 60~10s 10~0s
P*.7 左拐红 0 0 0 1 1
P*.6 左拐绿 1 1 1 0 0/1
P*.5 直行红 1 1 1 0 0
P*.4 直行绿 0 0 0/1 1 1
P*.3 右拐红 0 1 1 1 1
P*.2 右拐绿 1 0 0 0 0/1
P*.1 行人红 1 1 1 0 0
P*.0 行人绿 0 0 0/1 1 1
道口控制字 66H 6AH 6AH/7BH 99H 99H/DDH
东西方向 P*.7 左拐红 0 0 0 0 0
P*.6 左拐绿 1 1 1 1 1
P*.5 直行红 0 0 0 0 0
P*.4 直行绿 1 1 1 1 1
P*.3 右拐红 0 1 1 1 1
P*.2 右拐绿 1 0 0 0 0/1
P*.1 行人绿 0 0 0 0 0
P*.0 行人红 1 1 1 1 1
道口控制字 55H 59H 59H 59H 59H/5DH
通行规则如下:
(1) 车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1min,各路右拐比直行滞后10s开放。
(2) 车辆南北向左拐、各路右拐,行人禁行。通行时间为1min。
(3) 车辆东西向直行、各路右拐,东西向行人通行。东西向通行时间为1min,各路右拐比直行滞后10s开放。
(4) 车辆东西向左拐、各路右拐,行人禁行。通行时间为1min。
表中通行规则,是以给控制红绿灯端口送控制码的方式实现的。它的原理是,将按不同通行规则时的各路口的红绿灯亮灭情况转换为单片机端口控制码。其指示灯功能通过T0定时中断服务程序实现。
定时器T0定时益出中断周期为10ms,中断累计20次(即1s)时对120s倒计时单元减1操作。设计中将4种通行规则分成集中不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。控制码分为5个时间段:84—74s、74—58s、58—48s、48—10s、10—0s。交通管理定时功能程序流程图如下页图所示。
5、 调试及性能分析
设计时按红绿交通灯控制程序和特种车辆经过中断程序两大部分电路进行测试。
1、 红绿交通灯控制程序
时器T0,直接按照表7.1中算好的数据码送出来控制灯,观察其逻辑状态是否符合要求。可多次、反复地进行调试,直至逻辑关系正确。值得注意的是,南北方向、东西方向的指示灯要同时调试。
2、 特殊车辆通行时红外线检测电路的调试
在模拟小车中放一块红外发射模块,将示波器输入端接在交通控制灯的红外接收模块的输出引脚上,当小车通过路口时,检测红外线是否被接收。若该脚输出为低电平,则说明可以收到信号,电路正常。
本系统以AT89C51单片机为核心,开发程序调试阶段采用W78E516B进行在线编程及修改,可大大加快调试进度。设计的交通灯可用于十字路口的车辆及行人的交通管理,显示采用2位7段数码管,可以很直观的显示红绿灯的开放和关闭的时间;设计中应用了两种倒计时显示方式, 84S 倒计时适用于车流量较大的城市,60s倒计时可用于中小型城市;功能完整,不仅有普通交通灯的指示功能,还增加了特种车辆自动通行功能。其控制功能和效果与真实道口管理红绿灯完全一致。