打印

TMR1怎么设定外接时钟源

[复制链接]
2244|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
西门闩|  楼主 | 2009-8-7 15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位,我有一程序,用TMR1定时的,用外部时钟源(晶振32.768KHZ),写好后用proteus仿真,RC0/RC1(T1OSO/T1OSI)两振荡脚没有波形,是怎么回事呢?难道还要其它的设置?我的设置如下:
START
BSF STATUS,RP0 ; 选区1
CLRF PIE1 ;清除所有外设中断使能
CLRF TRISC ;设置C口为输出
BSF PIE1,TMR1IE ;使能TMR1中断
BCF STATUS ,RP0 ;选区0
CLRF STATUS ;清0状态寄存器
BCF T1CON,TMR1ON ;关闭TMR1
MOVLW 80H ;TMR1H/TMR1L=0x8000
MOVWF TMR1H ;设置1S溢出初值
CLRF TMR1L ;条件为频率是32.768KHz
CLRF INTCON ;清除所有中断标志位及使能位
CLRF PIR1 ;
BSF INTCON,PEIE ;开放外部中断
BSF INTCON,GIE ;开全局中断
MOVLW 0EH ;设置控制寄存器,预分频比1:1
MOVWF T1CON ;外部时钟源、异步、使能振荡器
MOVLW 80H ;点亮最高位LED7
MOVWF PORTC
BSF T1CON,TMR1ON ;开TMR1
请各位高手帮忙看看,在MPLAB里面,看TMR1H/L的值也没有增加啊,是不是我的设置有问题?因为主频率都可以在MPLAB的菜单里面设置成4MHZ,但是对于TMR1的振荡器(晶振32.768KHZ)用什么来设置呢?
沙发
chen3bing| | 2009-8-7 17:25 | 只看该作者
T1OSCEN=1以后,RC0,RC1均为输入。

使用特权

评论回复
板凳
西门闩|  楼主 | 2009-8-8 10:00 | 只看该作者
MOVLW 0EH ;设置控制寄存器,预分频比1:1
MOVWF T1CON ;外部时钟源、异步、使能振荡器
===================================
这个已经等于1了,我编好以后,软件仿真,TMR1H/L里面的数据没有增加,用proteus仿真,在RC0与RC1是根本看不到振荡的波形。

使用特权

评论回复
地板
hsw_21| | 2009-8-8 11:27 | 只看该作者
proteus 软件仿真真的有用吗?

使用特权

评论回复
5
chen3bing| | 2009-8-8 14:02 | 只看该作者
我也用PROTEUS仿真了一下,如果在RC0,RC1两个腿上加同频率的脉冲,TMR1H/L数据有增加。
(在程序里判断TMR1H/L增加值,置位某一位IO口。)

使用特权

评论回复
6
西门闩|  楼主 | 2009-8-8 14:43 | 只看该作者
意思就是用软件没法仿真TMR1的外部时钟源了?
如果这样,用MPLAB仿真,只有在RC1加激励源了,先试试,多谢楼上兄台指点。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

288

帖子

1

粉丝