《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc

上传人:韩长文 文档编号:5091602 上传时间:2020-02-01 格式:DOC 页数:25 大小:325KB
返回 下载 相关 举报
《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc_第1页
第1页 / 共25页
《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc_第2页
第2页 / 共25页
《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc_第3页
第3页 / 共25页
《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc_第4页
第4页 / 共25页
《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc》由会员分享,可在线阅读,更多相关《《单片机应用与仿真训练》课程设计报告-基于单片机的遥控窗帘设计 .doc(25页珍藏版)》请在三一文库上搜索。

1、本科课程设计报告摘要本设计是基于单片机的遥控窗帘,采用8位的AT89S52单片机做控制器,程序采用C语言编程。利用直流电机正反转,实现控制窗帘的开关。直流电机用专用驱动集成电路L298N驱动,L298N属于H 桥集成电路,输出电流大,功率强,最大输出功率达200W。用单片机通过光耦TLP521-4控制芯片L298N的使能端ENABLEA和输入端IN1、IN2,达到控制电机正转、反转、停止的目的。而且,光耦采用砷化镓红外发光二极管耦合到光三极管,输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输

2、出、隔离的作用。无线遥控是由PT2262/PT2272 编码解码芯片组成的无线发送接收模块,通过PT2272接收输出端D0、D1、D2、D3输出信号控制单片机,再利用单片机控制L298N来控制直流电机。利用霍尔传感器和定时器/计数器T0来实现窗帘的防过卷,将磁钢吸附在直流电机拖动的转盘上做为磁场源,当霍尔器件所在位置的磁场尚未达到工作点之前,器件以高电平输出,当磁场增强到工作点( Bop ) 时,霍尔片输出的电压UH 经差分放大器放大后,送至施密特触发器,使之翻转导通,从而使门电路输出端由高电平变为低电平,高低电平的变化给计数器T0一个外部脉冲信号,计数器计数一次。关键词:单片机、直流电机、L

3、298N、光耦、无线遥控、霍尔传感器目录1 概述31、1 单片机发展应用背景31、2 基于单片机的遥控窗帘设计的基本要求41、3 智能遥控窗帘的构架框图42 系统总体方案及硬件设计52、1 自动窗帘总体设计方案52、2 按键控制模块62、3 无线遥控模块72、4 光电隔离芯片82、5 驱动模块82、6 霍尔传感器测量模块113 软件设计123、1 按键或者遥控控制电机正转、反转、停止124 Proteus软件仿真154、1 驱动模块的仿真154、2 仿真结果185 课程设计体会18参考文献19附1 源程序代码21附2 系统原理图251 概述1、1 单片机发展应用背景当今,计算机技术带来了科研和

4、生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。其中单片机问世不久,然而体积小、廉价、功能强,其销售额每年近80%的速度增长。它的性能不断提高,适用范围越来越宽,在计算机应用领域已占有日益重要的地位。 近几年来,随着科学技术的发展和人民生活水平的日益提高,城市建设步伐的加快,一栋栋居民楼、写字楼、宾馆拔地而起。进入寻常百姓的家用电器品种与数量愈来愈多,这些家用电器有的能减轻人们的家务、有的能丰富人们的文娱生活,有的则能提高人们的生活质量为了进一步满足人们高水准生活的需要,家用电器产品性能也在不断的更新挽代,从始初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路;从普通向

5、高性能、多功能型;由手动控制向红外线遥控、向智能化发展。与此同时,窗帘作为装修业不可缺少的一部分,也日益火爆起来,目前,常用的窗帘轨道都是钢丝绳手拉式或滑轮式,只有一部分高收入的家庭采用是电动遥控轨道。但价格相当昂贵,不能普及。所以设计的目标就是实现功能全、造价省。能够进入大众生活。一款使用微电脑管理的、红外遥控器控制的多功能窗帘,控制器符合当今的发展趋势。该窗帘控制器采用AT89S52单片机的最小系统设计,控制一个直流电动机控制窗帘的拉开和关闭。1、2 基于单片机的遥控窗帘设计的基本要求 采用两人一组进行设计,共同协作完成设计:(1)首先按设计题目要求制订方案。(2)设计出硬件原理图。(3)

