积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 单片机 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
带ADC、PWM和比较器的单片机-EM78P458
 
作者:杨春燕,肖吉林   来源:嵌入式系统IC网    点击数:350   更新时间:2008-1-8
您可以添加到网摘 让更多人关注此文章:

    摘  要:本文概要介绍了EM78P458单片机的主要性能特点,并给出了该单片机的A/D转换器、脉宽调制器(PWM)和比较器的用法。
    关键词:
A/D转换器; PWM; 比较器; 单片机; EM78P458

  EM78P458是台湾义隆公司最新推出的一款高性能OTP单片机,除了具有其它EM78系列单片机的特点外,还增加了8路8位A/D转换器,2路脉宽调制器(PWM)和一个比较器,可以广泛应用在智能仪表、自动控制、家用电器等领域。下面主要介绍该单片机的特点以及A/D转换器、脉宽调制器和比较器的结构与用法。

1. EM78P458主要特点
  EM78P458具有如下特点:
  ● 8路8位A/D转换器,其中2路可选择5级放大增益;
  ●2路脉宽调制输出,10位分辨率,可用作D/A转换器;
  ●1 个比较器,可产生中断,外接反馈电阻可构成运放;
  ●8级硬件堆栈,方便程序调用;
  ●6个中断源: 定时/计数器溢出中断; I/O口输入电平变化中断(从SLEEP方式唤醒时); 外部中断; A/D转换完成中断; 比较器中断(结果为高);PWM中断;
  ● 4096×13bit片内ROM,96×8bit RAM;
  ●工作电压:2.2~6.0V,工作频率:DC~16MHz;
  ● 功耗低:5V/4MHz 1.5mA;3V/32kHz 15 μA;SLEEP 1μA;
  ● 8 个I/O口输入电平变化产生中断唤醒SLEEP;
  ●I/O口可编程为上拉、下拉和集电极开路;
  ●16个双向I/O口,20引脚;
  ●速度快:99%为单指令周期,每条指令周期为2个时钟周期;
  ●电源上电检测器,检测电压为2.0±0.15V;
  ●8位定时/计数器,可8位预分频;
  ●片内看门狗计数器,可8位预分频;
  ●57条精简指令,易学易用。

2. 引脚介绍
    EM78P458的引脚排列如图1所示,功能如下:

  OSCI、OSCO:分别为振荡输入、输出端,可外接标准晶振、陶瓷振荡或RC振荡;
  P50~P57:双向I/O口,P50可以编程为外部中断输入,P51、P52可编程为PWM1 和 PWM2,P53可以作为A/D转换器的参考电压端,P54兼作外部计数脉冲输入(TCC),P55、P56 和P57分别作为比较器的负输入、正输入和输出;
  P60~P67:双向I/O口,可作为8路模拟信号输入。

3. A/D转换器与A/D转换

  EM78P458的A/D转换器包括一个8位模拟开关,3个控制寄存器(ADCONR9,AD-CMP-CON/UICA0,GCON/IOC90),一个A/D结果寄存器(ADDATA/RA)。A/D转换器的原理框图如图2所示。

  EM78P458的A/D转换采用逐次逼近式,转换结果保存在ADDATA,模拟信号的输入通道通过ADCON的位0,1和2来选择。
3.1 A/D转换器I/O口设置与控制寄存器
  GCON寄存器各位如下 :

7

6

5

4

3

2

1

0

OP2E

OP1E

G42

G41

G40

G12

G11

G10

  OP2E:使能运放OP2,并把输入接到P64。当为0时关闭运放;为1时使能运放。
  OP1E:使能运放OP1,并把输入接到P60。当为0时关闭运放;为1时使能运放。
  G42~G40:选择OP2增益; 000~101 分别对应增益为1~32;
  G12~G10:选择OP1增益; 000~101 分别对应增益为1~32。
3.2 A/D转换控制寄存器ADCON/R9
  ADCON/R9寄存器各位如下 :

BIT

7

6

5

4

3

2

1

0

SYMBOL

-

-

IOCS

ADRUN

ADPD

ADIS2

ADIS1

ADIS0

初始值

0

0

0

0

0

0

0

0

  ADRUN:A/D转换开始位;当为1时,A/D转换开始,由软件置位;为0时,A/D转换结束,硬件自动清零。
  ADPD:在睡眠方式进行A/D转换;当为1时,A/D转换正在进行;为0时,关闭参考电阻进入睡眠方式 。
  ADIS2~ADIS0:A/D转换通道选择,000~111分别对应AN1~AN8,只有在ADPD和 ADRUN为0时才可以改变通道。
3.3 定义P6口为模拟输入或数字I/O口寄存器
  AD-CMP-CON/IOCA 0各位功能如下 :

7

6

5

4

3

2

1

0

VREFS

CE

COE

IMS2

IMS1

IMS0

CKR1

CKR0

  VREFS:A/D转换参考电压选择;当为0时, A/D转换参考电压选择VDD;为1时, A/D转换参考电源接到P53/Vref。
  CE:比较器控制位;当为0时,关闭比较器;为1时,使用比较器。
  COE:比较器输出选择;当为定义的I/O为 0时,比较器用作运放(CE=1);为1时,用作比较器(CE=1)。

  IMS2~IMS1,选择模拟、数字I/O口,选择方式如下:
    CKR1,CKR0:A/D转换周期选择;
   00=1:4 (缺省值)
   01=1:16
   10=1:64
   11=内部RC振荡周期
