




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
单片机实验报告[5篇范文] 第一篇:单片机实验报告实验名称:单片机C语言程序结构和设计(实验2、3)姓名___学号_实验班号_机器号__一、实验目的:1.掌握单片机C语言程序结构;2.掌握单片机C语言程序调试方法;3.掌握MSP430FG2553基本I/O控制方法;4.巩固编写和调试单片机C语言程序方法;5.了解简单接口电路的控制方法;6.了解MSP430汇编格式的寻址方式和指令系统二、实验基本任务1、练习调试程序内容:用跳线将实验板上的8个发光二极管与单片机连接。编写的程序L2_debug.C如下,功能是控制与单片机相连接的8个发光二极管在全亮与全灭这两种状态下循环变换。该程序没有语法上的错误,但运行后不能实现上述现象,请上机调试其中的问题,指出程序的问题,并修改程序。答:将单片机P2端口的8个引脚与L1~L8相连。电路如下:原有程序为:通过上机调试,发现原程序有以下错误:①由于是P2端口上引脚与LED相接,所以应该设置P2而不是P1②应将P2端口调为基本I/O端口,仅通过DIR寄存器是不行的③源程序没有对P2OUT进行初始化,无法达到全亮全灭的效果④没有循环结构,无法达到全亮全灭的循环效果,可用for(;;)或while(1)结构⑤delay()函数延时过短,人眼几乎无法感受亮灭的变化正确的程序应为:#include“io430.h”voiddelay();intmain(void){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗P2SEL=0;//将P2端口设为基本I/O端口P2SEL2=0;P2DIR=0Xff;//设置端口2为输出方向P2OUT=0;//初始化P2端口引脚,For(;;){P2OUT=~P2OUT;delay();}}voiddelay(){unsignedintj;for(j=0;j//延时}2.控制发光二极管的显示变化在任务1的连线基础上,编程控制8个发光二极管按下面的2种规律循环变换,即规律1→规律2→规律1→规律2→……,如此循环反复。1)规律1:8个LED灯顺时针一个一个单独点亮,即L1L2……L7L8亮,每次只有一个灯亮,其他灯灭;2)规律2:8个LED灯两两点亮,顺序为L1和L8,L2和L7,L3和L6,L4和L5,每次只有两个灯亮,其他灯灭;答:程序如下:#include“io430.h”voiddelay();voidrule1();voidrule2();intmain(void){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗P2SEL=0;//将P2端口设为基本I/O端口P2SEL2=0;P2DIR=0Xff;//设置端口2为输出方向P2OUT=0;//初始化P2端口引脚,for(;;){rule1();rule2();}}voidrule1()//规律1{unsignedcharLED_0=0x01,LED_temp;LED_temp=LED_0;for(unsignedinti=0;i{P2OUT=~LED_temp;delay();LED_temp=LED_temp}}voidrule2()//规律2{unsignedcharLED_data[]={0x81,0x42,0x24,0x18};for(unsignedinti=0;i{P2OUT=~LED_data[i];delay();}}voiddelay(){unsignedintj;for(j=0;j//延时}思考:如果选择用单片机的P1端口控制8个发光二极管,如何在实验板上设计连线、并编程实现任务2的功能?答:设计连线:将P1端口的8个引脚与L1~L8对应相连。程序设计:将原先程序中所有关于P2端口的操作都换为P1端口即可3.用按键控制发光二极管的显示变化在任务2基础上,增加2个按键与单片机的引脚相连,编程实现由按键控制发光二级管的显示变化:当按下实验板上的K1键时,8个发光二极管按任务2中的规律1变化;当按下实验板上的K2键时,8个发光二极管按任务2中的规律2变化。答:在实验1的连线基础上,将P1.0、P1.1分别于K1、K2相连。如下图程序如下:#include“io430.h”voiddelay();voidrule1();voidrule2();intmain(void){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗P2SEL=0;//将P2端口设为基本I/O端口P2SEL2=0;P2DIR=0xff;//设置端口2为输出方向P2OUT=0;//初始化P2端口引脚,P1SEL&=~(BIT0+BIT1);//设置P1为基本I/OP1SEL2&=~(BIT0+BIT1);P1DIR&=~(BIT0+BIT1);//设置P1.0和P1.1为输入状态P1REN=0x03;//使P

猫巷****提格
实名认证
内容提供者


最近下载