⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 飞思卡尔HC08单片机的定时捕捉输入
💻 LIS
字号:
                        .module main.c
                        .area text
 0000           _main::
 0000           ; /*-----------------------------------------------------*
 0000           ; *文件名:Tim1Ch0I.prj                                   *
 0000           ; *硬件接线:1:PTA.1接指示灯                              *
 0000           ; *         2:PTD.4,即定时器1通道0(21脚),接开关          *
 0000           ; *程序描述:以输入捕捉中断方式,                          *
 0000           ; *         开关拨动使捕捉中断取反指示灯PTA1,使其闪动   *
 0000           ; *目的:学习HC08系列定时器溢出捕捉功能                   *
 0000           ; *说明:本例是将定时器1通道0(21脚)设为"跳变沿捕捉"       *
 0000           ; *     (即电平发生变化时产生中断),验证方法是将21脚不    *
 0000           ; *     断接高电平、低电平,此时指示灯PTA1状态跟随改变   * 
 0000           ; *---------《嵌入式应用技术基础教程》教学实例----------*/
 0000           ; #include "GP32C.h"
 0000           ; #include "head.h"
 0000           ; /*函数声明*/
 0000           ; void SetTim1Ch0I(void);    //定时器1和定时器1通道0初始化
 0000           ; 
 0000           ; void main()
 0000           ; { 
 0000           ;  	 asm("SEI");             //禁止所有中断
 0000 9B                SEI
 0001           ;        //[I/O初始化]
 0001           ;        Light_D|=1<<Light_Pin;    //令指示灯引脚为输出
 0001 1204              bset #1,0x4
 0003           ;        Light_P|=1<<Light_Pin;    //初始时,指示灯"暗"
 0003 1200              bset #1,0
 0005           ;        //[定时器1和定时器1通道0初始化]
 0005           ;        SetTim1Ch0I();      
 0005 CD000D            jsr _SetTim1Ch0I
 0008 95                tsx
 0009           ;        asm("CLI");               //开放中断
 0009 9A                CLI
 000A           L2:
 000A           L3:
 000A           ; 	 //[主循环开始,为空操作]
 000A           ; 	 //[等待输入捕捉中断,(开关的拨动)]
 000A           ; 	 while(1);
 000A 20FE              bra L2
 000C           X0:
 000C           L1:
 000C                   .dbline 0 ; func end
 000C 81                rts
 000D           _SetTim1Ch0I::
 000D           ; }
 000D           ; 
 000D           ; /*SetTim1Ch0I:定时器1和定时器1通道0 初始化-------------*
 000D           ; * 功能:初始化定时器1和定时器1通道0                     * 
 000D           ; * 参数:无                                              *
 000D           ; * 返回:无                                              *
 000D           ; *-----------------------------------------------------*/
 000D           ; void SetTim1Ch0I()
 000D           ; {
 000D           ;   T1SC=0b00110000;//允许溢出中断、不启动计数、分频因子=1
 000D A630              lda #48
 000F B720              sta 0x20
 0011           ;   T1SC0=0b01001100;     //01001100设置通道0输入捕捉模式,
 0011 A64C              lda #76
 0013 B725              sta 0x25
 0015           ;                           //允许输入捕捉中断,跳变沿捕捉
 0015           ;   T1SC&=0b11011111;           //允许定时器1计数寄存器计数  
 0015 B620              lda 0x20
 0017 A4DF              and #-33
 0019 B720              sta 0x20
 001B           L5:
 001B                   .dbline 0 ; func end
 001B 81                rts

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -