免费预览已结束,剩余88页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机个性发展周实践题目说明,1. 步进电机控制系统的设计 2. 简易波形发生器的设计 3. 复杂的十字路口交通信号灯的控制系统 4. 电子时钟 5. 串口通信设计 6. 模拟数据采集器,1. 步进电机控制系统的设计 1.1 目的意义及设计要求 通过对本课题的设计,掌握以单片机为核心的步进电机控制系统的设计方法。 设计一个由单片机控制的步进电机调速系统,操作者可通过系统的按钮和开关控制步进电机的旋转速度和方向,正反转速度均要求在17档变化,0档为停车,17档速度随数字增大逐渐加快,其速度档位和旋转方向应能在数码管上显示出来。,1.2 方案论证及硬件设计 从系统要求可知,该系统的输入量为速度和方向指示,速度有8档变化,可采用3个开关控制,需要3根口线,但用开关控制速度并不方便,通常用、按钮控制速度,这样只要2根口线,再加上一根方向线和一根启动信号线共需要4根输入线。系统的输出线与步进电机的绕组数有关。这里选用20by20l010型步进电机,有4相绕组,工作电压为5伏,可以和单片机共用一个电源。用串口输出方式显示,外接串并转换芯片74ls164可以实现静态显示,减少了软件开销,同时只占两根口线,这样系统输出共需6根口线,因而系统的i/o口线共需要10根即可。选用89系列单片机可满足要求。,图1-1 步进电机控制系统原理图,图中k1为启动开关、k2是方向开关,an1为速度增加按钮、an2是减速按钮。步进电机的4相绕组用p1口的p1.0p1.3控制,由于p1口驱动能力不够,因而用一片2003增加驱动能力,也可以采用75452等逻辑芯片作为驱动,这样需外加二极管,以防止步进电机绕组产生的高电压击穿逻辑芯片;串口p3.0、p3.1外扩两片74ls164串并转换芯片即可满足显示要求,选用共阴接法的数码管。输入方面,速度、按钮接外部中断口线int0和int1,这样可以用中断或是查询方式获取开关的状态,编程更加灵活。若要防止速度按钮的抖动问题,可采用硬件防抖动电路或软件抗干扰两种方法,这里选用软件抗干扰的方式来减少硬件开销;采用6mhz晶振构成振荡电路时,选用图中的阻容参数可保证系统上电时可靠复位。复位按钮an起手动复位的作用,在系统工作不正常时按一下复位按钮an,可使程序从头执行。,步进电机的工作原理 步进电动机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动、反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于在开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每给一个脉冲,步进电机就转动一个角度(步距角)或前进/倒退一步。步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电动机为数字/角度转换器。当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。,四相步进电机的脉冲分配规律 四相步进电动机根据其绕组的通电规律不同,主要分为四相单四拍、四相双四拍以及四相八拍等工作方式,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定的程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。 表1-1 四相单四拍脉冲分配表 表1-2 四相双四拍脉冲分配表,1.3 程序流程 通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入、信号和方向信号,因而用中断方式效率最高,这样我们总共要完成4个部分的工作才能满足课题要求,即主程序部分、定时器中断部分、外部中断0及外部中断1中断部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分控制脉冲频率,它决定了步进电机转速的快慢;两个外部中断程序要做的工作都是为了完成改变速度这一功能。下面着重分析主程序与定时器中断程序要完成的工作 。,主程序部分 主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,这一部分也就是通常的初始化内容。初始化内容一般随课题要求与编程者的编程思想而定,并非完全一样。对本课题而言,初始化大致包含有定时器初始化、外部中断初始化;对p1口送初值以决定脉冲分配方式、速度值存储区送初值决定步进电机的启动速度、对方向值存储区送初值决定步进电机旋转方向等内容。若初始化p1=11h、速度和方向初始值均设为0,这意味着步进电机按四相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值不显示(表示正方向),速度值显示0。,定时器中断部分 步进电机的绕组必须按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,步进电机的速度就越高,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数。因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。,外部中断部分 外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。速度增加按钮a2为int0中断,其程序流程为读原数据,值7,不改变原数值返回,值7,数据1返回;速度减少按钮a1,即int1中断的编程思想为:原数据不为0,减1保存数据,原数据为0则保持不变。综合两个外部中断程序编程思想画出的程序流程图见右图。值得指出的是,编程思想因人而异,设计者也不一定拘泥于上述程序流程图的框框,可以采用适合自已编程习惯的方法来编写程序。,1.4 程序的调试与运行 完成硬件制作后,根据程序框图可以较快的完成程序编写,但程序框图不可能将每一个细节都表示出来,因而我们编写的程序难免会有错误,或者出现某些没有考虑到的地方,即使是有一定经验的编程者也会出现这些问题,初学者出现的问题会相对多一些,这是正常现象。当运行程序后没有达到课题的要求时,我们可以借助于调试工具,在调试软件的帮助下,采用单步、断点及连续运行的方式调试程序,一个程序往往要经过反复的调试修改才能最终完成。,1.5 小结 本设计体现单片机在控制步进电机方面的应用。设计者应对步进电机的工作原理有一定的了解。另外要考虑到单片机不能直接控制步进电机,必须根据步进电机功率的大小合理的选择功率驱动器件。现在很多步进电机驱动器都包含了脉冲分配功能,这样用单片机控制更为简单。在含有多位数码管显示的系统中,用到的口线较多,采用串并转换的方式可以节省口线,虽然相对于并行显示而言,速度较慢,但在工业系统中完全能满足要求。,2. 简易波形发生器的设计 2.1 目的意义及设计要求 通过对本课题的设计,掌握a/d、d/a转换器的运用、用单片机产生各种波形的方法及改变波形频率的方法。 设计一个简易波形发生器,要求该系统能通过开关或按钮有选择性的输出正弦波、三角波、方波及阶梯波等4种波形,并且这4种波形的频率均可通过输入电位器在一定范围内调节。,2.2 方案论证及硬件设计 一般函数发生器是用硬件构成的,它的输出频率范围宽,精度高,性能优良,因而在对输出波形要求较高的地方被广泛采用。但这种仪器的缺点是电路复杂,成本高,输出波形种类不多,不够灵活。因而在对波形指标要求不高、频率要求较低的场合,可以用单片机构成一个波形发生器,产生所需要的各种波形,这样的函数发生器靠软件产生各种波形,小巧灵活,便于修改,且成本低廉,容易实现。但受单片机工作频率的限制,它所构成的波形发生器的输出频率较低,各项指标也都不太高,只能用于对波形要求不高的场合。,用单片机产生波形的原理 用单片机产生波形大致要经过两个步骤,首先由单片机计算出一个与波形幅值上某一点的模拟量相对应的数字量,然后将这个数字量经d/a转换电路输出,这样就得到波形上一个点的模拟电压,紧接着单片机计算波形的下一个对应数字量,再送d/a转换电路输出,如此反复循环,就可以得到需要的波形。简言之,这两个步骤就是计算、输出。,图2-1 波形发生器原理图,根据设计要求,我们可以这样考虑,4种波形可以用两个开关的4种状态来表示,这样需要两根口线,如果用按钮来切换波形就只需要一根i/o线,而且使用也方便一些。另外,波形频率的改变是通过电位器改变输入电压来实现的,所以需要有一个模拟量输入。选择常用的a/d转换芯片0809可满足要求。波形输出是通过d/a转换实现的,可选用d/a转换专用芯片0832来完成。这样系统的主要器件就确定了。系统选用6兆晶振,如用12兆晶振输出波形频率可得到相应提高。ad转换芯片的地址按图上接线为7000h,采样通道为in0,3个通道地址选择端add-a、add-b及add-c接在数据线上,也可以接到p2口线上,这样要多用3根地址线。按图上接线,在启动a/d转换时,累加器a中应送通道值。当然,按设计要求也可将这三根地址线接地,但这样不便于系统扩展。,0809eoc端在a/d转换结束后会产生一个上跳变,将其接到p3.2,这样当a/d转换结束时,可按等待及查询两种方式读取数据,编程较为灵活。若要采取中断方式读取结果,从eoc输出的信号应加反相器后再送到p3.2端,以便与单片机的中断逻辑相匹配。分频器74ls74将1mhz的地址锁存信号4分频为250k脉冲后提供给0809作为其工作脉冲。数模转换芯片dac0832将单片机输入的数字量转变为电流信号,并以差分方式送给运算放大器lm324,后者将其变为电压信号输出。若要得到正负电压,应该为运算放大器提供正负电源。按图中接线0832地址为8000h。,2.3 程序流程 根据硬件设计,系统用按钮切换波形,可考虑采用查询或中断的方式进行,这两种方式比较起来后者效率更高,若采用查询方式检测按钮,系统需花费时间定期检测p3.3管脚电位,这样就增加了软件开销,降低了效率。因而我们采用中断方式编程。其编程思想是安排一个存储单元存放按钮次数,初值设为0,对应于某种波形,每中断一次数据加1,对应于另一种波形。因此中断程序的任务仅仅是改变按钮次数存放单元的数据而已,波形切换在主程序中进行。各种波形的输出频率是通过改变两次输出数据之间的时间间隔来实现的。具体做法是首先对模拟量采样,得到相应的ad值,用这个ad值作为延时基数去延时,这样输出波形的频率就和模拟电压联系起来,只要调整电位器旋钮改变输入电压模拟量,就可以改变波形频率了。,图2-2 主程序和中断程序框图,正弦波 正弦波可用两种方法产生,计算法和查表法。计算法要用到浮点运算,复杂且耗时太长,一般不采用。查表法是事先将正弦波的数据计算出来,列表放在程序中,运行时直接调取数据。用公式y127.5+127.5sin(360nm)可计算出正弦波的输出值,公式中的m为输出点数,n1、2、3m。m值取小一些可以提高波形频率,但波形畸变会增大,增加输出点虽然可以改善波形,但输出频率会降低,实践表明,m取64时,可以得到较好的正弦波。用上式计算的正弦波数据如下(有舍入误差),将其放在程序中调用即可。 tab: db 140,152,164,176,188,198,208,218,226,234,240,245,253,254,255 db 254,253,245,240,234,226,218,208,198,188,176,164,152,140,128 db 115,103, 90, 79, 67, 57, 47, 37, 29, 21, 15, 10, 5, 2, 1, 0 db 1, 2, 5, 10, 15, 21, 29, 37, 47, 57, 67, 79, 90, 103,115,128,三角波 三角波的产生较为简单,因为它的上升沿可遵循数据加1的规律、下降沿则按照数据减1的规律产生,所以在波形的上升沿只要判断上一次的数据是否为最大值ffh,如果不是最大值,将原数据加1输出;而在波形的下降沿只要判断上一次数据是否为0,如果不是0,将原数据减1输出即可,当数据为ffh或者0时,应当及时调整升降标志,以便下一次能输出正确的数据。,图2-3 三角波程序框图,方波 方波只有两个值,可以采用输出两个极端值0和ffh来实现。我们可以事先设置一个方波数据存储单元并在初试化时将零写入此单元,然后在波形的上下跳沿时将此单元中的数取出求反后输出即可,这样可得到幅值最大的方波;当然也可以采用另外两个值,不过波形的输出幅值要小一些,同时程序也没有这样简单。设计者可根据上述编程思想直接写出方波程序。,阶梯波 阶梯波也是一种很有用的波形,例如在测晶体管的特性参数时就要用到它。阶梯的设计一般根据实际需要,由于课题没有指定阶梯波的参数,在这里我们设置5级阶梯,阶梯的产生可以通过将缓冲区中的数据增加50后得到。如阶梯波缓冲区的初值为0 ,这样输出的数就是0、50、100、150、200及250这6个数。为了将这6个数顺次输出,可以采用列表或将原数加50再判断这两种方式。采用后者输出数据的阶梯波程序框图见右图。,图2-4 阶梯波程序框图,频率控制 每种波形输出一个数据后程序都转到频率控制部分,各种波形的频率就是通过这一部分控制的。它的控制原理是首先读出0809的ad转换值,并以此为基值延时,延时完毕后再启动0809开始采样模拟电压,为下一次读数做准备。当然,也可以隔几秒钟进行一次a/d转换,这样要用到定时器中断。直接将ad转换值作为延时基数去延时,频率变化的范围有限。若将ad转换值乘以一个倍率再去延时虽然可扩大频率的变化范围,但波形的失真会明显增大。,2.4 程序的调试与运行 完成硬件制作后,可将整个系统分为几个部分,先编出4种波形的程序,单独调试,成功后再加入频率调节部分。采用图中参数,正弦波的最高输出频率可大于200hz,方波的最高输出频率约在4khz左右,如果用12mhz晶振,各种波形的最高输出频率可提高一倍。另外,按钮的抗干扰问题在编程时要加以考虑,由于图中没有加硬件消除按钮抖动电路,所以必然要增加软件开销。一般开关、按钮的抖动在几毫秒时间以内,因而用延时程序避开10ms左右的时间即可防止按一次按钮产生多次中断的现象。为了节省硬件,0809的转换完成信号端eoc直接接到了单片机的外部中断0输入端p3.2,由于中断逻辑不匹配,因而不能用中断的方式读取ad转换结果。最后,在程序统调时,要借助于调试工具采用单步和断点及连续运行的方式反复调试程序,迅速找出问题所在,及时修改,直至程序运行成功为止。,2.5 小结 本设计实现的信号发生器为简易信号发生器,它的优点在于能通过单片机产生任意周期性的波形(课题中只要求输出正弦波、三角波、方波及阶梯波等4种波形),而且小巧灵活,价格低廉。但它同时受到单片机速度的局限,各项指标都不高,因而使用受到一定限制。,3. 复杂的十字路口交通信号灯的控制系统,目的和意义 关键器件及设备 相关知识 系统硬件设计 软件设计 小结及完善,3.1 目的和意义,以十字路口交通信号灯控制系统为例, 介绍一个单片机应用系统的设计方法; 学习在单片机应用系统简单i/o接口的设计; 学习模拟交通信号灯控制的实现方法; 学习数据输入、输出程序的编制方法; 学习 8051内部记数器的使用和编程方法; 掌握外部中断技术的基本使用方法和中断处理程序的编写方法。,系统设计功能,此十字路口交通信号灯控制系统,分东西道和南北道,设东西道为a道,南北道为b道; 系统设计规定:a道放行时间为2分钟,b道放行1.5分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟; 当一道有车而另一道无车时,交通灯控制系统能立即让有车道放行; 若有紧急车辆(如110、112、119等急救车)要求通过时,此系统应能禁止普通车辆,路口的信号灯全部变红,以便让紧急车辆通过。假定紧急车辆通过时间为2秒钟,紧急车辆通过后,交通灯恢复先前状态。,3.2 关键器件及设备,单片机及相关元件 交通信号指示灯 传感器 中断按钮,3.3 相关知识,系统处理方案 本系统采用单片机作为中心处理部件,输入/输出量均属开关量,而紧急车辆通过,采用实时中断方式。 机型和器件的选择 系统以常用的8051/8031单片机作为中心处理部件,2732a作为程序存储器,红、绿、黄灯各4个作为交通指示灯,反应a道、b道有无车辆的传感器各2个,处理紧急车辆的中断按钮一个。,3.4 系统硬件设计,将a道上的两个同色灯联在一起,b道上的同色灯也彼此相连(此处用发光二极管模拟实际的交通灯,各发光二极管的阳极通过保护电阻接到+5v的电源上,发光二极管的阳极的阴极接到单片机的p1口); 用8031单片机的p1.0p1.5共6根输出线,控制各色交通灯的点亮与熄灭;a、b道上有无车辆的信号,输入给p1.6、p1.7; 紧急车辆通过,采用外部触发按键实时中断方式进行处理。,图3-1 系统电路原理,3.5 软件设计,根据硬件电路原理图,并按系统的功能画出程序流程图。由于此系统较为简单,故采用自顶向下的设计方法,进行程序设计;紧急车辆通过的处理,则采用中断的方法,由中断处理程序处理。 说明:p1.6=0,表示a道有车通过,p1.6=1,表示a道无车通过; p1.7=0,表示b道有车通过,p1.6=1,表示b道无车通过。 本设计中断处理程序的应用,最主要的地方是如何保护进入中断前的状态(信号灯、p口、单片机寄存器的状态),使得中断程序执行完毕后能回到交通灯中断前的状态。要保护的地方,除了累加器acc、标志寄存器psw外,还要注意:主程序中的延时程序和中断处理程序中延时程序不能混用。,3.6 小结及完善,本课程设计的关键是对十字路口交通信号灯控制系统的理解。有了这些知识,你能够设计出有时间显示的十字路口定时交通信号灯的实用控制系统。要求如下: 系统功能:此十字路口交通信号灯控制系统,分东西道和南北道,设东西道为a道,南北道为b道。 规定:a道放行时间为2分钟,b道放行2分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟; 同时用三位或二位数码管进行120秒或60秒递减时间显示。使用空闲的p口和三八译码器输出led显示器的段码。,4. 电子时钟,目的和意义 通过本课程设计的学习,掌握数码管显示电路的动态显示原理;了解74ls164扩展端口的方法;掌握键盘扫描的工作原理;并且掌握51单片机定时器、中断的工作原理以及处理程序的编程方法,利用51单片机定时器和数码管等器件设计一个时、分、秒都可以调整的数字钟。,4.1 相关知识,以硬件为主的接口方法 这种接口方法的电路如图4-1所示。从图中可以看出,在数据总线和led之间,必须有锁存器或i/o接口电路,此外还有专门的译码器/驱动器,通过译码器把1位16进制数或bcd码译码为相应的显示段码,然后由驱动器提供足够的功率去驱动发光二极管。这种接口方法仅用一条输出指令,就可以进行led显示。但是所使用的硬件电路较多,而硬件译码缺乏灵活性,只能显示十进制或十六进制数。,led数码显示器的接口方法,图4-1 以硬件为主的led显示器接口电路,以软件为主的接口方法,这种接口方法的电路如图4-2所示,它是以软件查表代替硬件译码,不但省去了译码器,而且还能显示更多的字符。但是驱动器是必不可少的,因为仅靠接口提供不了较大的电流供led显示器使用,图4-2 以软件为主的led显示器接口电路,图4-3 接口电路示意图,本课程设计由于我们有六个数码管,选择第二种方法即以软件为主的接口方法。,矩阵键盘的扫描原理,利用64的矩阵小键盘的3个键来分别设置时钟的小时、分钟、秒。先向列扫描码地址(0e101h)逐列输出低电平,然后从行码地址(0e103h)读回.如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高.这样就可以通过输出的列码和读取的行码来判断按下的是什么键. 在判断有键按下后,要有一定的延时,去键盘抖动. 列扫描码还可以分时用作led的位选通信号。,图4-4 键盘扫描电路,定时计数器工作原理,该电子时钟具有以下功能: 六个数码管分为三组,每组两个,led1、led2用来显示时间的小时,led3、led4用来显示时间的分钟和led5、led6用来显示时间的秒值。 一上电数码管显示的起始时间为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间, 其他位均以此为基准往上累加。 电子钟通过46矩阵键盘来进行调节:数字1键,调整秒位;数字2键,调整分位;数字3键,调整时位。当然也可以定义矩阵键盘中的任意三个按键分别来调整时钟的秒位、分位、小时位,只需修改相应的程序即可。,4.2 控制电路,完整的控制电路如图4-5所示,包括键盘扫描电路、数码管显示电路和8155接口扩展电路,串转并接口电路和cpu主电路。 键盘扫描电路由8155的pa口pa0pa5的6列和pc口的pc0pc3的4行组成的46矩阵键盘。数码管显示电路有6个数码管,8155的a口为输出口(位控制口),数码管的段码由8155的b口的pb0经74ls164串转并后输出。,图4-5 控制电路原理图,4.3 控制程序,主程序 主程序的主要功能是进行定时器计数器的初始化编程,然后通过反复调用显示子程序的方法,等待100us定时中断的到来。 显示子程序流程图如图4-7所示。数据位输出地址为0e102h,时钟位输出地址为0e102h,位选通输出地址为 0e101h,显示缓冲地址为60h。,图4-6 主程序和定时中断子程序,图4-7 显示子程序流程图,键盘扫描子程序,键盘扫描子程序流程图如图4-8所示,键盘扫描程序的功能是实时扫描键盘来判断是否有键盘按下,如果有键盘按下,还要判断是哪个按键被按下,并且在判断有按键按下后,还要消除键盘的抖动,通过一定的延时可以做到。键盘读入口地址为0e103h。,图4-8 键盘扫描子程序流程图,4.4 小结,本课程设计是为了节约成本,利用现成的硬件实验箱完成的,因此硬件电路显得有点复杂,但是它也为我们提供了很好的学习机会,通过这个课程设计,可以熟悉数码管的显示原理、键盘的扫描原理、“串转并”原理和输入输出端口的扩展方法。有兴趣的读者可以做个更简单的数字钟。,5. 串口通信设计,通过本课程设计的学习,掌握mcs-51单片机串行口工作于uart方式时的工作原理和编程方法;掌握pc串行通信程序的编程方法.,目的和意义,关键器件和设备,8051单片机 max232串口芯片 数码管 按键 串口连接线 计算机 仿真器,5.1 相关知识,什么是串行通信 所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本。目前在ibm pc机上都有两个串行口com1、com2 接口,就是rs-232c接口。,rs-232c 逻辑电平定义,pc机的串行接口是符合eia rs-232c规范的外部总线标准接口。rs-232c采用的是负逻辑,即逻辑“1”:5v至15v;逻辑“0”:+5v至+15v。而cmos电平为:逻辑“1”:4.99v,逻辑“0”:0.01v;ttl电平的逻辑“1”和“0”则分别为2.4v和0.4v。因此在用rs-232c总线进行串行通信时需外接电路实现电平转换。在发送端用驱动器将ttl或cmos电平转换为rs-232c电平,在接收端用接收器将rs232c电平再转换为ttl或cmos电平。,图5-1 max232 典型应用,pc机和rs-232c接口的连接非常简单,在一般的应用中, 只需要有3条线即可完成通信,分别是第2脚rxd , 第3 脚txd ,第5 脚gnd。,图5-2 pc机与rs232接口的连接,串行通信的分类,串行通信可分为异步传送和同步传送两种基本方式。我们选用的是异步传送的通信方式。 异步传送的特点是数据在线路上的传送不连续。在传送时,数据是以一个字符为单位进行传送的。它用一个起始位表示字符的开始,用停止位表示字符的结束。一个字符由起始位、数据位、奇偶校验位和停止位4个部分组成。起始位为0信号占1位;其后接着的就是数据位,它可以是5位、6位、7位或8位,传送时低位在先、高位在后;再后面的1位为奇偶校验位,可要也可以不要;最后是停止位,它用信号1来表示字符的结束,可以是1位、1位半或2位。,串行异步传送要求,字符格式 双方要事先约定字符的编码形式、奇偶校验形式及起始位和停止位的规定。例如用ascii码通信,有效数据为7位,加1个奇偶校验位、1个起始位和1个停止位共10位。当然停止位也可大于1位。 波特率(baudrate) 波特率就是数据的传送速率,即每秒钟传送的二进制位数,单位为位/秒。在设计中要注意:要求发送端与接收端的波特率必须一致。,波特率的计算,方式0的波特率振荡频率12 方式2的波特率 方式1和方式3:利用timer1工作在方式2模式(自动载入)产生的波特率为:,表5-1 常用的各种波特率,功能说明,接收功能:通过串口调试软件sscom v3.0窗口中的字符串输入框中输入数字09中的任一个数字,点击发送,单片机接收到后,则在数码管led上会显示相应的数字。 发送功能:按单片机板上的四个按键中的任何一个s1、s2、s3、s4,在pc机的串口调试软件中会显示按下的是哪个按键。,控制电路,串口电平转换电路:由max232芯片来完成相应的电平转换功能,并将接收、发送口分别连接到单片机和pc机的rxd和txd接口。 数码管显示电路:将一个数码管的段码分别连接到单片机的p0口,位口控制线接到单片机的p2.0口,用来显示通过串口接收到的数字。 按键电路:有4个按键s1、s2、s3、s4分别连接到单片机的p3.2、p3.3、p3.4、p3.5,用来作为单片机的发送启动按键,按相应的键,则pc机的串口调试软件上会收到相应字符串,并告知是按下的是哪个按键。,完整的控制电路图包括:,图5-3 完整的单片机串口通信电路原理图,调试及结果,1. 先调试好单片机控制板,并检测单片机的串口是否完好,可编写简单的程序进行测试。测试完后用串口线连接好单片机和pc机的串口,将编制好的程序烧写到8051单片机中,并将单片机插到单片机控制板的单片机插口内,接通电源。 2. 打开pc机中的串口调试软件验证串口的收发功能。 接收过程:在串口调试软件的字符串输入框中输入1,然后点“发送”单片机控制板的数码管则显示1。输入2 则显示2。 发送过程:分别按下单片机控制板的按键部分的s1,s2,s3,s4 四个按键, 这时可以看到串口调试工具分别收到4 句话。你按的是p3.2 键,你按的是p3.3 键,你按的是p3.4 键,你按的是p3.5键。,图5-4 串口调试软件窗口,本课程设计的验证比较简单直接,可以通过数码管和串口调试软件直接显示接收或发送的数据。通过该课程设计,读者可以很好的掌握串口通信的硬件电路设计和软件的编程。,5.2 小结,6. 模拟数据采集器,目的意义 本章将利用单片机8051,来设计一个简易的多路模拟数据采集系,本系统可用于实验室或者个人测试和显示各种电压及电流。学会利用80c51单片机的串口来驱动led显示块,显示采样的结果。,关键器件及设备 单片机 模数转换模块 led显示模块,6.1 相关知识 1. mc14433的工作原理 mc14433是美国motorola公司推出的单片3 1/2位a/d转换器,其中集成了双积分式a/d转换器所有的cmos模拟电路和数字电路。具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量阻容器件就可以构成一个完整的a/d转换器,mc14433最主要的用途是数字电压表,数字温度计等各类数字化仪表及计算机数据采集系统的a/d转换接口。,mc14433主要功能特性 1. 精度:读数的5%1字 2. 模拟电压输入量程:1.999v和199.9mv两档 3. 转换速率:225次/s 4. 输入阻抗:大于1000m 5. 电源电压:4.8v8v 6. 功耗:8mw(5v电源电压时,典型值) 7. 采用字位动态扫描bcd码输出方式,即千、百、十、个位bcd码分时在q0q3轮流输出,同时在ds1ds4端输出同步字位选通脉冲,很容易实现led的动态显示。,2. mc14433的引脚说明,pin1(vag)模拟地,为高阻抗输入端,被测电压和基准电压的接入地。 pin2(vr)基准电压,此引脚为外接基准电压的输入端。mc14433只要一个 正基准电压即可测量正、负极性的电压。此外,vr端只要加上一个大于5个时钟周期的负脉冲(vr),就能够复为至转换周期的起始点。 pin3(vx)被测电压的输入端,mc14433属于双积分型a/d转换器,因而被测电压与基准电压有以下关系: 输出读数= vxvr1999 因此,满量程的vx = vr。当满量程选为1.999v,vr可取2.000v,而当满量程为199.9mv时,vr取200.0mv,在实际的应用电路中,根据需要,vr值可在200mv2.000v之间选取。,pin4-pin6(r1/c1,c1)外接积分元件端。次三个引脚外接积分电阻和电容,积分电容一般选0.1uf聚脂薄膜电容,如果需每秒转换4次,时钟频率选为66khz,在2.000v满量程时,电阻r1约为470k,而满量程为200mv时,r1取27k。 pin7、pin8(c01、c02)外接失调补偿电容端,电容一般也选0.1uf聚脂薄膜电容即可。 pin9(du)更新显示控制端,此引脚用来控制转换结果的输出。如果在积分器反向积分周期之前, du端输入一个正跳变脉冲,该转换周期所得到的结果将被送入输出锁存器,经多路开关选择后输出。否则继续输出上一个转换周期所测量的数据。这个作用可用于保存测量数据,若不需要保存数据而是直接输出测量数据,将du端与eoc引脚直接短接即可。,pin10、pin11(clk1、clk0)时钟外接元件端,mc14433内置了时钟振荡电路,对时钟频率要求不高的场合,可选择一个电阻即可设定时钟频率,时钟频率为66khz时,外接电阻取300k即可。若需要较高的时钟频率稳定度,则需采用外接石英晶体或lc电路。 pin12(vee)负电源端。vee是整个电路的电压最低点,此引脚的电流约为0.8ma,驱动电流并不流经此引脚,故对提供此负电压的电源供给电流要求不高。 pin13(vss)数字电路的负电源引脚。vss工作电压范围为vdd-5vvssvee。 除clk0外,所有输出端均以vss为低电平基准。 pin14(eoc)转换周期结束标志位。每个转换周期结束时,eoc将输出一个正脉冲信号。,pin15(/or) 过量程标志
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绿色电力交易平台可行性研究报告及总结分析
- 2025年房地产市场分析及投资项目可行性研究报告及总结分析
- 论研究生论文选题的方法
- 学术写作的写作规范
- 北京理工大学硕士专业学位授予工作暂行规定
- 幼师面试bi备专业素质试题解析
- 幼师招聘考试面试环节形体测试题库及参考答案详解
- 应急演练方案设计与实施指南及模拟题集
- 智能设备市场准入法规手册及模拟答案
- 西南科技大学城市学院本科毕业设计(论文)撰写规范
- 外科急腹症手术护理
- 电力公司法制讲座课件
- 雨课堂学堂云在线《亲密关系解密-知行与易径(多伦多大学 )》单元测试考核答案
- 2025年大学《健康服务与管理-预防医学基础》考试模拟试题及答案解析
- 2025网络设备供应合同模板
- 2025经导管主动脉瓣置换术后监护治疗规范课件
- 2025-2026学年江苏省淮安市苏教版三年级上册期中数学试卷1【含答案】
- 2025浙江绍兴北站站区综合管理服务中心招聘辅助人员92人笔试考试参考试题附答案解析
- 国企通讯员培训
- 马来西亚金融体系概览
- 【七年级秋季上】期中家长会:初梦扬帆乘风起一心携手育英才【课件】
评论
0/150
提交评论