首页 > 编程知识 正文

单片机编程语言,单片机程序框架

时间:2023-05-04 16:44:42 阅读:131904 作者:2223

单片机c语言程序的结构与设计精选

实验五单板机c语言程序的结构与设计一、实验目的1 .掌握单板机c语言的程序结构; 2 .掌握单片机c语言程序的编写和调试方法掌握MSP430FG2553的基本I/O控制方法; 4 .掌握单片机对外部接口电路的控制方法。 二、实验任务1 .练习调试程序(1)硬件连接图)2)原程序存在的问题实验要求L1~L8连接P2OUT端口,因此程序中的端口应采用P2OUT; 程序中使用P2OUT的所有端口作为输出,因此必须首先将P2设置为GPIO实验中,8个LED等应该在点亮和熄灭之间循环,因此应该在原程序中输入主循环延迟函数delay (3)修改后的程序(#include 'io430.h'void delay ); intmain(void ) { WDTCTL=WDTPW WDTHOLD; //关闭看门狗p2sel=0p2sel2=0; P2DIR=0xff; //将端口1设为输出P2OUT=0xff; for (; ({ P2OUT=~P2OUT; //反转端口1的值并输出delay (); //调用函数延迟}}void delay ()//延迟函数({ unsigned int j; for(j=0; j0xffff; j; )3)程序调试方法)程序调试时主要采用分步方法,在F10和F11中分步执行程序,根据需要用view观测注册寄存器相关值的变化,每步可以初步判断对应程序的动作是否正确,也可以通过设置断点进行局部调试。 几种不同的调试按钮的使用方法总结如下: GO是连续运行的,在调试过程中通常与断点同时使用,用于程序长距离跳转的step over用于单步运行程序,但子规则使用此按钮不会在延迟内部运行。 另一方面,step into可以位于子函数内部,通常用于调试子函数,在调试子函数的过程中使用step out退出子函数; 合理使用这些命令可以有效地调试程序。 2 .发光二极管显示变化的控制(1)硬件连接图)2) c语言程序#include 'io430.h'void delay ); void action_1(; void action_2(; constunsignedcharled _ blink1[8]={0x 01,0x 02,0x 04,0x 08,0x 10,0x 20,0x 40,0x 80 }; constunsignedcharled _ blink2[4]={0x db,0xe 7,0x7e,0xbd}; intmain(void )//stopwatchdogtimertopreventtimeoutresetwdtctl=wdtpwwdthold; P2SEL=0; //P2端口设置为GPIO P2SEL2=0; P2DIR=0xff; //方向设定for (; //主循环({ action_1 ); //子函数调用action_2(; }}void delay ()//延迟函数) { int i; for(I=0; i0xffff; I; ) }void action_1()//定律-动作函数({ int j; for(j=0; j=7; j () { delay ); P2OUT=~LED_blink1[j]; //输出端口如表所示}}void action_2()//法则二动作函数({ int k; for(k=0; k4; k () {延迟); P2OUT=LED_blink2[k]; //输出端口如表所示}}本程序比较简单,上面的程序后面附有注释,所以不说明程序的动作原理。 )3)考虑到使用P1端口控制8个发光二极管的情况,与实验板的连接需要将L1~L8分别通过跳线连接到P1.0~P1.7,在程序中将原程序中使用的P2端口全部更换为P1端口3 .按键控制发光二极管显示变化(1)硬件连接图(2)编程思路首先,在前一个任务中实现了两种显示方式的循环显示,所以为了实现这个任务,只要在前一个任务的程序中输入按键控制即可将两个P1针设置为输入针,通过连接到键来检测键。 在前一个任务的程序中,两种工作方式是循环进行的,因此只需

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。