EM78P447S单片机及其在直流电机红外遥控系统中的应用

发布者:Qianfeng最新更新时间:2006-11-20 来源: 国外电子元器件关键字:定时  中断  复位  电平 手机看文章 扫描二维码
随时随地手机看文章

1 EM78P447S的主要特点

EM78系列单片机是台湾义隆电子股份有限公司采用CMOS工艺制造的8位高性价比单片机。该系列单片机一般都内置看门狗计数器(WDT)、RAM、ROM、可编程定时/计数器、预分频器以及5层堆栈。该系列器件的绝大部分指令只需两个振荡周期,同时具有内外部中断、低电压检测复位、可编程I/0、内部上拉电阻和集电极开路输出、SLEEP方式等功能。另外,EM78P447S单片机还具有编程简单、速度快、功耗小、成本低等优点,能广泛应用于玩具、家电、工业控制等方面。

EM78P447S的主要性能特点如下:

●工作电压范围:2.5-5.5V;

●允许温度范围:0-70°C;

●工作频率范围:

石英振荡型:5V时的范围为DC-20MHz,

3V时的范围为DC-8MHz;

RC振荡型:5V时的范围为DC-4MHz;

3V时的范围为DC-4MHz;

●一次可编程ROM达4K X 13bit;

●内部RAM为148 X 8bit;

●具有5层堆栈;

●内含一个可以自行规划的看门狗计时器(WDT)和一个8位预分频器;

●具有24个双向三态I/O脚;

●睡眠状态的I/O可做规划;

●有十个具有提升电阻及叫醒CPU的I/O引脚;

●有两个具有R-Option功能的I/O引脚,通过R-Option功能可在两个或两个以上应用程序中放人同一单片机时,用一个输入脚来判断选择哪一个程序。也就是说,R-option功能就是在EM78P447S的某两个I/0脚上设置可选择的下拉电阻,从而通过用户是否外接下拉电阻(一般为510kΩ)来判断该脚的状态,进而判断运行哪一个程序;

●有两个可规划为集电极开路的输出脚;

●可通过一个8位定时/计数器(TCC)来选择信号源和触发源,并可进行8位预分频;

●具有溢出中断功能;         

●具有上电复位、低电平检测复位、RESET引脚输入低电平复位、WDT超时溢出复位等功能;

●绝大部分指令只需两个振荡周期;

●具有低电平睡眠模式;

●具有TCC溢出中断、外部INT引脚输入脉冲中断和执行INT指令软件中断功能;

●采用32脚DIP封装。

2 EM78P447S的引脚功能和寄存器

2.1 EM78P447S的引脚排列

图1为EM78P447S的引脚排列。其各引脚的功能如下:

TCC:外部计数输入脚;

OSCO:振荡输出脚;

VDD:正电源输入脚;

OSCI:晶振或RC振荡输入脚;

NC:空脚;

BESET:复位输入端,低电平有效;

VSS:接地脚;

INT:外部中断输入脚,下降沿输入有效;

P50-P57:双向I/O引脚;

P60-P67:双向I/O引脚,可通过软件规划成有内部提升电阻;

P70-P77:双向I/O引脚,其中P74、P75可以通过软件规划成有内部提升电阻;P76、P77通过软件可设定为集电极开路输出脚;P70、P71可当作R-Option的输入脚。

2.2 EM78P447S中的寄存器

EM78P447S内含9个操作用途寄存器。其中间接寻址寄存器R0(IAB)、定时/计数器R1(TCC)、程序计数器R2(PC)、状态寄存器R3(STATUS)、RAM选择寄存器R4(RSR)、I/O口寄存器R5(PORT5)、R6(PORT6)、R7(PORT7)等8个寄存器的地址按顺序分别为00H-07H,而中断状态寄存器R3F(1SR)的地址为3FH。

在EM78P447S的148个通用寄存器(RAM)中,包括有地址为08H-1FH的寄存器和4个地址为20H-3EH的寄存器组(4个页面地址由R4的位6、位7来决定)。

另外,EM78P447S中还有7个特殊功能寄存器。其中包括累加器A、控制寄存器CONT、输入/输出控制寄存器IOC5、IOC6、IOC7(分别控制port5,port6,port7的输入/输出模式)、WDT控制寄存器IOCE和中断屏蔽寄存器IOCF。

2.3 EM78P447S的指令简介

EM78P447S单片机共有45个单字、58条指令。这58条指令包括19条逻辑指令、11条算术运算指令、4条位元指令、4条转移指令、10条控制指令和10条跳跃指令。表1给出了这些指令字按功能的分类。

EM78P447S单片机的指令主要有以下几个特色:

