您现在的位置: 全球仪器仪表MRO网 >> 仪器仪表行业新闻 >> 科研报告 >> 正文
Intel 8XC196MC 高档单片机实现PWM的应用研究
作者:全球MRO综合服务商    仪器仪表行业新闻来源:全球MRO仪器仪表交易网    点击数:    更新时间:2007/5/22

Intel 8XC196MC 高档单片机实现PWM的应用研究     型号:      厂商:

摘 要:介绍了运用Intel 8XC196MC高档单片机中的WG中断产生PWM的硬件连接及软件实现,实验结果证明,用Intel 8XC19MC高档单片机特有的WG波形发生器产生PWM输出,简单方便,有利于各种电机的控制。 
关键词:Intel 8XC196MC高档单片机 WG波形发生器 PWM 
Abstract: It is introduced that the hardware and software of producing PWM
 with the WG interrupt in Intel 8XC196MC 
High Single-chip Microcomputer. It is proved by the result of the experiment that it is 
simple producing PWM with Intel 8XC196MC
High Single-chip Microcomputer and in favor of controlling all kinds of motors. 
Keywords: Intel 8XC196MC High Single-chip Microcomputer WG Wave Generator PWM 
[中图分类号] TM921 [文献标识码] A 文章编号 1561-0330(2002)04-0013-03 


1 引言 
Intel 8XC196MC 单片机是Intel公司1992年推出的16位单片机,比起Intel公司的其他196K、J等系列的单片机来,Intel 8XC196MC 的单片机具有更加完善而卓越的功能,特别是它特有的三相波形发生器,可以方便地产生单相或者三相的PWM波形。 
本文从实际应用的角度,具体介绍了用Intel 8XC196 MC单片机产生PWM的硬件连接及软件编制中的一些问题。 

2 Intel 8XC196MC高档单片机最小系统简介 
Intel 8XC196MC 中的X为0表示片内无ROM或EPROM,为3表示片内有16K可加密的ROM,为7表示片内有16K可加密的EPROM;C表示制造芯片的工艺为CHMOS电路,它具有低功耗、高性能的特点。它的PLCC封装形式为84个引脚,包括6组I/O口,每组8个引脚,这些I/O口也可以作为其他特殊功能,其中P6.0~P6.5的特殊功能即为三相波形发生器(WG)。 
在Intel 8XC196MC单片机上加上晶振电路、复位电路以及电源,就构成了一个最小系统,如图1所示(以Intel 8XC196MC单片机为例)。图中引脚11(BUSWIDTH)是总线宽度选择引脚,为高时,与芯片配置寄存器(CCR)相配合,在CCR.0与CCR.1某一位为0而另一位为1时产生16位总线宽度;引脚36(-EA)是外部存储器寻址允许引脚,为高时,访问的是片内存储器,为低时访问的是片外存储器。 

3 Intel 8XC196MC 实现PWM的硬件调试 
采用片外寻址的原理图可以参照文献[1],此时需要增加锁存器、编码器、EPROM(或EEPROM)等器件,则P3口、P4口作为地址/数据16位输出。采用片内寻址则不需要。 
硬件连接好之后,按照下列步骤进行调试: 
(1) 检查电源线、地线的电平; 
(2) 检查内部时钟发生器引脚16(CLKOUT),其输出频率为晶振频率的1/2,即,若晶振频率为16MHz,则时钟频率为8MHz; 
(3) 检查复位引脚33(RESET),按下复位键,电平为低; 
(4) 检查地址锁存允许引脚5(ALE),为高频脉冲,其中每个周期内的工作时间为64K个时钟状态周期。 

4 Intel 8XC196MC 实现PWM的软件调试 
用Intel 8XC196MC 产生PWM,软件实现的方式可以采用中断的方式,选择向量地址为203AH的设备中断(INT 13)或者向量地址为2000H的时钟中断(INT 00)。由于设备中断的优先级比较高,一般可以保证优先响应,使PWM的按时发生,因此多采用设备中断。 
4.1 特殊寄存器的初始化 
采用设备中断产生PWM,要用到的特殊寄存器分为两类:中断控制寄存器和WG寄存器。 
(1)中断控制寄存器 
要用到的中断控制寄存器如表1所示。 
表1 中断控制寄存器 
名称 符号 地址 位数 初始值 
中断屏蔽寄存器 INT_MASK 08H 8 00H 
中断登记寄存器1 INT_PEND1 12H 8 20H 
中断屏蔽寄存器1 INT_MASK1 13H 8 20H 
设备中断屏蔽寄存器 PI_MASK 1FBCH 8 10H 
A、中断屏蔽寄存器INT_MASK与INT_MASK1中的各个位对应于各个中断源,对相应的位置位或复位则开放或禁止某个中断,即某一位置1则开放相应的中断源,置0则禁止相应的中断源。PI(设备中断)在INT_MASK1的第5位,开放中断则置1,同时禁止其他中断,将INT_MASK1与INT_MASK的其他位均置0。 
B、中断登记寄存器INT_PEND1与INT_PEND的各个中断源的位置与中断屏蔽寄存器是一样的,当跳变检测器检测到一个硬件中断时,则置位中断登记寄存器。通过读中断登记寄存器,能够确定在任意给定的时间内是哪个中断源发出中断。当执行某一中断服务程序时,则它在中断登记寄存器中相应的位被清零,以便再次响应中断。 
C、设备中断屏蔽寄存器PI_MASK的第4位为WG位,控制着INT_MASK1中的PI位。 
(2)WG寄存器 
WG寄存器共有8个,其中可读写的寄存器有7个,如表2所示。 
A、输出缓冲寄存器WG_OUT用来选择在输出管脚上输出什么样的信号,生成PWM的晶体管低电平选通时设初始值为07FFH,高电平选通时设初始值为C7FFH。 
B、相位比较缓冲寄存器WG_COMPx是三个寄存器,分别存放三相PWM的输出脉冲的宽度(与WG_RELOAD内的PWM周期相对应)。 
C、重置寄存器WG_RELOAD对于加1/减1的工作方式,其值与PWM频率之积为4000。例如19.2kHz的PWM波形对应的WG_RELOAD值为 。 
D、控制寄存器WG_CON的第12、13位一起控制着计数方式,低10位又作为延迟时间发生器。例如为4时,若WG_RELOAD的值为108,则空载时间为4/208=1/52。 
E、保护电路控制寄存器WG_PROTECT的高4位为保留位,置为0,低4位可以选择各种保护功能。 
4.2 芯片配置寄存器的初始化 
8XC196MC系列单片机有两个芯片配置寄存器CCR,地址分别为2018H和201AH,一起控制着存储器的各总线功能。主程序开始运行之前,一定要对CCR进行初始化,特别要将CCR.1的第3位(WD)置为1,将CCR.0的第三位(ALE)置为1,同时通过CCR.1的第2位与CCR.0的第1位选择总线宽度。 
4.3 窗口选择寄存器 
窗口操作是一种利用寄存器直接寻址方式来对高地址存储器进行访问的技术。Intel 8XC196MC的窗口选择寄存器(WSR)的地址为014H,产生PWM用到的WSR映射关系为: 
WSR=3EH,1F80H~1FBFH映射到C0H~FFH; 
WSR=3FH,1FC0H~1FFFH映射到C0H~FFH。 


此时,引脚33(WDT)一直为高电平,引脚5(ALE)有持续的高频脉冲。观察一相PWM输出(三相相位彼此相差1200),其中一路为图2所示的中心调制PWM波形。若采用其他的PWM算法(例如矢量控制产生PWM的算法),只需将带*的语句改为实现此算法的语句即可。 

6 结束语 
用Intel 8XC196MC单片机实现PWM波形,无论硬件或软件都十分简单,非常有利于各种电机的控制。 

7 参考文献 
[1] Intel 8XC196MC/MD 高档单片机原理及实用设计·何熙文,徐承深,孙翱·大连理工大学出版社·1995·P188-189 



(本文来源:全球仪器仪表MRO网)