6、焊接电路。(4)对设计的硬件、软件调试,直至正确地实现系统功能。设计系统的功能目标:1) 控制窗帘的开关、利用直流电机正反转实现。2) 防过卷功能。3) 具有无线遥控和手动按键控制两种功能。4) 能够指示运行状态。 我们的设计目标是以以上设计为基础,尽量设计出实用美观的硬件电路,以及智能化、人性化的程序。使我们的设计总体上更贴近于实际应用,综合性能和工艺造价符合实际应用的要求。1、3 智能遥控窗帘的构架框图 以AT89S51为控制器,程序采用C语言编程。利用直流电机正反转,实现控制窗帘的开关。直流电机用专用驱动集成电路L298N驱动,L298N属于H 桥集成电路,输出电流大,功率强,最大输出功

7、率达200W。用单片机通过光耦TLP521-4控制芯片L298N的使能端ENABLEA和输入端IN1、IN2,达到控制电机正转、反转、停止的目的。而且,光耦采用砷化镓红外发光二极管耦合到光三极管,输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。无线遥控是由PT2262/PT2272 编码解码芯片组成的无线发送接收模块,通过PT2272接收输出端D0、D1、D2、D3输出信号控制单片机,再利用单片机控制L298N来控制直流电机。利用霍尔传感器和定时器/计数器T0来实现窗帘的防过

8、卷,将磁钢吸附在直流电机拖动的转盘上做为磁场源,当霍尔器件所在位置的磁场尚未达到工作点之前,器件以高电平输出,当磁场增强到工作点( Bop ) 时,霍尔片输出的电压UH 经差分放大器放大后,送至施密特触发器,使之翻转导通,从而使门电路输出端由高电平变为低电平,高低电平的变化给计数器T0一个外部脉冲信号,计数器计数一次。 系统分为遥控模块、驱动模块、霍尔传感器测量模块、按键控制四个大的模块,他们的关系如下图所示:2 系统总体方案及硬件设计2、1 自动窗帘总体设计方案 本设计是基于单片机的遥控窗帘,采用8位的AT89S52单片机做控制器,程序采用C语言编程。利用直流电机正反转,实现控制窗帘的开关。

9、直流电机用专用驱动集成电路L298N驱动,L298N属于H 桥集成电路,输出电流大,功率强,最大输出功率达200W。用单片机通过光耦TLP521-4控制芯片L298N的使能端ENABLEA和输入端IN1、IN2,达到控制电机正转、反转、停止的目的。而且,光耦采用砷化镓红外发光二极管耦合到光三极管,输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。无线遥控是由PT2262/PT2272 编码解码芯片组成的无线发送接收模块,通过PT2272接收输出端D0、D1、D2、D3输出信号控

10、制单片机,再利用单片机控制L298N来控制直流电机。利用霍尔传感器和定时器/计数器T0来实现窗帘的防过卷,将磁钢吸附在直流电机拖动的转盘上做为磁场源,当霍尔器件所在位置的磁场尚未达到工作点之前,器件以高电平输出,当磁场增强到工作点( Bop ) 时,霍尔片输出的电压UH 经差分放大器放大后,送至施密特触发器,使之翻转导通,从而使门电路输出端由高电平变为低电平,高低电平的变化给计数器T0一个外部脉冲信号,计数器计数一次。2、2 按键控制模块 对应于硬件电路,从上到下。按键分别为K1表示按键作为外部中断0的触发脉冲、K2表示外部中断1的触发脉冲和K3表示P10按键停止。 作为一个独立的模块,按键能

11、实现执行电机正转、反转、停止的功能。其中,按键K1(外部中断0的触发脉冲)按下后,程序执行外部中断0的中断服务程序。按键K2(外部中断1的触发脉冲)按下后,程序执行外部中断1的中断服务程序。按键K3(对应于P10口)按下后,电机即停止正转或者反转,也即停止窗帘的移动。2、3 无线遥控模块 无线遥控模块采用PT2262/PT2272 编码解码芯片做成的无线发送接受模块。编码芯片 PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编