3.4 A/D转换步骤
  (1) 通过设置AD-CMP-CON寄存器的IMS2~IMS0位来设置模拟输入口及参考电压;
  (2) 设置ADCON0:
  a) 选择A/D输入通道(ADIS2~ADIS0);
  b) 选择放大器放大比例(GCON寄存器);
  c) 定义A/D转换时钟(CKR1、CKR0);
  d) 置ADPD位为1开始采样;
  (3) 关中断;
  (4)置ADRUN位为1开始转换;
  (5) 等待A/D转换中断(标志);
  (6)读A/D转换结果(ADDATA);
  (7) 清A/D转换中断标志,本次A/D转换结束。
  下面举例说明A/D转换的过程:
  ;定义通用寄存器
   R0    EQU 0
   STATUS EQU 3
   P5  EQU 5
   P6  EQU 6
   RF EQU 0X0F
  ;定义控制寄存器
   IOC50  EQU 0X05
   IOC60  EQU 0X06
   CINT  EQU 0X0F
  ;定义A/D控制寄存器
   ADDATA EQU 0X0A
   ADCONR EQU 0X
   ADCONC EQU 0X0A
   GCON EQU 0X
  ;位定义
   ADRUN EQU 0X04
    ADPD EQU 0X03


   ORG    0
   JMP INITIAL
   ORG   0X08
   (用户程序)
   CLR RF ;清A/D转换完成中断标志
   BS ADCONR,ADRUN ;开始下一次转换
   RETI
   INITIAL:
   MOV A,@0BXXXX1XXX
   IOW CINT ;使能A/D转换中断
   MOV A,@0XXX
   CONTW ;关中断
   MOV A,@0X00
   IOW ADCONC ;参考电压选VDD,P60输入,时钟Fosc/4
  ENADC:
   MOV A,@0BXXXXXXX1
   IOW P6 ;定义P60为输入,其它I/O口待定
   MOV A,@0B01000111
   IOW GCON ;使能OP1(运放),增益32
   BS ADCONR,ADPD ;关SLEEP
   ENI ;关中断
   BS ADCONR,ADRUN ;开始转换
   POLLING:
   JBC ADCONR,ADRUN
   JMP POLLING ;等待转换完成,如开中断则不需要等待
     (用户程序)

4. 脉宽调制输出(PWM)
  EM78P458含有2路脉宽调制输出,每一路输出都可以达到10位分辨率。
4.1 PWM 周期(PRD1和PRD2)
  脉宽调制的周期通过改写PRDX寄存器得到,当计数器TMRX等于PRDX时,将会发生如下动作:
   TMRX 清零;
   PWMX引脚被置为1;
   脉宽调制的周期通过DT1/DT2送到DTL1/DTL2。
  计算PWM周期的公式如下:
   T=(PRDX+1)×4×(1/Fosc)×(TMRX 预分频值)
4.2 占空比
  占空比的设置改写DTX寄存器得到,下面给出计算占空比的公式:
   P=DTX×(1/Fosc)×(TMRX 预分频值)
4.3 编程PWM 的步骤 (1)写入PWM周期到PRDX;
   (2)写入PWM占空比到DTX;
   (3)如果需要,使能PWM中断;
   (4)设置PWM1/PWM2引脚为输出;
   使能PWMX和TMRX,并设置TMRX的预分频比。

5. 比较器及其用法

   EM78P458有一个比较器,可以用作唤醒SLEEP中的单片机。(图3所示)。

   使用比较器时应注意以下事项:
  ● 外部参考电压必须在VDD和VSS之间,既可以接在CIN+,也可以接在CIN-。
  ●比较器的输出结果保存在R3寄存器的CMPOUT位,可通过设置AD-CMPCON的COE位为1,使P57为输出;
  ●比较器上只要联接适当的反馈电阻即可作为运放来用;
  ● 使用比较器中断必须使能INTE和CMPIE, 不论比较器输出方式如何,比较器中断都会发生。 比较器中断标志只能用软件清零;
  ● 比较器唤醒睡眠中的单片机: 如果使能比较器,则在睡眠方式下比较器也工作; 比较器反转,会将单片机从睡眠唤醒;
  如果不用此功能,进入
SLEEP前应将比较器关闭。 由于篇幅有限,本文仅对上述内容作简要阐述,有关EM78P458的其它内容如睡眠、中断、看门狗、复位、睡眠唤醒及电源上电检测器等,请参阅相关资料。



相关文章
· Microchip推出适用于8位、16位及32位PIC®单片机和...[115]
· 基于SPE61A单片机的非接触式高压验电器的开发[229]
· 多通道智能温湿度测试仪的研制[281]
· 多通道智能温湿度测试仪的研制[225]
· 51系列单片机输出PWM的两种方法[301]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
新兴半导体技术催生绿色节能的大学校园
电子系统创新促进汽车走向环保与节能
意法CEO携新品巡游中国 
未来3年新余需要8万光伏产业人才
看好中国未来发展:瑞萨提升在华芯片产
中国LED发展神速将成为未来照明产业
剖析联发科技2009年五大产品策略
突破四大障碍 蓝牙立体声耳
瑞萨向德国企业出售当地半导体前工序工
产业紧缩 PCB业或将提前
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[转]教你如何进行电磁兼容设计...
[转]汽车和专业音响原厂设计原...
诺基亚,三星手机原厂图纸和PC...
电子元器件可靠性和失效分析经典...
[建议]FPGA设计技巧与实例...
Xilinx FPGA设计快速...
基于CPLD的各种设计实例和分...
教你如何学会MSP430单片机...
凌阳单片机教程(共8章)非常详...
[建议]学习PIC系列单片机的...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网