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

发布者:Qilin520最新更新时间: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单片机及其在直流电机红外遥控系统中的应用

上一篇:用ST72141实现无刷直流电机的控制
下一篇:单片机与TA8435的步进电机细分控制

推荐阅读最新更新时间:2024-03-30 21:22

STM32单片机定时器调试之方波输出
今天试着让STM32的定时器输出50%占空比信号,按照例程写了一下方波初始化函数,例程用的是STM32自带库函数,由于嫌麻烦,我又自己写了一个简单的,采用定时器1进行输出。结果一上来,没反应,修改了很多参数,还是没反应,然后将开发板例程写进芯片后,有反应 ,仔细越多数据手册,没有问题,纠结一上午,中午吃饭。吃完饭后,下午又开始试验,还是别人程序有反映,自己程序,没反应。再看了看,开发板程序使用的是TIM3,而我使用的是TIM1,于是又把我的程序将TIM1换成TIM3,点击调试运行,有反应 。不会是高级定时器只能干高级的任务吧,像输出方波这么简单的低级任务他不惜的干?郁闷了半天。后来通过在网上查找,这个程序 以下为源代码,CC1进行比
[单片机]
atmega8 例程:T1定时器 CTC模式 方波输出
/******************************************************************* * 函数库说明:ATMEGA8 T1定时器 CTC模式 方波输出 * 版本: v1.00 * 修改: 庞辉 芜湖联大飞思卡尔工作室 * 修改日期: 2011年08月08日 * * 说明: OC1A每次比较匹配发生时改变逻辑电平,即50% 2ms频率的方波输出 * 此时要将OC1A设置为输出 * * 版本更新: 详见readme.txt * *
[单片机]
STM32CubeIDE 中 HAL库的串口中断接收函数 HAL_UART_Receive_IT
一、代码自动生成以后的项目及代码结构: main.c中,调用了串口初始化 串口初始化函数赋值了串口的参数 相当于底层的初始化,配置引脚、并开启中断。 至此串口1配置完毕 二、库文件stm32f1xx_hal_uart.c内的秘密 2.1 初始化 1.usart.c中,MX_USART1_UART_Init 调用了库的HAL_UART_Init,将结构体传递进该函数中 2.HAL_UART_Init干了些什么事? if (huart- gState == HAL_UART_STATE_RESET) { huart- Lock = HAL_UNLOCKED; HAL_UART_MspInit(huar
[单片机]
STM32CubeIDE 中 HAL库的串口<font color='red'>中断</font>接收函数 HAL_UART_Receive_IT
STM8L学习笔记一 TIM2定时器设定系统工作计时
//定时器2配置,1毫秒产生一次中断,用于系统计时 void TIM2_Init(void) { CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);//将主时钟信号送给定时器4(L系列单片机必需) TIM2_TimeBaseInit(TIM2_Prescaler_16,TIM2_CounterMode_Up,0x7D); //定时器4,将主时钟16分频.自动装载FA=125 TIM2_SetCounter(0xFA); //设定计数值FA=125 TIM2_ITConfig(TIM2_IT_Update,ENABLE);
[单片机]
STM32串口中断的方式发送
我将其改为真正的中断发送。 步骤一:初始化GPIO GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //LED1-PC10 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //USART1
[单片机]
stm32 can中断通信
1、初始化can时钟 void canRCCInit() { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); 2、配置can的GPIO引脚 void canGPIOConfigure() { GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE); GPIO_InitTypeDef gpioI
[单片机]
51单片机-中断函数
1.中断函数概念 上一讲里,当赋值IT0为1时,P3.2遇到下降沿,IE0被置1,要想使IE0自动清零,我们引用中断函数就可以了。 我们可能已经习惯了都是在main函数里阅读分析代码,其实还有另一种函数需要我们认识的,那就是中断函数。所谓中断函数就是当它满足一定的条件时就会暂停主函数的执行内容,转而去执行中断函数。关于这个概念网上很多说法都已经讲解的很详细了,这里点一下即可。 因为我们擅长的是从实践中领悟真理,所以后面我们尽量用例程去理解中断函数。 2.中断函数的书写 中断函数与其他我们封装过的子函数的写法不同,有个区分标志“interrupt”。 至于后面为什么会有个数字0我们以后再讲。 当然函数名我们可以随意
[单片机]
51单片机-<font color='red'>中断</font>函数
TMS320C32 DSP的中断编程方法及BOOT功能实现
摘要:采用C语言对DSP编程具有很多优点。针对TMS320C32芯片的特点,提出了一种基于C语言的中断编程方法,同时介绍了具体的BOOT功能实现方案,给出了相应的源程序和结论。 关键词:C语言 BOOT表 中断向量 TMS320C3X系列芯片是美国TI公司推出的第一代浮点DSP芯片,具有丰富的指令集、很高的运算速度、较大的录址空间和较高的性价比,在各领域得到了广泛的应用。TMS320C32是TMS320系列浮点数字信号处理器的新产品,在TMS320C30和TMS320C31的基础上进行了简化和改进。在结构上的改进主要包括可变宽度的存储器接口、更快速的指令周期时间、可设置优先级的双通道DMA处理器、灵活的引导程序装入方式、可重新
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved