单片机实验利用中断控制LED灯精.docx

上传人:b****5 文档编号:28892205 上传时间:2023-07-20 格式:DOCX 页数:8 大小:16.02KB
下载 相关 举报
单片机实验利用中断控制LED灯精.docx_第1页
第1页 / 共8页
单片机实验利用中断控制LED灯精.docx_第2页
第2页 / 共8页
单片机实验利用中断控制LED灯精.docx_第3页
第3页 / 共8页
单片机实验利用中断控制LED灯精.docx_第4页
第4页 / 共8页
单片机实验利用中断控制LED灯精.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

单片机实验利用中断控制LED灯精.docx

《单片机实验利用中断控制LED灯精.docx》由会员分享,可在线阅读,更多相关《单片机实验利用中断控制LED灯精.docx(8页珍藏版)》请在冰豆网上搜索。

单片机实验利用中断控制LED灯精.docx

单片机实验利用中断控制LED灯精

单片机实验——利用中断控制LED灯

1.实验目的

(1掌握单片机中断的基本原理。

(2掌握单片机中断程序的编制方法。

2.预习要点

(1单片机中断基本原理

(2中断程序编制方法

3.实验设备

计算机、单片机实验箱、信号发生器。

4.实验内容

基本要求:

将信号发生器输出的脉冲信号连接到CPU的INT0上,将CPU的P1.0到P1.7和八个LED连接,脉冲信号为5V、100Hz,每输入一百个脉冲LED灯亮一次,并且LED灯顺序循环移位一次,形成跑马灯。

扩展要求:

提高输入脉冲频率,但跑马灯的显示频率不变。

实验4

ORG0000H

AJMPMAIN

;******************************************

;中断子程序入口地址

ORG0003H

LJMPEXINT0

;******************************************

;主程序

ORG0030H

MAIN:

MOVSP,#70H

SETBIT0;设置为下降沿触发

SETBEX0;开INT0的中断开关

SETBEA;开总中断开关

MOVR0,#01H;只让一盏灯亮,R0赋给P1口

MOVR3,#00H;R3用来记中断次数

MOVA,R0

MOVP1,A

HERE:

SJMPHERE;死循环,还有另外一种形式是SJMP$

;******************************************

;外中断0服务程序

EXINT0:

INCR3;每来一次中断R3自加1

CJNER3,#100,NEXT;当来了100次中断之后,R3清零,然后P1口的

MOVR3,#00H;数左移一位,也就是让下一个LED亮

MOVA,R0

RLA

MOVP1,A

MOVR0,A;保存左移之后的结果

NEXT:

RETI

;******************************************

END

实验4扩展

ORG0000H

AJMPMAIN

;******************************************

;中断入口地址

ORG0003H

LJMPEXINT0

;******************************************

;主程序

ORG0030H

MAIN:

MOVSP,#70H

;初始化外中断0

SETBIT0

SETBEX0

SETBEA

;初始化8155

MOVDPTR,#0100H

MOVA,#03H

MOVX@DPTR,A

;显示缓存区

MOV30H,#1

MOV31H,#2

MOV32H,#3

MOV33H,#4

MOV34H,#5

MOV35H,#6

MOV36H,#7

MOV37H,#8

MOV38H,#9;这一句后面的CJNE会用到,用来判断1-8是否已经显示完了

MOVR2,#00H;用R2来记中断来的次数

MOV40H,#01H;用40H存放LED的状态

MOVA,40H

MOVP1,A

MOVR0,#30H;显示缓存区首地址给R0

MOVR4,#0FEH;字位送R4,因为只需要亮一个数码管,所以选择静态显示,没必要用动态显示

LOOP:

LCALLDISPLAY;循环调用显示程序

SJMPLOOP

;******************************************

;中断子程序

EXINT0:

INCR2

CJNER2,#100,NEXT;来100次中断之后才进行操作

MOVR2,#00H

MOVA,40H;移动LED

RLA

MOVP1,A

MOV40H,A

INCR0;让显示的数+1

CJNE@R0,#9,NEXT;如果到了9就回到1,因为我们只显示1-8

MOVR0,#30H

NEXT:

RETI

;******************************************

;显示子程序

DISPLAY:

MOVDPTR,#0102H;送字位

MOVA,R4

MOVX@DPTR,A

MOVDPTR,#DTAB;查表,送字形

MOVA,@R0

MOVCA,@A+DPTR

MOVDPTR,#0101H

MOVX@DPTR,A

LCALLDELAY

LD1:

RET

;******************************************;字形表

DTAB:

DB3FH,06H,5BH,4FH,66H

DB6DH,7DH,07H,7FH,6FH;0-F

DB77H,7CH,39H,5EH,79H

DB71H

;******************************************;延时1ms子程序

DELAY:

MOVR7,#02H

DEL1:

MOVR6,#0FFH

DEL2:

DJNZR6,DEL2

DJNZR7,DEL1

RET

;******************************************END

ORG0000H

AJMPMAIN

;中断入口地址

ORG0003H

LJMPEXINT0

;******************主程序

ORG0030H

MAIN:

MOVSP,#70H

;初始化外中断0

SETBIT0

SETBEX0

SETBEA

;初始化8155

MOVDPTR,#0100H

MOVA,#03H

MOVX@DPTR,A

;显示缓存区

MOV30H,#1

MOV31H,#2

MOV32H,#3

MOV33H,#4

MOV34H,#5

MOV35H,#6

MOV36H,#7

MOV37H,#8

MOV38H,#9

MOV40H,#01H;用40H存发光二极管的状态

MOVR2,#00H

MOVA,40H

MOVP1,A

MOVR0,#30H

MOVR4,#0FEH

LOOP:

LCALLDISPLAY

SJMPLOOP

;*************************

;中断子程序

EXINT0:

INCR2

CJNER2,#100,NEXT

MOVR2,#00H

MOVA,40H

RLA

MOVP1,A

MOV40H,A

INCR0

CJNE@R0,#9,NEXT1

MOVR0,#30H

NEXT1:

MOVA,R4

RLA

MOVR4,A

NEXT:

RETI

;显示子程序

DISPLAY:

MOVA,R4

MOVDPTR,#0102H

MOVX@DPTR,A

MOVDPTR,#DTAB

MOVA,@R0

MOVCA,@A+DPTR

MOVDPTR,#0101H

MOVX@DPTR,A

LCALLDELAYLD1:

RET;字形表DTAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH;延时1ms子程序DELAY:

MOVR7,#02HDEL1:

MOVR6,#0FFHDEL2:

DJNZR6,DEL2DJNZR7,DEL1RETEND;说明:

;R4是保存数码管字位;R3;R2是保存中断次数满100清0;R1;R0是保存数码管的字型实验5(1ORG0000HSJMPMAIN;****************************************8***********;中断入口地址ORG000BHLJMPT0INT;************************************************;主程序ORG0030HMAIN:

MOVSP,#70HMOVTMOD,#01H;T0选择方式1,16位定时器MOVTH0,#0F6H;#9EH;因为用示波器观察20HZ的方波不易观察,频率太低了,所以我换成了MOVTL0,#3CH;#58H;200HZ的,原理都是一样的,这样只是为了让波形更容易观察,后者是20HZ的初值SETBEA;开总中断SETBET0;开定时器0中断SETBTR0;启动定时器0SJMP$;死循环;********************************************************

;定时器0中断子程序(25ms2.5ms来一次中断T0INT:

MOVTH0,#0F6H;#9EH;重新赋初值MOVTL0,#3CH;#58HCPLP1.1;改变电平RETI;******************************************************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1