12、码芯片也会连续发射。当发射机没有按键按下时,PT2262 不接通电源,其17 脚为低电平,所以315MHz 的高频发射电路不工作,当有按键按下时,PT2262 得电工作,其第17 脚输出经调制的串行数据信号,当17 脚为高电平期间315MHz 的高频发射电路起振并发射等幅高频信号,当17 脚为低平期间315MHz 的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262 的17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为100的调幅。 PT2262/PT2272 特点:(a)、CMOS 工艺制造,低功耗(b)、外部元器件少(c)、RC 振荡电阻(d)、工作

13、电压范围宽:2。6-15v(e)、数据最多可达6 位(f)、地址码最多可达531441 种在通常使用中,一般采用8 位地址码和4 位数据码,这时编码电路PT2262 和解码PT2272 的第18 脚为地址设定脚,有三种状态可供选择:悬空、接正电源、接地三种状态,3 的8 次方为6561,所以地址编码不重复度为6561 组,只有发射端PT2262 和接收端PT2272的地址编码完全相同,才能配对使用,遥控模块的生产厂家为了便于生产管理,出厂时遥控模块的PT2262 和PT2272 的八位地址编码端全部悬空,这样用户可以很方便选择各种编码状态,用户如果想改变地址编码,只要将PT2262 和PT22

14、72 的18 脚设置相同即可,例如将发射机的PT2262 的第1 脚接地第5 脚接正电源,其它引脚悬空,那么接收机的PT2272 只要也第1 脚接地第5 脚接正电源,其它引脚悬空就能实现配对接收。当两者地址编码完全一致时,接收机对应的D1D4 端输出约4V 互锁高电平控制信号,同时VT 端也输出解码有效高电平信号。用户可将这些信号加一级放大,便可驱动继电器、功率三极管等进行负载遥控开关操纵。使用过程中,我们将GND端接地,Vss接+5V电源,D0、D1、D2、D3分别引到单片机的引脚上,VT不用悬空。当遥控发送模块按下按键A时,可以用万用表测得D0对应的引脚由低电平翻转为高电平。同样地,当遥控

15、发送模块按下按键B时,可以用万用表测得D1对应的引脚由低电平翻转为高电平。当遥控发送模块按下按键C时,可以用万用表测得D2对应的引脚由低电平翻转为高电平。当遥控发送模块按下按键D时,可以用万用表测得D3对应的引脚由低电平翻转为高电平。我们可以根据电平的变化,来控制相关模块。2、4 光电隔离芯片 TLP521是可控制的光电藕合器件,光电耦合器广泛作用在电脑终端机,可控硅系统设备,测量仪器,影印机,自动售票,家用电器,如风扇,加热器等电路之间的信号传输,使之前端与负载完全隔离,目的在于增加安全性,减小电路干扰,减化电路设计。TLP5211,2和4组成的砷化镓红外发光二极管耦合到光三极管。该TLP5

16、212提供了两个孤立的 光耦8引脚塑料封装,而TLP5214提供了4个孤立的光耦中16引脚塑料DIP封装集电极-发射极电压: 55(最小值) 经常转移的比例: 50 (最小) 隔离电压: 2500 Vrms (最小)TLP521 TLP521-2 TLP521-4 光藕内部结构图及引脚图: 应用时,可以在二极管的阳极加一个1K左右的上拉电阻,三极管的集电极加一个1K左右的上拉电阻。当用单片机给二极管的阴极施加低电平时,对应的三极管的发射极就会导通,可以作为电流驱动。一般光电隔离的两端的所有器件,不要再共用同一个电源和地。2、5 驱动模块 恒压恒流桥式2A驱动芯片L298NL298是SGS公司的

17、产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。L298N可接受标准TTL逻辑电平信号VSS,VSS可接457 V电压。4脚VS接电源电压,VS电压范围VIH为2546 V。输出电流可达25 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OU

18、T2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。表1是L298N功能逻辑图。(1)虚线框图1控制电机正反转,U1A,U2A是比较器,VI来自炉体压强传感器的电压。当VIVRBF1时,U1A输出高电平,U2A输出高电平经反相器变为低电平,电机正转。同理VIVRBF1时,电机反转。电机正反转可控制抽气机抽出气体的流量,从而改变炉体压强。(2)虚线框图2中,U3A,U4A两个比较器组成双限比较器,当VBVIVA时输出低电平,当VIVA,VIVB时输出高电平。VA,VB是由炉

