收藏 分销(赏)

飞思卡尔8位单片机MC9S0810程序输入捕捉中断编程实例.doc

上传人:xrp****65 文档编号:7699847 上传时间:2025-01-12 格式:DOC 页数:4 大小:46KB
下载 相关 举报
飞思卡尔8位单片机MC9S0810程序输入捕捉中断编程实例.doc_第1页
第1页 / 共4页
飞思卡尔8位单片机MC9S0810程序输入捕捉中断编程实例.doc_第2页
第2页 / 共4页
飞思卡尔8位单片机MC9S0810程序输入捕捉中断编程实例.doc_第3页
第3页 / 共4页
飞思卡尔8位单片机MC9S0810程序输入捕捉中断编程实例.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、10.3.3 输入捕捉中断编程实例下面程序验证定时器1通道0(引脚21)输入捕捉中断的产生,当中断发生时取反指示灯PTA1。定时器1通道0的输入捕捉中断向量的地址是$FFF6。(1) 输入捕捉中断编程实例汇编语言程序实例编号:A05_2 路径:ASM A05_2定时器输入捕捉(Ch0main.asm) *-*工 程 名:Tim1Ch0.ASM *硬件接线:1:PTA.1接指示灯 * 2:PTD.4,即定时器1通道0(21脚)接开关 *程序描述:输入捕捉中断方式,使开关拨动时指示灯PTA.1闪烁 *目 的:学习HC08系列定时器输入捕捉功能 *说 明:本例是将定时器1通道0(21脚)设为跳变沿捕

2、捉 *-嵌入式应用技术基础教程教学实例-*头文件$include GP32ASM.H ;包含GP32的头文件*两个起始地址名RAMstartAddr equ $0040 ;RAM的起始地址FlashStartAddr equ $8000 ;程序开始地址*指示灯定义Light_P equ PTA ;灯(Light)接在PTA口Light_D equ DDRA ;相应的方向寄存器Light_Pin equ 1 ;所在的引脚CH0FBit equ 7 ;定时器1通道标志位*=*主程序 org FlashStartAddr ;程序起始地址MainInit: ;复位后程序从此开始执行 ;系统初始化 SE

3、I ;关总中断 LDHX #$023F ;堆栈初始化 TXS JSR GP32Init ;调系统初始化子程序GP32Init ;I/O初始化 BSET Light_Pin,Light_D ;令指示灯引脚为输出 BSET Light_Pin,Light_P ;初始时,指示灯暗 ;定时器1通道0初始化 ;不允许溢出中断、不启动计数、分频因子=1 LDA #%00110000 STA T1SC ;输入捕捉模式,允许输入捕捉中断,跳变沿捕捉 LDA #%01001100 STA T1SC0 ;允许定时器1计数寄存器计数 BCLR 5,T1SC CLI ;开总中断 ;主循环开始MainLoop: NOP

4、 JMP MainLoop *内部直接调用子程序存放处*Tim1CH0Int:定时器1通道0输入捕捉中断子程序-*功能:定时器输入捕捉中断处理,开关拨动时指示灯PTA.1闪烁 *入口:无 *出口:无 *-* Tim1CH0Int: PSHH ;保护 H ;至此,可读取计数器的值,可在此处添加用户的程序.本程 ;序仅为实验例程,用指示等状态改变,说明发生了中断 ;指示灯状态变换 BRCLR Light_Pin,Light_P,Tim1CH0Int_1 BCLR Light_Pin,Light_P ;若原来灯暗,则变亮 BRA Tim1CH0Int_2Tim1CH0Int_1: BSET Ligh

