如何读懂单片机程序

如何读懂单片机程序

ID:46403481

大小:18.56 KB

页数:4页

时间:2019-11-23

如何读懂单片机程序_第1页
如何读懂单片机程序_第2页
如何读懂单片机程序_第3页
如何读懂单片机程序_第4页
资源描述:

《如何读懂单片机程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何读懂单片机程序这是一篇关于单片机入门的基础文章!刚刚接触单片机的朋友,简直是无从下手,打开一个程序,更会被复杂的结构和密密麻麻的代码吓倒!多么想找个人耐心的指导一下,是你们内心的强烈意识!好吧,我来满足你!我对单片机的总结:“单片机其实就是一个芯片,内部有若干寄存器,外部有若干引脚,我们可以通过程序控制内部的寄存器使得引脚与外部世界保持联系!”就这几句话,道出了单片机的真谛!有没有感觉到单片机是多么的简单!1.单片机程序执行流程这是我们首先必须要知道的。单片机程序一般就有两种,一种是汇编程序,一种是c语言程序。这里我们讲c语

2、言程序。单片机程序都有一个包含主函数的文件,包含主函数的文件都有一个统一的结构,如下所示:#include"xxx.h"intmain()//这是主函数的函数名{......;//若干条语句......;while(1)//while括号中是1,说明程序进入后将在while里面无线循环,不会出来了,不懂的去看c语言基础之while篇{......;//若干条语句......;}}重点:单片机一上电,从主函数main的第一条语句开始执行,是一条语句接着一条语句从上而下执行,直到进入while后,再从while的第一条语句执行到最后

3、一条语句,由于是死循环,会再从while的第一条语句执行到最后一条语句,如此反复执行,永不停止!直到断电!这些语句当中,有些是函数的调用,遇到函数的调用,进入到函数,再从函数的第一条语句执行到最后一条语句,然后跳出函数,再从刚才主函数中那条函数的下一条语句开始执行。如果实在搞不明白函数是怎么一回事,你可以用函数里面的所有语句代替函数在主函数中的位置。例如:#include"LPC11XX.H"#defineLED1_ONLPC_GPIO1->DATA&=~(1<<0)#defineLED1_OFFLPC_GPIO1->DATA

4、

5、=(1<<0)#defineLED2_ONLPC_GPIO1->DATA&=~(1<<1)#defineLED2_OFFLPC_GPIO1->DATA

6、=(1<<1)/***********************************//*延时函数*//***********************************/voiddelay(){uint16_ti,j;for(i=0;i<5000;i++)for(j=0;j<200;j++);}/***********************************//*

7、LED初始化函数*//***********************************/voidled_init(){LPC_SYSCON->SYSAHBCLKCTRL

8、=(1<<16);LPC_IOCON->R_PIO1_0&=~0x07;LPC_IOCON->R_PIO1_0

9、=0x01;LPC_IOCON->R_PIO1_1&=~0x07;LPC_IOCON->R_PIO1_1

10、=0x01;LPC_SYSCON->SYSAHBCLKCTRL&=~(1<<16);LPC_GPIO1->DIR

11、=(1<<0);LPC_G

12、PIO1->DATA

13、=(1<<0);LPC_GPIO1->DIR

14、=(1<<1);LPC_GPIO1->DATA

15、=(1<<1);}/***********************************//*主函数*//***********************************/intmain(){led_init();while(1){delay();LED1_ON;LED2_OFF;delay();LED1_OFF;LED2_ON;}}上面这个例子中,单片机一上电,会执行主函数的第一条语句,也就是led_in

16、it(),这个是一个函数的调用语句,程序会从led_init函数中的第一条语句开始执行,直到执行完最后一条语句后,回到主函数,进入while,从while的第一条语句delay()开始执行,delay()又是一个函数,程序会从delay()的第一条语句开始执行,delay()函数中有两个for循环,执行完for循环后,就跳出delay()函数,执行LED1_ON,由于LED1_ON是个用#define定义的宏定义,由c语言基础知识之#define宏定义篇,我们知道,LED1_ON就是LPC_GPIO1->DATA&=~(1<<0

17、),如此继续执行下去……。如果不用define宏定义,也不用函数,上面的例子就可以写为如下形式:#include"LPC11XX.H"/***********************************//*主函数*//*******************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。