教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

单片机实验三 中断中断、定时器

来源:网络收集 时间:2026-05-01
导读: 掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能部件的使用规则和应用方法,熟悉中断处理程序的安排。实验内容:1、外部中断IRQ触发的LED跑马灯。核心板上4个LED已接B口高4位,B口位输出低电平时点亮,IRQ引脚下降沿引发中断。使用导线连接核心板M

掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能部件的使用规则和应用方法,熟悉中断处理程序的安排。实验内容:1、外部中断IRQ触发的LED跑马灯。核心板上4个LED已接B口高4位,B口位输出低电平时点亮,IRQ引脚下降沿引发中断。使用导线连接核心板MCU的IRQ引脚(插口J1=J5=J6=J7的2号脚)和目标板上的按键PB1(USER I/O插口的PB1),按动PB1即能给IRQ引脚施加带有下降沿的低电平。

实验三 中断、定时器

实验目的:掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能

部件的使用规则和应用方法,熟悉中断处理程序的安排。

实验环境:CodeWarrior IDE仿真调试软件 + XDT512开发板套件;

编程语言选择:汇编语言(Assembly);

调试连接选择:Full Chip Simulation + P&E Multilink;

工程目标选择:硬件连接调试(P&E Multilink);

实验内容:1、外部中断IRQ触发的LED跑马灯。核心板上4个LED已接B口

高4位,B口位输出低电平时点亮,IRQ引脚下降沿引发中断。使

用导线连接核心板MCU的IRQ引脚(插口J1=J5=J6=J7的2号脚)

和目标板上的按键PB1(USER I/O插口的PB1),按动PB1即能给

IRQ引脚施加带有下降沿的低电平。

调试时,可在中断服务程序中设置断点,以方便观察是否进入中

断。

在此程序正常运行的基础上再加入对核心板按键SW1(P口最低位,

按下时接地)的检测,当其按下时取消跑马灯显示,IRQ再次按下

时继续显示跑马灯。

LDS #__SEG_END_SSTACK ; initialize the stack pointer

LDAA #$FF

STAA DDRB

LDAA #$C0

STAA IRQCR

CLI

LDAA #$FF

STAA PORTB

LDAA #$00

STAA FLAG

WAIT: CMPA FLAG

BEQ WAIT

SEC

LDAA #$FE

SHIFT: STAA PORTB

BSR DELAY

ROLA

BRCLR PTP,#$01,CANCEL

BRA SHIFT

CANCEL: LDAA #$00

STAA FLAG

掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能部件的使用规则和应用方法,熟悉中断处理程序的安排。实验内容:1、外部中断IRQ触发的LED跑马灯。核心板上4个LED已接B口高4位,B口位输出低电平时点亮,IRQ引脚下降沿引发中断。使用导线连接核心板MCU的IRQ引脚(插口J1=J5=J6=J7的2号脚)和目标板上的按键PB1(USER I/O插口的PB1),按动PB1即能给IRQ引脚施加带有下降沿的低电平。

BRA WAIT

IRQ_ISR: LDAA #$FF

STAA FLAG

RTI

DELAY: PSHX

PSHY

LDX #200

DL1: LDY #200

DL2: NOP

NOP

DBNE Y,DL2

DBNE X,DL1

PULX

PULY

RTS

2、利用MCU的TIM定时器、中断功能部件,实现3s精确定时(2MHz

总线频率),每定时时间到,使核心板上接B口高4位的最高位的

LED亮灭一下,观察是否进入中断。调试时,可在中断服务程序中

设置断点,以方便观察是否进入中断。

LDS #__SEG_END_SSTACK ; initialize the

stack pointer

SEI ; enable interrupts

LDAA #$FF

STAA DDRB

LDAA #$FF

STAA PORTB

LDAA #$07

STAA TSCR2

LDAA #$01

STAA TIOS

LDAA #$00

STAA TCTL2

LDAA #$01

STAA TFLG1

LDAA #$01

STAA TIE

LDX #93750

ADDX TCNT

STX TC0

掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能部件的使用规则和应用方法,熟悉中断处理程序的安排。实验内容:1、外部中断IRQ触发的LED跑马灯。核心板上4个LED已接B口高4位,B口位输出低电平时点亮,IRQ引脚下降沿引发中断。使用导线连接核心板MCU的IRQ引脚(插口J1=J5=J6=J7的2号脚)和目标板上的按键PB1(USER I/O插口的PB1),按动PB1即能给IRQ引脚施加带有下降沿的低电平。

LDAA #$80

STAA TSCR1

CLI

WAIT: BRA WAIT

TC0_ISR: SEI

LDAA #$01

STAA TFLG1

LDX #93750

ADDX TCNT

STX TC0

LDAA #$7F

STAA PORTB

BSR DELAY

LDAA #$FE

STAA PORTB

CLI

RTI

DELAY: PSHX

PSHY

LDX #200

DL1: LDY #200

DL2: NOP

NOP

DBNE Y,DL2

DBNE X,DL1

PULX

PULY

RTS

ORG $FFEE

FDB TC0_ISR

3、利用MCU的PIT定时器、中断功能部件,实现3s精确定时(2MHz

总线频率),每定时时间到,使核心板上接B口高4位的最高位的

LED亮灭一下,观察是否进入中断。调试时,可在中断服务程序中

设置断点,以方便观察是否进入中断。

DisableInterrupts;

掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能部件的使用规则和应用方法,熟悉中断处理程序的安排。实验内容:1、外部中断IRQ触发的LED跑马灯。核心板上4个LED已接B口高4位,B口位输出低电平时点亮,IRQ引脚下降沿引发中断。使用导线连接核心板MCU的IRQ引脚(插口J1=J5=J6=J7的2号脚)和目标板上的按键PB1(USER I/O插口的PB1),按动PB1即能给IRQ引脚施加带有下降沿的低电平。

DDRB=0xFF;

PORTB=0xFF;

PITCFLMT=0x00;

PITTF=0x01;

PITMUX=0x00;

PITMTLD0=99;

PITLD0=19999;

PITINTE=0x01;

PITCE=0X01;

PITCFLMT=0x80;

EnableInterrupts;

for(;;)

{

//...

}

}

#pragma CODE_SEG NON_BANKED

interrupt 66 void PIT0_ISR()

{

int a;

PITTF=0x01;

PORTB=PORTB&0x7F;

For(a=10000;a>0;a--)

PORTB=0xFF;

}

第三个程序可以改写成汇编,我这个现象不大明显,延时a太大,系统会报错,太小又看不到灯亮,所以将就了,老师说OK就行了

实验参考:本书第4章“仿真、调试与C语言编程”,以及相关章节。

实验附1:XDT512核心板接口资源及相关跳线设置。

实验附2:XDT512核心板与目标板的连接插口(J1)引脚定义。

实验附3:XDT512核心板上主要接口电路图。

掌握汇编语言综合编程方法,掌握并行I/O口、定时器、中断等功能部件的使用规则和应用方法,熟悉中断处理程序的安排。实验内容:1、外部中断IRQ触发的LED跑马灯。核心板上4个LED已接B口高4位,B口位输出低电平时点亮,IRQ引脚下降沿引发中断。使用导线连接核心板MCU的IRQ引脚(插口J1=J5=J6=J7的2号脚)和目标板上的按键PB1(USER I/O插口的PB1),按动PB1即能给IRQ引脚施加带有下降沿的低电平。

…… 此处隐藏:1456字,全部文档内容请下载后查看。喜欢就下载吧 ……
单片机实验三 中断中断、定时器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/119366.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)