单片机课程设计 外部中断控制流水灯变化
- 格式:doc
- 大小:181.00 KB
- 文档页数:8
单片机课程设计报告
设计题目:外部中断控制流水灯变化
姓名
一.设计目的
通过学习单片机工作原理和各种工作方式及各管脚的功能,想通过P3口的俩管脚P3.2和P3.3第二功能,即外部中断来使CPU响应,达到控制流水灯的目的。
二.设计要求
主程序实现8个灯从P2.0到P2.7依次亮灭,灯与灯
之间间歇约0.5秒.当P3.3口是低电平时,灯从P2.7到P2.0依次亮灭,灯与灯之之间间歇约0.5秒.循环3次返回主程序.当P3.2口是低电平时,灯全灭,当P3.2口是高电平时,返回主程序.当同时使P3.2和P3.3为低电平时,灯全灭,因为外部中断0的优先级高于外部中断1的优先级.
三.MCS-51的硬件结构:
四.P3口的状态
P3口是双功能口,默认为第一功能(通用I/O口),通过编程可设
置第二功能。
五.中断传送方式:
中断方式则是在外设为数据传送做好准备之后,就向CPU发出中断请求信号(相当于通知CPU)。CPU接收到中断请求信号之后立即作出
响应,暂停正在执行的原程序(主程序),而转去外设的数据输入输出
服务,待服务完之后,程序返回。CPU再继续执行被中断的原程序。六.外部中断
外部中断是指从单片机外部引脚输入请求信号。输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为
外部中断源,从引脚INT0、INT1输入。
外部中断请求、有两种触发方式:电平触发及跳变(边沿)触发。
这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。
七.电路原理逻辑图如下:
P3.3 P3.2 灯亮情况
0 0 全灭
0 1 全灭
1 0 从P2.0到P2.7依次亮灭
1 1 从P2.7到P2.0依次亮灭八.实验硬件电路图如下
九.程序流程图如下
十.程序清单
ORG 0000H
AJMP START ORG 0003H AJMP SER ORG 0013H AJMP SER1 ORG 0030H
START: MOV IE,#85H ;外部中断0和1都开
程序初始化开始
主程序
全灭
P3.3=0 P32.=0
P3.3=0
P3.2=0
从P2.0到P2.7依次亮灭一直循环
P3.3=1 P3.2=1
从P2.7到P2.0灯依次亮灭并循环三次
P3.3=0 P3.2=1
返回
MOV IP,#01H ;外部中断0级优先高
MOV TCON,#00H ;低电平出发
MAIN: MOV A,#0FEH ;P2.0口亮
MOV P2,A
ACALL TIMO ;延时
RL A ;循环左移
SJMP RES
SER1: MOV R2,#18H ;循环3次
MOV A,#0EFH ;P2.7口亮
SER2: MOV P2,A
ACALL TIMO ;延时
RR A ;循环右移
DJNZ R2,SER2
RETI
TIMO: MOV R5,#50 ;延时子程序
LOOP1: MOV R6,#100
LOOP2: MOV R7,#50
LOOP3: DJNZ R7,LOOP3
DJNZ R6,LOOP2
DJNZ R5,LOOP1
RET
SER: MOV P2,#0FFH ;灯全灭
RETI
END
十一.课程设计总结:
通过本次课程设计,发现了学习中一些不足的地方,及时进行了补充学习。更进一步理解了本门课程的意义与作用,同时对汇编语言也有了更进一步的理解。设计中发现,在使用汇编语言编程运算比较繁琐,而且运算范围及运算速度很受限制;而它的长处却在于进行控制,而语言的使用本身并不是很难,关键是逻辑思路要清晰。掌握一门语言不难,训练一种良好的分析问题的思路却非一时之功。通过使用STC89C51RC 单片机实验板,也加深了对硬件电路的理解。使用硬件时遇到一定问题,体现了动手能力,实践能力较差,通过与同学讨论学习,在辩论中解决了问题,提升了能力。
十二.参考文献如下:
牛昱光主编《单片机原理与接口技术》电子工业出版社
51单片机实验指导书
胡汉才主编《单片机原理及其应用》清华大学出版社