当前位置:首页 > 单片机 > 单片机
[导读]/**********************Title:PIC16F877A TIMER1定时操作Author:hnrainDate:2010-12-28使用前置分频器T1CKPS1 T1CKPS1 0 0 1 分频 TMR1时钟为晶振时钟/(4*1) 0 1 2 分频 TMR1时钟为晶振时钟/(4*2) 1 0 4 分频 TMR1时

/**********************
Title:PIC16F877A TIMER1定时操作
Author:hnrain
Date:2010-12-28

使用前置分频器
T1CKPS1 T1CKPS1
0 0 1 分频 TMR1时钟为晶振时钟/(4*1)
0 1 2 分频 TMR1时钟为晶振时钟/(4*2)
1 0 4 分频 TMR1时钟为晶振时钟/(4*4)
1 1 8 分频 TMR1时钟为晶振时钟/(4*8)
TMR1是16位宽度的TMR1由2个8位的可读写的寄存器TMR1H和TMR1L组成。

TMR1有专门的启停控制位TMR1ON,通过软件可以任意启动或暂停TMR1计数功能。

T1CON:TIMER1 CONTROL REGISTER

bit7-6 unimplemented :Read as ‘0’

bit5-4 T1CKPS1:T1CKPS0:Timer1 input Clock Prescale Select bits

11=1:8 prescale value

10=1:4 prescale value

01=1:2 prescale value

00=1:1 prescale value

bit3 T1OSCEN:Timer1 Oscillator Enable Control bit

1 = Oscillator is enable

0 = Oscillator is shut-off

bit2 T1SYNC:Timer1 External Clock Input Synchronization Control bit

when TMR1CS = 1

1= Do not synchronize external clock input

0= Synchronize external clock input

when TMR1CS = 0

This bit is ignored .Timer1 uses the internal clock when TMR1CS = 0.

bit1 TMR1CS:Timer1 Clock Source Select bit

1 = External clock from pin RC0/T1OSO/T1CKI

0 = Internal clock

bit0 TMR1ON:Timer1 on bit

1 = enables timer1

0 = stops timer1
***********************/
#include
#include "../head/config.h"

__CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);

void Delayms(uint16 dly);

void main(void)
{
T1CKPS1 = 1;
T1CKPS0 = 1;
TMR1CS = 0;
TMR1L = (65536 - 37500)%256;
TMR1H = (65536 - 37500)/256;
GIE = 1;
PEIE = 1;
TMR1IE = 1;
TMR1ON = 1;
PORTD = 0x00;
TRISD = 0x00;
while(1){}
}

void interrupt ISR(void)
{
TMR1L = (65536 - 37500)%256;
TMR1H = (65536 - 37500)/256;
if(TMR1IF&&TMR1IE)
{
TMR1IF = 0;
PORTD = ~PORTD;
}
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

//软件思路:选择RAO做为模拟输入通道; // 连续转换4次再求平均值做为转换结果 // 最后结构只取低8位 // 结果送数码管的低3位显示 #include //包含内部资源预定义...

关键字: ad转换 pic16f877a picc

unsigned char eeprom_read(unsigned char addr);void eeprom_write(unsigned char addr, unsigned char value);这两个函数...

关键字: pic16f877a eeprom使用

//*****************电子园PIC16F877A开发板 SPI总线驱动74595实验***************////CKP=0; 空闲为低电平//CKP=1; 空闲为高电平//STAT_CKE=0;...

关键字: pic16f877a spi总线 驱动74595

用c语言写的一个时闹钟程序单片机用16F877,主时钟用20MHz,用32768作定时时间。可以实现2路定闹,每一路都可分别设置和开关,采用4x4键盘,16x2的字符型LCD显示。连线在程序开头有...

关键字: pic16f877a 时钟 程序 语言

/****************************************************标题:万年历**说明:包含文件,*****************************...

关键字: pic16f877a 万年历 程序

//数码管显示//★★★★★★★★★数码管显示★★★★★★★★★★★\\\\ //单征机型号:PIC16F877A //功能描述:采用动态扫描方式,初始时显示123,当按下RB0时,数值加一,当按下RB1时,数值减一...

关键字: pic16f877a 数码管显示

/************************************************PIC16F877A 内部EEPROM读写实验*******Author:hnrainDate:2010-12-26Ver...

关键字: pic16f877a 内部eeprom 内部函数 读写实验

/*Capture mode时,外部CCP1事件触发后,CCPR1H和CCPR1L将获取Timer1的TMR1H和TMR1L中的数值对于CCP1的触发事件,设置键CCP1Con中的相应位CCP1M3--CCP1M0CCP...

关键字: capture mode pic16f877a

PIR1 Register The PIR1 register contains the individual flag bits for the peripheralinterrupts.PIR1 REGISTERPS...

关键字: pic16f877a 单片机 spi学习
关闭
关闭