●除改变程序计数器的指令需要两个指令周期外,其余指令均为单指令周期;

●寄存器的每一个位元均可由位元型指令直接进行设定、清除或测试;

●对应于IO引脚的I/O寄存器也可以当作一般寄存器进行存取。也就是说,存取一般寄存器与I/O所使用的指令完全一样。

3 在直流电机遥控系统中的应用

采用EM78P447S为主控器设计的遥控系统可实现对直流电机正转、反转和停止的遥控控制。该遥控控制系统由发射模块、接收输入模块和单片机处理输出模块三部分组成。

3.1发射模块

笔者设计的该遥控控制系统中的发射模块采用3V工作电压,其电路板上有三个乒乓键KO、K1、K2,可分别用来控制电机的正转、反转和停止操作。当需要进行发射时,采用发射专用芯片PT2248及外围放大电路把信号放大,即可进行红外发射。其硬件电路原理图如图2所示。

3.2接收输入模块

本遥控控制系统中的接收模块采用5V工作电压,且在该电路板上有一个接收器,可用以接收发射模块传送过来的信号。利用一个放大电路可将接收到的信号放大并传送到接收专用芯片PT2249A,然后再通过74LS04处理后送给单片机。可用三个发光二极管分别对应于发射模块的三个按键以显示操作。当按下某一个键时,与之对应的发光二极管发光。其硬件电路如图3所示。

3.3单片机处理输出模块

单片机处理输出模块采用5V工作电压,模块上的三个乒乓键K3、K4、K5,分别对应于发射模块上的·KO、K1、K2三个键,可用来控制电机的正转、反转和停止。这三个键可在遥控器出现问题或丢失时代替KO、K1和K2进行操作,因此非常方便实用。

单片机上的P5.0-P5.2引脚分别作为电机正转、反转和停止的信号输入端,P6.0、P6.1引脚分别作为电机正转、反转的信号输出端。要使电机停止操作,只要将无效信号送人P6.0、P6.1即可。单片机的输出信号经74LS04反向并送人ULN2003A进行放大后,即可驱动继电器以使直流电机作相应操作。

另外,还可用两个发光二极管来显示操作。这样,当电机正转或反转时,其中的一个二极管将点亮,而当按下停止按钮时,两个都不亮。其硬件电路如图4所示。

4 系统的软件设计

该设计以EM系列单片机配套的开发工具EMC为编程工具,由主程序不断循环监测乒乓键的状态。当某个按键被按下松开后,其对应的电机被启动,然后系统再返回检测按键的状态,以确定是否保持该运行状态或转入其它状态。

应当注意:当机械开关按下或放开的瞬间,按键会因机械弹性的缘故在接点上产生弹动。这个快速跳动CPU会完全检测到,因而会出现使用者只按了一次开关,而被CPU认为是按下很多次的错误情况。为了避免这种误判现象,设计时可用延时来处理这种弹跳问题。当软件在检测到开关被按下后,先延时一段时间再检测一次,以避开弹跳的时间,这个弹跳的产生通常在开关被按下后开始的20ms-50ms之间发生,因此只要避开这段时间,而不要读输入脚的信号即可。其软件流程如图5所示。

参考文献

1.邓锦城.EM78447入门与实作

2.吴建生.EM78154/x56/x57系列8位单片机原理及应用.福州新源电子技术研究所,1998,3

关键字:定时  中断  复位  电平 引用地址:EM78P447S单片机及其在直流电机红外遥控系统中的应用

上一篇:EM78P447S单片机及其在直流电机红外遥控系统中的应用
下一篇:基于AT89C51单片机设计的简易智能机器人

推荐阅读最新更新时间:2024-03-16 12:18

