智能车制作

标题: 【DEMOK工作室】OC7M、OC7D详解暨输出比较通道7说明(含PDF) [打印本页]

作者: DEMOK    时间: 2010-4-9 14:17
标题: 【DEMOK工作室】OC7M、OC7D详解暨输出比较通道7说明(含PDF)
本帖最后由 DEMOK 于 2012-12-21 11:19 编辑

                         OC7MOC7D详解输出比较通道7说明

有很多人对OC7MOC7D两个寄存器很陌生,老是遇到它们但又不是很了解它们的作用。DEMOK特意整理了一些资料,对这两个寄存器做了详细的讲解。下面我们先讨论一下一个特殊的输出比较通道:输出比较通道7(OC7)

我们都知道,输出比较通道16的功能是完全一样的,没有什么特殊的地方,然而输出比较通道7却有一个附加功能~~~当定时器部件通过TIOS寄存器被设为输出比较功能时,{设置寄存器如下(IOSn=1)},输出通道7可以控制所有输出比较引脚的逻辑状态。

file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-251.png

就是通过设置OC7MOC7D两个寄存器来使得该特殊的功能可用的,这就引出了这两个寄存器~~~~~~~~~开讲:

先看看这两个寄存器的内容吧~~

file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-326.png

file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-328.png

内容很简单,OC7MOC7D中的各位与PORTT口寄存器的各位一一对应,其中寄存器OC7M决定哪些通道将处于OC7的管理之下;而OC7M对于其他OC输出引脚的管理限于将某个二进制值送到对应引脚,这个值保存在寄存器OC7D中的对应位中。而所有的一切动作产生,都源于OC7是否比较成功。。。。。。

我先援引书上的一句话,再详细地解释一下:

书上这么说的:当在TCNT寄存器不断更新自由运行计数器的值与TC7寄存器的值相等的时候(也就是说输出比较7成功了),OC1--OC7引脚上的逻辑状态由预先存储在OC7M和OC7D寄存器的值来控制。OC7M的作用就像一个打开或关掉每个输出比较引脚的开关,这个开关有OC7是否成功比较输出来决定。若OC7M都为1(选定其他通道都有OC7来控制),那么输出引脚上的逻辑状态根据OC7D寄存器内部的值来改变。

这么说还不明白么,那来个例子说明一下吧

------------------------------------------------------------------------------

首先将各个通道设置为输出比较,即在TIOS=0XFF的前提下,设OC7M=11000011B ,那么就说明输出比较通道7将要管理OC0、OC1、OC6、OC7四个通道;设OC7D=10101110B,那么在OC7输出比较成功后(就是TCNT增加到了TC7),那么刚才提到的四个通道引脚上的逻辑状态就编程了0(OC7D的第0位)、1(OC7D的第1位)、0(OC7D的第6位)、1(OC7D的第7位)。

感觉和普通的输出没什么区别,没错,TIOS将某个通道设定为输出比较时,将OC7M中的相应位置1,对应的引脚就是输出状态,DDR中的对应位的状态无关,但OC7Mn并不改变DDR相应位的状态。

------------------------------------------------------------------------------

这个特殊功能有什么作用呢,本身定时器就是比较灵活的,利用OC7通道可以在不同的时间方便地控制输出比较引脚的逻辑状态,还可以产生PWM信号,不信你自己可以试试看~~~~




下载PDF原文[attach]1989[/attach]

第八届智能车摄像头技术交流群  群号:108190422
第八届智能车光电技术交流群     群号:132879827

第八届智能车电磁技术交流群     群号:118404899(已满)
第八届智能车电磁技术交流群②  群号:287996146

对号入座,欢迎加入!


