智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: 超然自引
打印 上一主题 下一主题

输入捕捉和输出比较很难学的说!

  [复制链接]

3

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
285
QQ
威望
216
贡献
59
兑换币
24
注册时间
2011-5-22
在线时间
5 小时
1#
发表于 2013-3-22 16:23:11 | 显示全部楼层
嘿嘿,我也刚学,我看了下OC(输出比较),挺简单的!不过我学的单片机是MC9S12XHY256.但是我们的大致用法应该差不多!你认真看看手册,应该不难!设置好各个寄存器就行,需要设置的寄存器也不多,就拿输出比较来说吧,TCNT是存储计数次数的,你在TC中写入567的话,当TCNT从0计到567时就产生中断(中断函数可以写你希望实现的功能),对应的输出引脚有输出(可以输出0、1或者是翻转)。    PTTRR_PTTRR7     = 0;   
    PTTRR_PTTRR6     = 1;  //路径选择寄存器,这两位是说明OC功能用的是哪个引脚

    TIM0_TSCR1_TEN   = 0;    //定时器使能位,关掉定时器
    TIM0_TIOS_IOS7   = 1;    /* 将通道7设置为输出比较功能 */
    TIM0_TCTL1_OM7  = 0;   /* 设置输出模式   */
    TIM0_TCTL1_OL7   = 1;   /*这里OM7与OL7是01代表输出为电平翻转   */
    TIM0_TC7  = 0x85ed;      /* 设置要与TCNT比较的值         */
    TIM0_TIE_C7I     = 1;       /* 当TC7=TCNT时,允许中断 */
    //TIM0_TSCR1_TSWAI = 1;       /* Disables the timer module while in wait mode.    */
   // TIM0_TSCR1_TSFRZ = 1;       /* Disables the timer counter while in freeze mode. */
    TIM0_TSCR2_PR    = 0x7;     /* 分频系数                 */
    TIM0_TSCR1_TEN   = 1;  //定时器使能位,各个寄存器初始化完成,打开定时器


这是我的一些理解,希望能对你有帮助,多多交流!共同进步!



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-19 18:09 , Processed in 0.036787 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表