19、体压强转感器转换电压的上下限,即反应炉体压强控制范围。根据工艺要求,我们可自行规定VA,VB的值,只要炉体压强在VA,VB所确定范围之间电机停转(注意VBVRBF1VA,如果不在这个范围内,系统不稳定)。(3)虚线框图3是一个长延时电路。U5A是一个比较器,Rs1是采样电阻,VRBF2是电机过流电压。Rs1上电压大于VREF2,电机过流,U5A输出低电平。由上面可知,框图1控制电机正反转,框图2控制炉体压强的纹波大小。当炉体压强太小或太大时,电动机转到两端固定位置停止,根据直流电机稳态运行方程3:UCeNRaIa其中:为电机每极磁通量;Ce为电动势常数; N为电机转数;Ia为电枢电流;Ra电枢

20、回路电阻。电机转数N为0,电机的电流急剧增加,时间过长将会使电机烧坏。但电机起动时,电机中线圈中的电流也急剧变大,因此我们必须把这两种状态分开。长延时电路可把这两种状态区分出来。长延时电路工作原理:当Rs1过流U5A产生一个负脉冲经过微分后,脉冲触发555的2脚,电路置位,3脚输出高电平,由于放电端7脚开路,C1,R5及U6A组成积分器开始积分,电容C1上的充电电压线性上升,延时运放积分常数为100R5C1。当C1上充电电压,即6脚电压超过23 VCC,555电路复位,输出低电平。电机启动时间一般小于08 s,C1充电时间一般为081 s。U5A输出电平与555的3脚输出电平经U7相或,如果U

21、5A输出低电平大于C1充电时间,U7在C1充电后输出低电平由与门U8输入到L298N的6脚ENA端使电机停止。如果U5A的输出电平小于C1充电时间,6脚不动作电机的正常启动。长延时电路吸收电机启动过流电压波形,从而使电机正常启动。下图是其引脚图: 1、15脚是输出电流反馈引脚,其它与L293相同。在通常使用中这两个引脚也可以直接接地。上图是其与51单片机连接的电路图。 应用时,我们将Vss和Vs引脚都接+5V。用ENA选择使用第一组输入IN1、IN2。GND和SENSE A和SENSE B接地。IN1、IN2从光耦的发射极引出。Output 1 和Output 2受IN1和IN2的控制,做输出

22、端控制直流电机正转、反转、停止。2、6 霍尔传感器测量模块 根据霍尔效应制成的霍尔传感器不仅可以用于磁场的测量,大量的还是以磁场为工作媒体,将物体的多种运动参量转变为电压输出,因而在自动控制、各种物理量的测量中得到了大量的应用。集成霍尔传感器主要由霍尔片和放大器组成,根据不同应用的需要,有的还加温度补偿电路、稳压电源或施密特触发器及开关电路等,加了不同附加器件后其应用和特性各不相同。 集成霍尔传感器的特点是:体积小、频响宽、动态特性好、对外围电路要求简单、使用寿命长及价格低廉。器件输出电压与器件所在位置的磁场强度成线性关系。 如SS95A 系列和MLX90215 系列,运用此类器件时,只要选取

23、适当的小磁钢,就可将与小磁钢一起运动的物体的位置、位移、速度、角度等信息以电信号的形式传感出来,达到了自动测量与控制的目的。当霍尔器件所在位置的磁场尚未达到工作点之前,器件以高电平输出,当磁场增强到工作点( Bop ) 时,霍尔片输出的电压UH 经差分放大器放大后,送至施密特触发器,使之翻转导通,从而使门电路输出端由高电平变为低电平,称此为“开”状态。 反之,当磁场减小到释放点( Brp ) 时,门电路输出端截止,则由低电平变为高电平, 称为“关”状态。 常见的霍尔开关有UGN3109、A44E 和US5881。 由于该传感器只对一定强度的磁场起作用,抗干扰能力强,因而应用广泛。当磁场超过工作

24、点时,其输出导通为低电平,而当磁场变小乃至完全撤消后,其输出状态保持不变,必须施加一个反向磁场,才能达到释放点,输出截止转为高电平,可见具有锁存记忆功能。 常见的集成霍尔锁存器有UGN3075 和US1881。US1881有两种封装形式: 当磁钢从霍尔传感器的前面重复消磁、励磁的过程中,其OUT端会输出一个电平变化信号,作为计数器T0的外部脉冲。整个系统也就是根据霍尔传感器和磁钢一起用产生外部脉冲,使得T0计数的这个特性来实现窗帘的防过卷功能的。是整个设计的关键点之一,使用它可以实现窗帘的智能化。3 软件设计3、1 按键或者遥控控制电机正转、反转、停止 用一下程序实现电机的真反转,并计数 wh