关于定时器A的官方例子解读
//****************************************************************************** // MSP-FET430P140 Demo - Timer_A, Toggle P1.0, CCR0 Cont. Mode ISR, DCO SMCLK // // Description: Toggle P1.0 using software and TA_0 ISR. Toggles every // 50000 SMCLK cycles. SMCLK provides clock source for TACLK. // During the TA_0 ISR,
[单片机]
MSP430F149-利用IO中断方式实现按键检测程序
#include msp430x14x.h #define key1 0x01 #define key2 0x02 #define key3 0x04 #define delay_small 200 #define key_1 0xfe //定义返回键值1 #define key_2 0xfd //定义返回键值2 #define key_3 0xfb //定义返回键值3 void key_process_0(void); void key_process_1(void); void key_process_2(void); void key_check (void); unsigned char key_value
[单片机]
ATMEGA128定时器1的使用
//环境:winavr+avr studio char temp=0; ISR(TIMER1_COMPA_vect )//中断函数 { // user code here temp++; if (temp==10) temp=0; PORTA=temp; DDRA=0xff; } void mytimer_init(void) { //关总中断 cli(); //TCCR1A为配置引脚输出模式,这里取默认为0,未连接即可,因此不需要为其赋值 //T/C1时钟源选择为clk/64,CLK现为内部晶振4MHZ,因此时钟为4,000,000/64 HZ = 62500 HZ TCCR1B &= ~
[单片机]
什么是频谱分析仪平均噪声电平
噪声的概念很广,在很多情况下,我们都将频谱分析仪看作一台接收机,噪声和信噪比常常代表相同的含义。噪声在频谱分析仪中并不是直接出现的,作为测量结果的一部分,被称为显示平均噪声电平(DANL,Display Average Noise Level)。 一个50欧姆的匹配负载连接在频谱分析仪的输入端,在频谱分析仪的屏幕上将会看到横跨整个频段的噪声底,这就是DANL。DANL并不能代表射频输入端实际输入的噪声电平,而是输入端的噪声穿越了仪器内部的层层噪声后,在一定的平均方式和分辨率带宽下显示出来的电平。其实频谱仪的所有测量显示都是输入端的真实信号叠加内部噪声后的结果。如果输入端的电平没有仪器内部的噪声高,那么它就显现不出来。所以DAN
[测试测量]
什么是频谱分析仪平均噪声<font color='red'>电平</font>
PIC16F87X系列单片机引起内部复位的条件和原因分析
PIC16F87X系列单片机的复位功能设计得比较完善,引起单片机内部复位的条件和原因可以大致归纳成以下5种. 1.上电复位 每次单片机加电时,上电复位电路都要对电源电压VDD的上升过程进行检测,当VDD值上升到规定值1.6~1.8V时,就产生一个有效的复位信号,需经过72ms加1024个时钟周期的延时,才会使单片机复位。 2.人工复位(单片机在执行程序期间) 无论是单片机在按预先设定的正常顺序运行程序,还是出现单片机进入不可预知的某一个死循环,都必须认为单片机在执行程序。单片机在执行程序期间,只要在人工复位端MCLR加入一个低电平信号,就会令其复位。 3.人工复位(单片机在睡眠期间) 单片机处在睡眠状态之下(时钟停振,
[单片机]
PIC16F87X系列单片机引起内部<font color='red'>复位</font>的条件和原因分析
单片机C51串口中断接收和发送测试例程(含通信协议的实现)
  通信协议: 第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标志,其余类推……,最后一个字节为前几个字节后7位的异或校验和。   测试方法:可以将串口调试助手的发送框写上 95 10 20 25,并选上16进制发送,接收框选上16进制显示,如果每发送一次就接收到95 10 20 25,说明测试成功。 //这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的 #include #include #define INBUF_LEN 4 //数据长度 unsigned char inbuf1
[单片机]
单片机中断的IE和IP寄存器
一、中断允许寄存器IE CPU对中断源的开放或中断屏蔽的控制是通过中断允许寄存器IE设置的,IE既可按字节地址寻址(其字节地址为A8H),又可按位寻址。AT89S52单片机中的6个中断矢量都是可屏蔽中断,通过对IE的某些位置位和清0,允许或禁止某个中断,当对IE的EA位清0时,屏蔽全部中断源。IE中各标志位功能如表1所示: 表1 IE中的中断请求标志位 例:开放外部中断0 字节操作:MOV IE,#81H 或 MOV 0A8H,#81H 位操作:SETB EA SETB EX0 二、AT89S52的优先级寄存器IP AT89S52单片机的中断系统提供两个中断优先级,对于每一个中断请求源都可以编程为高优先级中断源或低优先
[单片机]
单片机<font color='red'>中断</font>的IE和IP寄存器
定时定时的方式精准控制步进电机速度
摘要: 本节介绍用定时器定时的方式,精准控制脉冲时间,从而控制步进电机速度 一、计算过程 电机每一步的角速度等于走这一步所花费的时间,走一步角度等于步距角,走一步的时间等于一个脉冲的时间 TB6600及其他驱动器大多具有细分功能,考虑细分X之后,一个脉冲转动的角度为step/X,带入①式 电机速度通常使用单位为转速RPM(转/分),角速度(°/S)与转速之间的转换关系 将③带入②可得: 至此得到了步进电机一个脉冲的时间t,采用51单片机16位溢出定时器的模式去定时,可以得到: 将④带入⑤可得: 至此得到了转速n与定时初值C的函数关系 二、举例计算 步进电机使用二相四线电机,步距角为1.8°,驱动器细分值
[嵌入式]
用<font color='red'>定时</font>器<font color='red'>定时</font>的方式精准控制步进电机速度
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved