1 / 22
文档名称:

单片机实验报告.docx

格式:docx   大小:40KB   页数:22页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告.docx

上传人:suijiazhuang1 2022/6/20 文件大小:40 KB

下载得到文件列表

单片机实验报告.docx

相关文档

文档介绍

文档介绍:PIC单片机原理与应用实验报告
学校:
学院:
班级:
姓名:
学号:
指导教师:
一、 实验目的
(1)
(2)
(3)
(4)
实验一 I/O端口实验
掌握MPLAP IDE集成开发环境的基本操到的实验结果;
答:前两个实验是I/O 口输出实验,通过LED输出,实现彩灯效果。而第三个实验是I/O 口输入检测实验,实现按键控制。
分析PIC单片机IO端口输入与输出操作的不同之处。
答:IO端口输出要将IO端口配置为输出模式,然后将数据写入对应的寄存器,实现数据输 出;IO端口输入要将IO端口配置为输入模式,在进行按键检测时还要考虑延时消抖。
实验二 外部中断实验
一、 实验目的
(1) 掌握中断的工作原理及设计方法。
(2) 掌握多中断优先级处理原则。
(3) 掌握多中断嵌套的工作原理
(4) 学会查阅相关数据手册。
二、 实验仪器设备
(1) PC 机一台;
(2) MPLAP IDE开发软件一套;
(3) PICkit3在线调试器一套;
(4) APP009实验板一套;
三、 实验要求
(1) 设计单中断程序并下载调试,掌握中断响应原理及过程。
(2) 设计多中断程序并下载调试,掌握多中断时优先级处理原则。
(3) 修改多中断程序里的嵌套设置,掌握多中断嵌套工作原理。
四、 实验步骤
(1) 连接在线调试器PICkit3、实验板和计算机;
(2) 打开MPLAP IDE集成开发环境软件,点击Debugger>Select Tools>PICkit 3选择调试 工具;
(3) 点击Debugger>Settings,在Settings窗口中点击Power栏,选择由PICkit3向实验板供 电;
(4) 完成单中断程序实验;
程序代码:
#include <>
void delay(void);
void Initializeint0()
{ = 0; //清除 INT0 的中断标志
= 7; 〃中断优先级为 7
= 1; //使能中断
=1;
}
void __attribute__((__interrupt__)) _INT0Interrupt(void)
{ = 0; //清 INT0 中断标志
LATE =0x3f; //6 个 LED 灯 全亮
delay(); //延时
}
int main()
{
Initializeint0(); 〃调用 INT0 初始化程序
int ledcode[6]={0x01,0x02, 0x04, 0x08, 0x10, 0x20};
int i;
TRISE =0x0100; //RE8配置为输入,RE0-RE5配置为输出
while(1)
{ for (i=0;i<6;i++)
{
LATE=ledcode[i]; //按状态循环点灯 delay();
}
} } void delay(void) {
long int i; for (i=0;i<65000;i++);
}
实验现象:将程序下载到实验板上,运行程序,无中断时程序执行流水灯,按下按键(中断) 时6个发光LED全亮,中断结束返回后继续执行流水灯程序。
完成多中断程序实验; 程序代码: #include <> void delay(void);
void Initializeint0() { = 0; //清除 INT0 的中断标志
= 7; 〃中断优先级为 7
= 1; //使能中断
} void Initializeint2() { = 0; //清除 INT1 的中断标志
= 5; 〃中断优先级为 5
= 1; //使能中断
} void __attribute__((__interrupt__)) _INT0Interrupt(void) { = 0; //清 INT0 中断标志
=1; //D1 亮
delay(); //延时
=0; //D1 灭灯
} void __attribute__((__interrupt__)) _INT2Interrupt(void)