25、ile(1) /等待中断 delay(2); if(AK=1)&(P10=0)/遥控或者按键正转 TR0=1;EX1 = 0; /关外部中断1ENABLEA=1;while(!CK) P26=1; P25=0;P26=1; P25=1;TR0=0;EX1 = 1; /开外部中断1ENABLEA=0; if(P0=0xf2)&(P10=0) /遥控或者按键反转 EX0 = 0; /关外部中断0TR0=1;ENABLEA=1;fanzhuanjishuH=TH0;fanzhuanjishuL=TL0;while(!CK) P26=0; P25=1;P26=1; P25=1;TH0=fanzhuan

26、jishuH-TH0;TL0=fanzhuanjishuL-TL0; /重新设定计数初值TR0=0;EX0 = 1; /开外部中断0ENABLEA=0; void zhengzhuan() interrupt 0 /按键正转(外部中断0) EX1 = 0; /关外部中断1TR0=1;ENABLEA=1;while(!CK)|(P10=0) P26=1; P25=0; delay(2);P26=1;P25=1;EX1 = 1; /开外部中断1TR0=0;delay(2);void fanzhuan() interrupt 2 /按键反转(外部中断1) EX0 = 0; /关外部中断0TR0=1;

27、 ENABLEA=1;fanzhuanjishuH=TH0;fanzhuanjishuL=TL0;while(!CK)|(P10=0) P26=0; P25=1; delay(2);P26=1;P25=1;TH0=fanzhuanjishuH-TH0;TL0=fanzhuanjishuL-TL0; /重新设定计数初值EX0 = 1; /开外部中断0TR0=0;delay(2);利用一下程序模块来实现防过卷功能 void fangguojuan() interrupt 1 /定时器0中断 EA=0; P26=1; P25=1; TH0=COUNTTH0; TL0=COUNTTL0; TF0=0;

28、 EA=1;利用以下程序来使系统能嵌入不同的窗户上使用if(P0=0xf8)&(P10=0) /first use EA=0; TR0=1; ENABLEA=1; delay(2); while(!CK)|(P10=0) /窗户关闭后按遥控发送C键或者固定停止键 P26=1; P25=0; P26=1; P25=1; COUNTTH0=0xff-TH0; /计算计数初值高8位 COUNTTL0=0xff-TL0;/计算计数初值低8位 TH0=COUNTTH0; TL0=COUNTTL0; ENABLEA=0; EA=1; 4 Proteus软件仿真4、1 驱动模块的仿真 仿真程序#includ

29、eunsigned char flag=1;sbit P10 = P10; /按键停止sbit ENABLEA=P27;/选择第一组IN1、IN2sbit P26=P26; /正转IN1sbit P25=P25; /反转IN2void delay(int n) /10ms延时 int i=0,j;while(n-) for(i=0;i10;i+) for(j=0;j125;j+); void main(void) EA = 1; /开总中断 IT0 = 1; /边沿触发 IT1 = 1; EX0 = 1; /开外部中断0 EX1 = 1; /开外部中断1delay(2);if(P0=0xf8&

30、P10=0) /first use ENABLEA=1; delay(100); while(P10) P26=0; P25=1; ENABLEA=0; while(1) /等待中断 delay(2); if(flag&P10=1) ENABLEA=1;while(flag) P26=1; P25=0; delay(2); if(P10=0) break; ENABLEA=0; flag=1; delay(2); if(flag&P10=1) ENABLEA=1;while(flag) P26=0; P25=1; delay(2); if(P10=0) break; ENABLEA=0; fl

31、ag=1; void zhengzhuan() interrupt 0 /按键正转(外部中断0) EA=0;ENABLEA=1;while(1) P26=1; P25=0; delay(2); if(P10=0|) break; EA=1;flag=0;void fangzhuan() interrupt 2 /按键反转(外部中断1) EA=0;ENABLEA=1;while(1) P26=0; P25=1; delay(2); if(P10=0) break; EA=1;flag=0; 仿真电路图4、2 仿真结果按键K2,电机正转,按键K3,电机反转,按键K1,电机停止。5 课程设计体会通过