作者: deng0620    时间: 2010-4-9 14:24
谢谢楼主的分享
作者: papa2009    时间: 2010-4-9 14:33
谢谢分享
作者: zhaolong2009    时间: 2010-4-9 15:59
谢谢
作者: lucy0827    时间: 2010-4-9 16:38
楼主的分析比较透彻,谢谢了喔!
作者: zhangluhuixing    时间: 2010-5-4 13:18
很有用
作者: ddidiy    时间: 2010-6-15 23:15
henhaohenqiangda
作者: 88lgu    时间: 2010-6-17 16:12
领军人物,带领大伙学freescale。
作者: zhm19840622    时间: 2010-6-17 17:08
看看!
作者: zhangluhuixing    时间: 2010-7-11 15:45
很好
作者: shineamnys    时间: 2010-7-14 15:38
感谢分享~
作者: vlru    时间: 2010-7-15 14:05
支持一下
作者: 可怜大灰狼    时间: 2010-7-16 12:05
谢谢
作者: 清水鱼儿    时间: 2010-7-21 09:05
谢谢
作者: zhangjugang    时间: 2010-8-13 23:33
谢谢
作者: 黑影    时间: 2010-9-3 11:31
谢谢楼主@!
作者: machuan20082006    时间: 2010-11-7 15:04
谢谢
作者: white1sky    时间: 2010-11-21 07:41
谢啦楼主分享!
作者: hdfreejz    时间: 2010-11-28 08:35
恩恩
作者: zhangjiarui    时间: 2010-11-28 20:16

作者: ur_wildcat    时间: 2010-11-29 06:23
好東西~~
作者: yzyzhiyi    时间: 2010-12-1 19:07
谢谢分享
作者: huangshaoyu06    时间: 2010-12-31 12:40
谢谢,收下了
作者: lanying1204    时间: 2011-1-5 23:23
duoxie
作者: chaoyue    时间: 2011-1-13 21:53
非常感谢
作者: chaoyue    时间: 2011-1-13 21:53
非常感谢
作者: WLwind    时间: 2011-1-14 11:00
谢了,原来还有针对这个的pdf
作者: xiaozhe    时间: 2011-1-14 20:27
谢谢诶!
作者: 放屁偷着乐    时间: 2011-1-15 21:45
哎呀呀,楼主太好啦!!!!给力呀!!!!
作者: deadgod    时间: 2011-1-18 21:33
谢了
作者: I08690127    时间: 2011-2-15 22:03
受教了 定 OC7M OC7D
作者: make1001    时间: 2011-2-16 14:53
谢谢
作者: eee333    时间: 2011-2-24 11:14
不错不错   让我搞懂了
作者: wang_fu    时间: 2011-3-3 11:05
学习
作者: jiwufeng    时间: 2011-3-18 14:44
多谢,真的对这俩寄存器不甚了解
作者: iloveautomation    时间: 2011-4-8 22:00
谢谢楼主整理和分享
作者: 574350344    时间: 2011-4-13 17:02
不错
作者: lcd120304    时间: 2011-4-25 18:31
谢谢
作者: 机控狂人    时间: 2011-5-6 22:53
观摩。
作者: Phy314    时间: 2011-6-29 11:41
谢谢
作者: excellentlizhen    时间: 2011-8-21 22:13
说的很清楚,例子很好,很容易理解,谢啦。。
作者: z12c34j56    时间: 2011-9-4 12:35
谢谢分享了
作者: qaabq    时间: 2011-9-4 14:35
辛苦了
作者: 吴铭鸿    时间: 2011-9-7 20:58
哈哈
作者: KAI990610    时间: 2011-10-19 21:24
谢了
作者: jim292    时间: 2011-10-20 18:57
顶啊
作者: 小木偶    时间: 2012-3-3 16:32
顶楼主
作者: zp健忘    时间: 2012-4-13 20:12
谢谢啦!!!
作者: xuanxuan170    时间: 2012-4-17 15:53
谢谢分享
作者: LCD    时间: 2012-5-31 10:01
谢谢楼主分享
作者: sdlibin007@qq.c    时间: 2012-10-22 18:08
:)
作者: happyzn75    时间: 2012-11-2 11:43

作者: 萬年紅    时间: 2012-12-13 21:27
谢谢




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2