pic单片机实验报告文档格式.docx
《pic单片机实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《pic单片机实验报告文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
3、如果外设使能,并且外设正在使用相关引脚时,该引脚将不再作为通用I/O引脚使用。
4、优先级:
I/O与多个外设复用时I/O引脚的名称定义了与该引脚相关的各个功能的优先
级,如:
I/O引脚与两个外设复用(“外设A”和“外设B”)外设A对引脚的控制具有最高优先权,若外设A和外设B同时使能,外设A将控制I/O引脚
5、电平变化通知引脚:
电平变化通知引脚(CN)内接输入电平变化通知模块,使得dsPIC30F
器件能够向处理器发出中断请求,以响应所选输入引脚上的状态变化。
I/O端口控制寄存器:
所有的端口引脚,都有三个与端口引脚的操作直接相关的寄存器。
①TRISx:
数据方向寄存器。
决定各个引脚是输入引脚还是输出引脚。
–若某个I/O引脚的TRIS位为“1”,则该引脚是输入引脚。
–某个I/O引脚的TRIS位为“0”,则该引脚被配置为输出引脚。
–复位以后,所有端口引脚被定义为输入。
②PORTx:
I/O端口寄存器。
访问的是I/O引脚上的数据。
读的是端口引脚值;
写端口
引脚,写的是端口数据锁存器(LATx)。
③LATx:
I/O端口锁存寄存器。
读的是数据锁存器里锁存的值;
写锁存值,写的是端
口数据锁存器(LATx)
五、实验过程及结果:
实验源程序:
#include"
p30f4011.h”
intmain(void){
intled=0x01;
unsignedlonginti=0;
TRISE=0x100;
PORTE=led;
while
(1){
PORTE=led;
for(i=0;
i //当第6个LED灯亮后,重新从第1个LED灯点亮
led=led led=0x01;
}return0;
}
先编写程序,检验正确后,下载到实验板上并运行,实验板上6个LED灯开始循环点亮,通过修改程序,还可以改变延迟时间,即可控制LED灯点亮时间。
实验二实现外部中断INT0
学习PIC单片机的中断内容及其特性,了解中断请求、中断响应及中断服务原理。
在实验板上实现外部中断INT0.
二、实验目的:
掌握PIC单片机的中断内容,学会编程实现外部中断。
三、实验准备:
中断概述:
1、中断的定义:
中断是指如下过程:
CPU与外设同时工作,CPU执行主程序,外设做准备工作,当外设准备好时向CPU发中断请求信号,若条件满足,则CPU终止主程序的执行,转去执行中断服务程序,在中断服务程序中CPU与外设交换信息,待中断服务程序执行完后,CPU再返回刚才终止的主程序继续执行。
2、中断源:
⑴中断源的定义:
中断源是指引起中断请求的来源。
⑵中断源的分类:
①软中断和②硬中断3、中断处理的全过程
中断处理的全过程分成3个阶段:
中断请求、中断响应和中断服务。
4、多重中断与中断优先级
⑴当系统中有多个设备提出中断请求时,多个外设的中请信号要通过门电路送到CPU的中请输入端,使CPU能收到多个外设提出的中请。
⑵CPU在收到多个外设的请求后,按优先级原则处理中断。
中断请求:
1.CPU都有中请输入线。
中请输入线有2类:
非屏蔽中请输入线和可屏蔽中请输入线;
2.CPU的开、关中断。
CPU内有1个中断请求触发器IF,当IF=1时,称CPU开中断,此时CPU可以处理收到的可屏蔽中请;
当IF=0时,称CPU关中断,虽然CPU收到了可屏蔽中请,但不处理(响应)它。
3.CPU内有中断请求检测电路。
CPU每执行一条指令,其内的中断请求检测电路都要检测中断请求输入端的状态
中断服务:
中断服务子程序是由用户根据自己的需要编制的,编制时要注意如下问题:
1.保护现场:
目的是为了保护那些与主程序中有冲突的寄存器,如果中断服务子程序中所使用的寄存
器与主程序中所使用的寄存器等没有冲突的话,这一步骤可以省略。
2.开/关中断:
对相应中断位置1或置0实现。
目的是为了能控制中断。
3.中断服务:
与中断源实现信息交换。
4.恢复现场:
是与保护现场对应的,但要注意数据恢复的次序,以免混乱。
5.返回:
返回主程序
四、实验过程及结果:
p30f4011.h”unsignedintLed=0x01;
voidInitializeint0(){
IFS0bits.INT0IF=0;
//清除INT0的中断标志IPC0bits.INT0IP=7;
//中断优先级为7}
void__attribute__((__interrupt__))_INT0Interrupt(void){
篇二:
PIC单片机实验报告模板
PIC单片机技术上机实验报告
实验项目:
定时/计数姓名:
专业:
班级:
学号:
学期:
1314学年2学期
XX
一、实验名称
×
×
二、实验设备
(实验所需的设备或者软件)
三、实验目的
1.×
2.×
3.
4.
四、实验要求
五、理论原理
(本次实验所用到的书上的理论知识点的概要说明。
)
六、实验内容步骤
3.×
七、实验程序
附软件流程、程序源代码。
(程序要注释)
八、实验结果
附:
电路原理图、Proteus仿真的结果图片等。
并做文字说明。
九、分析总结
(实验过程遇到的问题、思考及解决方法;
此次实验的功能模块在实际应用的思考、本次实验的心得体会等)
1
篇三:
实验一
一,实验目的
(1)熟悉MPLAB-IDE软件开发环境及应用平台;
(2)熟悉MICROCHIP的PIC18F452开发板的电路原理图
(3)熟悉PIC单片机的编程过程;
(4)了解PIC单片机输入输出端口的定义方式
二,实验内容
(1)初始化单片机RD,定义RD为输出,用于控制目标板上D1-D8LED灯。
三,实验要求
要求完成以下两个方案中的其中一个:
(1)任意点亮8盏LED灯中的任意一个
(2)点亮一盏LED灯,并自左向右循环点亮每一盏LED灯
四,设计内容与步骤
(1)设计方案原理
对PORTD端口循环轮流赋值,并延时。
(2)编程思路
通过对TRISD赋值“00H”,将PORTD全部设置为输出,首先PORTD赋值为01H,调用延时子程序。
然后PORTD赋值分别为02H--04H--08H--10H--20H--40H--80H,并在这八个数中循环。
流程图:
(本文来自:
小草范文网:
pic单片机实验报告) 、
、
(3)代码、仿真:
(略)
五,心得与体会:
本实验比较简单,与第二个实验相似,不同的是给PORTD值的时候,一个是分别赋值,而另一个是通过查表的方法。
所以仿真与代码省略。
实验二
(1)学习子程序的调用如:
延时和查表子程序;
(2)锻炼编程的思想和提高编程的能力;
(3)了解程序运行过程内存参数的变化情况;
利用延时和查找表的方法,实现8盏LED灯的循环点亮,每次点亮一盏,向左或向右循环点亮,延时时间适当即可。
三,实验要求
实验必须达到功能正确,程序编写清晰,而且有适当的注释。
四,设计内容与步骤
1.设计方案原理与思路:
通过查表,将查表之后的结果送到输出端D口,再循环跳转,让LED灯循环点亮。
2.设计流程图:
3.程序代码:
LISTP=18F452
INCLUDE"
P18F452.INC"
ABCEQU20H
;
―――――――――――――――――――――
;
主程序
―――――――――――――――――――――ORG0000H
NOP
BSFSTATUS,5;
选择体1MOVLW00H
MOVWFTRISD;
D口为输出BCFSTATUS,5;
返回体0MAINMOVLW00H
MOVWFABC
MOVLW00H
MOVWFPORTD;
D口清0STMOVFABC,W
CALLSHUZH;
调用查表子程序MOVWFPORTD;
D口显示CALLDELAY;
延时
INCFABC,F
INCFABC,F
BTFSSABC,4;
循环设置GOTOST
GOTOMAIN
―――――――――――――――――
SHUZHADDWFPCL,F;
表子程序RETLW01H
RETLW02H
RETLW04H
RETLW08H
RETLW10H
RETLW20H
RETLW40H
RETLW80H
―――――――――――――――――
DELAYNOP;
延时子程序
RETURN
――――――――――――――――――
END
4.实验步骤
1.在软件上编写代码
2.编译与仿真
3.仿真与结果