32、这次单片机课程设计,我们真的是受益匪浅,动手能力和合作能力都得到了一定的培养,要感谢领导和老师们为我们提供的这次宝贵的实践机。在这次设计过程中,第一次接触实物,硬件的设计跟焊接都要我们自己动手,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想和要求运行起来。当然,这其中也有很多的问题。第一,不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课程设计是对我们的学习态度的一次检验。对于这次单片机综合课程设计,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次设计所遇到

33、的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力和决心,有足够的挑战困难的勇气,就没有什么办不到的。本次课程设计虽然取得了一定的收获,但是在很多方面还是有待于进一步改进和完善的。比如,霍尔传感器的转盘有点重,在电机正反转的时候可能会因为分压不足使正反转指示灯(两个发光二极管)不亮。另外,本次设计没有光控电路,如果再加上一个光控电路,在光线较暗的时候能自动开窗帘,二而在光线较强的时候能够自动关窗帘,那这个设计将会更加完善。通过这次单片机课程设计,我们加深了对单片机理论的理解,将理论很好的应用到实际当中去。参考文献 1、单片机原理与应用技术

34、。中国矿业大学出版社 作者:余发山 王福忠2、21IC电子网。http:/ 4、百度搜索。http:/ 5、单片机学习网。http:/ 附1 源程序代码#includeunsigned char flag=1;sbit P10=P10; /按键停止sbit AK=P00; /遥控正转sbit BK=P01; /遥控反转sbit CK=P02; /遥控停止sbit DK=P03; /遥控First Usesbit P11=P11; /正转防过卷sbit P12=P12; /反转防过卷sbit ENABLEA=P27;/选择第一组IN1、IN2sbit P26=P26; /正转IN1sbit P2

35、5=P25; /反转IN2void delay(int n) /10ms延时 int i=0,j;while(n-) for(i=0;i10;i+) for(j=0;j125;j+); void main(void) EA = 1; /开总中断 IT0 = 1; /INT0 边沿触发 IT1 = 1; /INT1 边沿触发 EX0 = 1; /开外部中断0 EX1 = 1; /开外部中断1 ET0 = 1; /开定时器/计数器0中断允许 TMOD=0x05; /设置定时方式(TR0控制计数器的起停,计数器工作模式,计数脉冲由外部引脚T0(P3.4)引入)ENABLEA=0; /禁止向L298N

36、输入信号delay(2);if(P0=0xf8&P10=0) /first use EA=0; TR0=1; ENABLEA=1; delay(2); while(P10) P26=0; P25=1; TR0=0; ENABLEA=0; EA=1; while(1) /等待中断 delay(2); if(AK=1)&(P10=1)/遥控正转 TR0=1;ENABLEA=1;while(flag) P26=1; P25=0; while(flag) if(CK=1)|(P10=0) flag=0; P26=1; P25=1; delay(2); if(P11=0)/正转防过卷 flag=0; P

37、26=1; P25=1; delay(2); /delay(2);flag=1;TR0=0;ENABLEA=0; /delay(2); if(P0=0xf2&P10=1) /遥控反转 TR0=1;ENABLEA=1;while(flag) P26=0; P25=1; if(P10=0)|(CK=1) flag=0; P26=1; P25=1; delay(2); if(P12=0) /反转防过卷 flag=0; P26=1; P25=1; delay(2); /delay(2);flag=1;TR0=0;ENABLEA=0; void zhengzhuan() interrupt 0 /按键正

38、转(外部中断0) EA=0;TR0=1;ENABLEA=1;while(flag) P26=1; P25=0; delay(2); if(P10=0)|(P0=0xf4) flag=0; P26=1;P25=1;EA=1;TR0=0;flag=1;delay(2);void fangzhuan() interrupt 2 /按键反转(外部中断1) EA=0;TR0=1; ENABLEA=1;while(flag) P26=0; P25=1; delay(2); if(P10=0)|(P0=0xf4) flag=0; P26=1;P25=1;EA=1;TR0=0;flag=1;delay(2);附2 系统原理图- 25 -

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1