5、t_Pin,Light_P ;若原来灯亮,则转暗Tim1CH0Int_2: ;清除定时器1通道0输入捕捉中断标志位 LDA T1SC0 BCLR CH0FBit,T1SC0 PULH ;恢复H RTI*外部子程序存放处$include GP32Init.ASM*中断向量 ORG $FFF6 ;定时器1通道0输入捕捉中断向量 DW Tim1CH0Int ORG $FFFE ;复位向量 DW MainInit(2)输入捕捉中断编程实例C语言主程序实例编号:C05_2 路径:CC05_2定时器输入捕捉(tim1ch0.prj)/*-*文件名:Tim1Ch0I.prj *硬件接线:1:PTA.1接指示

6、灯 * 2:PTD.4,即定时器1通道0(21脚),接开关 *程序描述:以输入捕捉中断方式, * 开关拨动使捕捉中断取反指示灯PTA1,使其闪动 *目的:学习HC08系列定时器溢出捕捉功能 *说明:本例是将定时器1通道0(21脚)设为跳变沿捕捉 * (即电平发生变化时产生中断),验证方法是将21脚不 * 断接高电平、低电平,此时指示灯PTA1状态跟随改变 * *-嵌入式应用技术基础教程教学实例-*/#include GP32C.h#define Light_P PTA /灯(Light)接在PTA口#define Light_D DDRA /相应的方向寄存器#define Light_Pin

7、1 /所在的引脚#define CH0FBit 7 /定时器1通道标志位/*函数声明*/void SetTim1Ch0I(void); /定时器1和定时器1通道0初始化void main() asm(SEI); /禁止所有中断 /I/O初始化 Light_D|=1Light_Pin; /令指示灯引脚为输出 Light_P|=1Light_Pin; /初始时,指示灯暗 /定时器1和定时器1通道0初始化 SetTim1Ch0I(); asm(CLI); /开放中断 /主循环开始,为空操作 /等待输入捕捉中断,(开关的拨动) while(1);/*SetTim1Ch0I:定时器1和定时器1通道0 初

8、始化-* 功能:初始化定时器1和定时器1通道0 * * 参数:无 * 返回:无 *-*/void SetTim1Ch0I() T1SC=0b00110000; /不允许溢出中断、不启动计数、分频因子=1 T1SC0=0b01001100;/允许CH0输入捕捉中断,跳变沿捕捉 T1SC&=(15); /允许定时器1计数寄存器计数 (3)输入捕捉中断编程实例C语言矢量表文件输入捕捉中断编程C语言程序例矢量表文件(vectors08.c)#include GP32C.h/*引脚定义*/#define Light_P PTA /灯(Light)接在PTA口#define Light_D DDRA /相

9、应的方向寄存器#define Light_Pin 1 /所在的引脚#define CH0FBit 7 /定时器1通道标志位/ vectors08.c 用于定义中断矢量表/*isrTim1Ch0I:输入捕捉中断处理函数-*功 能: 当前灯的状态 *-*/#pragma interrupt_handler isrTim1Ch0Ivoid isrTim1Ch0I(void) unsigned char temp=Light_P; temp&=1Light_Pin; /取得当前灯的状态if(temp!=0) /原来指示灯暗,则变亮 Light_P&=1Light_Pin; else /原来指示灯亮,则

10、变暗 Light_P|=1Light_Pin;T1SC0&=(1CH0FBit); /清除定时器溢出标志位 #pragma interrupt_handler isrDummyvoid isrDummy(void) /中断矢量表,如果需要定义其它中断函数,/请修改下表中的相应项目#pragma abs_address:0xffdcvoid (* const _vectab)(void) = isrDummy, /Timebase isrDummy, /ADC isrDummy, /KBI isrDummy, /SCI TC/TE isrDummy, /SCI RF/IDLE isrDummy,

11、 /SCI PE/FE/NF/OR isrDummy, /SPI TE isrDummy, /SPI MOD/OVR/RF isrDummy, /TIM2 OVR isrDummy, /TIM2 channel 1isrDummy, /TIM2 channel 0isrDummy, /TIM1 OVR isrDummy, /TIM1 channel 1isrTim1Ch0I, /TIM1 channel 0 isrDummy, /CGM isrDummy, /IRQ isrDummy /SWI /*RESET也是中断,定义在 crt08.o中 */;#pragma end_abs_address

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服