当前位置:首页 » 课程大全 » pictimer1课程教学

pictimer1课程教学

发布时间: 2021-02-13 02:30:09

⑴ 问一个关于PIC单片机定时器1的问题,

⑵ PIC单片机用timer0作为timer1的门控信号源时,timer1怎么工作

迷茫,你既然用了TIMER0中断,干嘛还要用TIMER1中断呢。。。。你只要在TIMER0里弄个变量计数不就行了。。。。。

⑶ pic 定时器1

第一:你没认真看数据手册,PORTC口也复用了AD。如果不设置ANSEL的话,PORTC口默认是AD输入。而专你只是把属TRISC全设为输出,但ANSEL的默认设置还是让PORTC口是AD输入状态。注意要把ANSEL的相关位清零。这应该是问题的关键,也是所有初学PIC单片机的人常犯的一个毛病,就是没认真看数据手册,没注意IO口的特性。
第二:说一下其他注意:你用__CONFIG在程序里设置了配置位,要注意不要再在MPLAB IDE的Configure里设置配置位了。

⑷ 急 PIC单片机的TIMER0作计数器和定时用有何不同

计数来就是直接从TIMER0的输入信自号引脚T0CKI引脚读入你的数据。这个时候定时器自动工作,单片机设置好它就不用管了,直到它溢出。在这段时间内,单片机可以空出来干别的事情。
如果你还设个变量,让单片机自己检测是否有按键按下。那这样单片机就专门盯着按键是否按下了。没能力干别的事情了。
如果只是拿来做实验的话,没啥区别。但在工程实际应用中,十几到几十块钱的单片机不可能只用来一直盯着按键,还要发挥它的其他作用以便对得起买它的钱。

⑸ PIC单片机18F4520怎么开定时器TIMER1和中断的 最好有例子 ,一般开定时期要设置些什么

看程序!!!MPLAB IDE 环境

⑹ pic单片机timer0怎么用啊

实例说明:

假设时钟周期为4MHZ,每隔50MS点亮LED,每隔50MS灭掉LED。这样的程序要如何做到呢。

这50ms如何做到.

1,得到指令周期

4MHz/4=1MHz

1/1MHz=0.0000001s=1us

2,得到预分频

定时器定时的最大时间要超过这50mS,所以预分频器要选择256

预分频X256=最大的定时时间。256X256=65536us=65.536ms 大于50ms

3, 计算定时器初始值

(定时器最大值+1)- (定时时间/预分频)=定时器的初始值。

255+1=256

50000/256=195.3125

256-195.3125=60.6875 四舍五入 定时器初始值为61.

设置相关的寄存器。

OPTION_REG寄存器中我们一般需要设置三处。

PS<2:0>设置用来设置预分频预分频范围从2 ~256

PSA设置成0 讲预分频器分配给Timer0模块

TMR0CS设置成0 内部指令周期时钟。

实例程序:

/*开发环境 MPLAB X IDE 型号PIC16LF1823*/

#include<pic.h>
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF

&BOREN_ON&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);
__CONFIG(PLLEN_OFF&LVP_OFF) ;
#define LED LATA5/*也可用 #define LED RA5,只是PIC16LF1823 输出电平的时候,直接控制LATA5执行速度更快,因为传给RA5的数据最终也是传给LATA5才执行的*/
void init_fosc(void)
{
OSCCON= 0x68;//时钟设置为4MHz
}
void init_gpio(void)
{
PORTA = 0;
LATA = 0;
ANSELA = 0;
TRISAbits.TRISA5=0; //RA5口设置成输出 用来控制LED
}
void init_timer0(void)
{
OPTION_REG=0x87; //预分频为256
}
int main(int argc, char** argv)
{
init_fosc();
init_gpio();
init_timer0();
TMR0IF=0;//清除TMR0中断标志位
TMR0=61;//设置中断初始值61
while(1)
{
if(TMR0IF==1)//定时时间到了吗??
{
LED = ~LED;//改变LED的状态
TMR0IF=0;//清除TMR0中断标志位
TMR0=61;//设置中断初始值61为下次50ms定时做准备

}


}


}


⑺ pic使用timer1,用查询的方法如何产生精确的定时

1、精确定时的话,存在FFFFH向0000H递增和00FFH向0100H递增这两种纠结情况。寄存器TMR1H和TMR1L先读哪回个都不合适。具答体处理方法是先读高字节,再读低字节,然后再读一下高字节。比较一下这两个高字节一样么。一样的话,就证明读对了。不一样的话就再读一遍高字节和低字节,肯定就得到正确值了。
2、假设用TMR0,基本的溢出时间设为10ms,即10ms中断一次,因此中断10次是1秒,十分钟要中断10*60*10=6000,一分钟要中断600次,因要用二个整型变量来累计中断次数。如一个为T0A,一个为T0B。每个TMR0中断时T0A和T0B均加1,并判断,当T0A>=6000,说明定时10分钟到,此时先清T0A,接着你想让它做啥就做啥。同样,在TMR0中断时,判断,当T0B>=600,说明定时1分钟到,此时先清T0B,接着你想让它做啥还做啥。

⑻ 单片机数字钟毕业中期检查表中的一个问题

电子钟相关毕业设计
·数字电子钟的电路设计 (字数:9242,页数:22 )·数字电子钟的设计与制作 (字数:8017,页数:22 )·数字钟的设计 (字数:6208,页数:21 )·基于8051单片机的数字钟 (字数:21638,页数:50)·基于单片机的电子时钟控制系统 (字数:7935,页数:42 )·数字电路数字钟设计 (字数:4846,页数:21 )·电子闹钟设计 (字数:4094,页数:19 )·定时闹钟设计 (字数:5714,页数:24 )·智能定时闹钟设计 (字数:3826,页数:18 )·下棋定时钟设计 (字数:5290,页数:24 )·多功能数字钟设计与制作 (字数:13129,页数:34)·基于单片机的电子钟设计 (字数:7710,页数:24 )·基于单片机的数字电子钟设计 (字数:10301,页数:42)·基于Labview的虚拟数字钟设计 (字数:17457,页数:32)·电子日历钟 (字数:10677,页数:33)·数字钟的设计与制作 (字数:4922,页数:23 )·单片机数字钟设计 (字数:15355,页数:47)·基于单片机的数字钟设计 (字数:12541,页数:27)·单片机定时闹钟设计 (字数:8450,页数:24 )·万年历可编程电子钟控电铃 (字数:14371.页数:41)·数字定时闹钟设计 (字数:7770,页数:28 )·基于EDA技术的数字电子钟设计 (字数:12247,页数:32)·多功能时钟打点系统设计 (字数:8353,页数:31 )·智能音乐闹钟设计 (字数:10002,页数:37)·基于AT89S51单片机的数字电子钟设计 (字数:14560,页数:39)

⑼ pic代码中 timer0没有设置TMR0值,为什么可以计时呢

在一些PIC单片机中,TIM0比较特殊,它的运行/停止是不受控的。只要通电TIM0就会开始运行,
中断中代码:
if (T0IF&&T0IE) 所以在中断中不仅仅判断中断标志位,还必须判断中断允许位

⑽ PIC单片机的TIMER1和TIMER2的问题求助!!!

pic 单片机的来中断程序入口,自只有一个(关键字:interrupt),程序需自行判断选择哪个中断。如:
void interrupt Servers()
{
if(TMR1IF && TMR1IE){}//IF需软件清零
if(TMR2IF && TMR2IE){}//IF需软件清零
}
Timer1采用的是给初值,计数到溢出(16位)就中断。timer2采用的是给目标值(8位),从0计数到目标就中断。

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919