首页 > 编程知识 正文

嵌入式定时器中断实验报告,单片机定时器流程图

时间:2023-05-04 14:36:21 阅读:54502 作者:198

PIC16F877A单片机(中断和定时器Timer2) 1基本原理2实现代码

1基本原理

2实现代码主要基于计时器2的逻辑框图和中断的逻辑框图编写代码。 这样可以提高代码的可读性,也更容易理解。 但是,由于一些寄存器可能未在框图中描述,因此还需要仔细阅读计时器0的官方文档,即基本原理部分。

/---------------函数功能-------中断定时器2-------------h//调用picludepick //芯片配置字,监视/*---------------------------------- -定义宏-----------------------主函数----------------------------------------------------------------- clearingatrisabit )=0) willmakethecorrespondingportapporta ) ) willmakethecorrespondingporta//输入设定数据方向RD7-RD1,RD0为0=端口引脚is vil,即低电平PORTD=0x00; //端口初始值/********计时器TMR1初始化**********///时钟,因此在时钟中不选择//TMR 2cs=0//TMR 1时钟源内部命令timer2isan8- bittimerwithaprescalerandapostscaler//预分频器theinputclock (fosc/4 ) HASaprescaler ) )的T2CKPS0=1; //预分频1:16,对应代码为1x1x=prescaler is16//thematchoutputoftmr2goesthrougha4- bitpostscaler//(whichgivesa 1:1 to 1336016 scalinginclussion to generate a TMR2interrupt//后分频器timer2outputpostscaleselectbitstoutps3=0; TOUTPS2=0; TOUTPS1=0; TOUTPS0=0; //后分频1:1,对应代码为0000//timer2can be shut-offbyclearingcontrolbit,TMR2on//TMR2on : timer2on bit.1=timer 2 在此,不考虑中断引起时钟延迟13指令周期TMR2=256-250 13; //定时250us*16 (预分频,1:16 )1)后分频,1:1 )=4000us. 13是怎么来的,time r0///thetimer2module Hasan8- bitperiiriity timer2increments from 00 huntilitmatchespr2andthenresetsto 00 honthenextincrementcycle.//pr2isareadableandwritableregister.thhhencor //比较器初始值//The TMR2 interrupt,if enabled,isgeneratedonoverflow//whichislatchedininterruptflagbit,TMR2IF TMR2IF=0 //溢出中断标志位0清除//thisinterruptcanbeenabled/disabledbysetting/clearing TMR2interruptenablebit,TMR2IE TMR2IE=1; //溢出中断标志允许位置(PEIE=1; //打开外围设备中断允许位置1//******全局中断设定//定时器T0,设定了中断允许。 现在打开全局中断GIE=1。 //总中断允许while(1)//死循环,单片机初始化后,该死循环{}/***********中断服务程序* * * * * * * * *。 PIC单片机的所有中断都是这样的入口(/TMR2if=1.if(TMR2if==1) /计时器1的溢出中断标志位)//进一步判断是否是计时器中断//溢出中断标志位清除TMR2IF发生上升沿时,会发生中断,发生中断时会清除。 TMR2IF=0; //执行中断处理程序,中断1次发生中断时想要执行的功能if(I125 )//4ms,125次中断为5000ms(I=0; V0=! V0; //反转实现1秒的闪烁}}为什么有以下两行句子? 这由中断决定。 如下图所示。

PEIE=1; //外围设备中断允许位置一GIE=1; //总中断许可

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。