null定时器溢出中断实验定时器溢出中断实验实验目的
实验器材
硬件接线软件功能
程序清单
备注说明<<<
实验目的:实验目的:熟悉定时器接口模块的使用实验器材:实验器材:1.SD-1型在线编程实验仪
2.导线若干硬件接线:硬件接线:软件功能:软件功能:① 系统初始化:CONFIG2、1、PTCL、堆栈
② 以定时中断方式,每5秒取反指示灯PTA1,使其闪动 程序清单:程序清单:程序说明
寄存器地址定义
内存变量定义
主程序
系统初始化
主循环
定时器1溢出中断子程序
向量区null*-----------------程序说明-----------------------------------------*
*文件名称: Timer_5s.asm(定时器接口模块编程实验)
*硬件连接: PTA1接指示灯D1
*程序描述: ① 系统初始化:CONFIG2、1、
* PTCL、堆栈
* ② 以定时中断方式,每5秒取反指示灯PTA1,
* 使其闪动
*实验目的: 熟悉定时器接口模块的使用
*----------------------------------------------------------------------*null*----------寄存器地址-----------------------------------------------
DDRA equ $0004 ;A口数据方向寄存器
PTA equ $0000 ;A口数据寄存器
*
T1SC EQU $0020 ;定时器1状态和控制寄存器
T1CNTH EQU $0021 ;定时器1计数寄存器(高位)
T1CNTL EQU $0022 ;定时器1计数寄存器(低位)
T1MODH EQU $0023 ;定时器1模数寄存器(高位)
T1MODL EQU $0024 ;定时器1模数寄存器(低位)
RAMstartAddr equ $0040
;RAM的起始地址(因芯片不同可以更改)
RAMstartAddr equ $8000
;程序开始地址(因芯片不同可以更改)null*---------内存变量---------------------------------------------
org RAMstartAddr
Fiv RMB 1
org RAMstartAddr ;----------主程序开始----------------------------------
MainInit:
SEI ;禁止所有中断
LDHX #$023F ;堆栈初始化,
;放入GP32的RAM最高端
TXSnull;----------系统初始化----------------------------------------------
MOV #%00000001,$001E ;初始CONFIG2
MOV #%00111101,$001F ;初始化CONFIG1
MOV #%00110001,$0036 ;初始化PTCL
BSET 7,$0037 ;PBWC第7位为1
MOV #$01,$0038 ;PMSH
MOV #$2C,$0039 ;PMSL
MOV #$80,$003A ;PMDS
BSET 1,DDRA ;定义PTA.1为输出(指示灯)
BSET 1,PTA
;定时器1初始化 null LDA #%01100110 ;允许溢出中断、不启动计数、
;分频因子=64
STA T1SC
LDHX #$0000 ;计数寄存器初值=$0000
STHX T1CNTH
LDHX #$9600 ;设1秒产生1次溢出中断
STHX T1MODH ;模数寄存器设定值
;=1×(2457600/64)=$9600
BCLR 5,T1SC ;允许定时器1计数寄存器计数
MOV #!0,Fiv
CLI ;开放中断
;--------------------初始化结束-----------------------------null*========主循环开始处========================
MainLoop:
NOP ;仅为实验例程,无其它事务处理
JMP MainLoop ;转总循环
null*----------定时器1溢出中断子程序-------------------------
Timer1overflow:
INC Fiv
LDA #!5
CMP Fiv
BHI PTA1CLR
MOV #!0,Fiv
BRCLR 1,PTA,PTA1SET ;指示灯状态变换
BCLR 1,PTA
BRA PTA1CLRnullPTA1SET:
BSET 1,PTA
PTA1CLR:
;LDA T1SC ;清除定时器溢出标志位
BCLR 7,T1SC
RTI ;中断返回null*----------向量区----------------------------------------ORG $FFF2 ; 定时器1溢出中断向量
DW Timer1overflow
ORG $FFFE ; 复位向量
DW MainInit
本文档为【定时器溢出中断实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。