简介:本文和大家分享一个PIC16F1829 TIMER0初始化程序,感兴趣的朋友可以看看。
//timer0 分频值
#define TIMER0_DIV2 (0<<0)
#define TIMER0_DIV4 (1<<0)
#define TIMER0_DIV8 (2<<0)
#define TIMER0_DIV16 (3<<0)
#define TIMER0_DIV32 (4<<0)
#define TIMER0_DIV64 (5<<0)
#define TIMER0_DIV128 (6<<0)
#define TIMER0_DIV256 (7<<0)
//-------
#define TIMER0_ENB 1
#define TIMER0_DIS 0
//*************************************
// 函数名称:Init_Timer0
// 函数功能:定时器0初始化
// 入口参数:定时器分频值 计数值
// 出口参数:无
// T0的时钟源为Fosc/4
//***************************************
void Init_Timer0(uint8 pscr,uint8 Tcon)
{
TMR0IF = 0 ;
TMR0IE = 0 ;
OPTION_REG = 0X00 | pscr ;
TMR0 = 256-pscr ;
TMR0IE = 1 ;
}
//---应用实例-----
//TIMER0初始化程序
Init_Timer0(TIMER0_DIV4,125) ; //32M/4/4=1M 125U中断
关键字:PIC16F1829 TIMER0 初始化程序
引用地址:
PIC16F1829 TIMER0初始化程序
推荐阅读最新更新时间:2024-11-05 01:45
编写单片机程序为对串行口初始化并读出接收缓冲器的数据
题目:设fosc=11.0592MHz,试编写一段程序,其功能为对串行口初始化,使之工作于方式1,波特率为1200bps;并用查询串行口状态的方法,读出接收缓冲器的数据并回送到发送缓冲器。 答案: Baud= 12 smod=1 时,x=208=D0H smod=0 时,x=232=E8H main: mov scon,#01010000b mov tmod,#00100000b mov th1,#0d0h mov tl1,#0d0h clr ea mov pcon,#80h setb tr1 loop: jnb ri,
[单片机]
51单片机各中断初始化及子程序模板
/************************************************************ *51单片机各中断初始化及子程序模板,几乎包括了传统51单片机的全部中断 *1、外部中断0 *2、定时器中断0 *3、外部中断1 *4、定时器中断1 *5、串行中断 *6、定时器中断2---本中断在52时才有 *以上所有中断已经在Keil软件环境上经过测试,工作正常 *在使用定时中断的时候需要根据实际需要重设定时器的初值和工作方式 *在串行通讯中,使用11.0592M晶振,通讯波特率为9600bps *为了保证文件的单一和方便保存,本项目只用了一个文件, 没有进
[单片机]
ARM裸机程序开发(十):C语言环境初始化
Part1 栈初始化 一、满/空栈 1.1 满栈:当堆栈指针SP总是指向最后压入堆栈的数据(ARM采用) 1.2 空栈:当堆栈指针SP总是指向下一个将要放入数据的空位置 二、升/降 栈 根据入栈时,SP指针的移动方向分:若从低——》高 为升栈,从高到低为降栈(ARM使用) 三、栈帧 定义:一个函数所使用的那一部分栈,称为栈帧 栈帧的两个边界 :fp(r11) 、 sp(r13) 三、栈作用 3.1 保存局部变量 3.2 传递参数 :当传递的参数大于4个时,使用栈来传递,否则,用通用寄存器来传递 3.3 传递寄存器的值 Part2 BSS段1初始化 Part3 从汇编跳
[单片机]