单片机实验4
来源:互联网 发布:linux 执行权限 编辑:程序博客网 时间:2024/05/22 14:21
实验4.1 通过外部中断使P1口的开关控制8个发光二极管,开始是P1.0所接的灯亮,以后每中断一次,下一个灯亮,顺序左移,周而复始。
这次实验让我们使用外部中断来控制小灯,目的就是为了让我们巩固外部中断方面的只是,IE寄存器,TCON寄存器,以及外部中断的起始地址.
汇编程序:
ORG 0000H LJMP START ORG 0003H ;这里使用外部中断0,起始地址是03HJMP I0ORG 0040H START: SETB EA ;中断总开关SETB EX0 ;外部中断0开关SETB IT0 ;下降沿触发MOV P1,#01HSJMP $I0: ;中断服务程序MOV A,P1RL AMOV P1,ARETIEND
C语言程序:
这里记录一下C语言中的中断编号的意思:
0 外部中断0
1 定时/计数器0中断
2 外部中断1
3 定时/计数器1中断
4 串行口发送与接受中断
5 定时/计数器2中断
#include<reg52.h>int0()interrupt 0{ uchar a=P1; a<<=1; if(a==0) //因为C语言中的左移不是循环的,所以这里判断一下 a=0x01; P1=a;}main(){ EA=1; EX0=1; IT0=1; P1=0x01; while(1){ }}
实验4.2 外部中断控制P1口连接的8个发光二极管,同时亮,或同时灭,每中断一次,变反一次。
这个实验和上面那个差不多,没有什么难度
汇编程序:
ORG 0000H LJMP START ORG 0003HJMP I0ORG 0040H START: SETB EASETB EX0SETB IT0MOV P1,#00HSJMP $I0:MOV A,P1CPL AMOV P1,ARETIEND
C语言程序:
#include<reg52.h>int0()interrupt 0{ P1=~P1;}main(){ EA=1; EX0=1; IT0=1; P1=0x00; while(1){ }}
阅读全文
0 0
- 单片机实验4
- 4、单片机实验板的制作步骤
- STM32单片机学习(4) 独立看门狗实验
- 【单片机】编码键盘实验
- 【单片机】LED实验
- 51单片机定时器实验
- 单片机串口通信实验
- 单片机时钟实验
- 单片机实验报告
- 单片机控制继电器实验
- 51 单片机串口实验
- 简单的单片机实验
- 单片机实验一
- 单片机第二次实验
- 单片机实验三
- 单片机实验五
- 单片机实验六
- 单片机实验七
- tp5改写跳转提示页面
- HDOJ 2094&&map水过
- 异常com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
- CS20SI Tensorflow for Deeplearning课程笔记(一)
- 感知机算法
- 单片机实验4
- HttpUtil
- document.ready和onload的区别
- 线程、进程间的通信方式
- 【Errcode:13-Permission denied】mysqlbinlog:File'/var/log/mysql/mysql-bin.000001' not found解决方案
- POJ2586(贪心)
- Spring Security实现动态权限管理
- python3 爬虫环境准备 (二)
- 前端框架之Vue.js学习总结