下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.如何读懂单片机程序这是一篇关于单片机入门的基础文章!刚刚接触单片机的朋友,简直是无从下手,打开一个程序,更会被复杂的结构和密密麻麻的代码吓倒!多么想找个人耐心的指导一下,是你们内心的强烈意识!好吧,我来满足你!我对单片机的总结:“单片机其实就是一个芯片,内部有若干寄存器,外部有若干引脚,我们可以通过程序控制内部的寄存器使得引脚与外部世界保持联系!”就这几句话,道出了单片机的真谛!有没有感觉到单片机是多么的简单!1.单片机程序执行流程这是我们首先必须要知道的。单片机程序一般就有两种,一种是汇编程序,一种是c语言程序。这里我们讲c语言程序。单片机程序都有一个包含主函数的文件,包含主函数的文件都有
2、一个统一的结构,如下所示:#include xxx.hint main() / 这是主函数的函数名 .; / 若干条语句 .; while(1) / while括号中是1,说明程序进入后将在while里面无线循环,不会出来了,不懂的去看c语言基础之while篇 .; / 若干条语句 .; 重点:单片机一上电,从主函数main的第一条语句开始执行,是一条语句接着一条语句从上而下执行,直到进入while后,再从while的第一条语句执行到最后一条语句,由于是死循环,会再从while的第一条语句执行到最后一条语句,如此反复执行,永不停止!直到断电!这些语句当中,有些是函数的调用,遇到函数的调用,进入
3、到函数,再从函数的第一条语句执行到最后一条语句,然后跳出函数,再从刚才主函数中那条函数的下一条语句开始执行。如果实在搞不明白函数是怎么一回事,你可以用函数里面的所有语句代替函数在主函数中的位置。例如:#include LPC11XX.H#define LED1_ON LPC_GPIO1-DATA &= (1DATA |= (1DATA &= (1DATA |= (11)/*/* 延时函数 */*/void delay() uint16_t i,j; for(i=0;i5000;i+) for(j=0;jSYSAHBCLKCTRL |= (1R_PIO1_0 &= 0x07; LPC_IOCON
4、-R_PIO1_0 |= 0x01; LPC_IOCON-R_PIO1_1 &= 0x07; LPC_IOCON-R_PIO1_1 |= 0x01; LPC_SYSCON-SYSAHBCLKCTRL &= (1DIR |= (1DATA |= (1DIR |= (1DATA |= (1DATA &= (1SYSAHBCLKCTRL |= (1R_PIO1_0 &= 0x07; LPC_IOCON-R_PIO1_0 |= 0x01; LPC_IOCON-R_PIO1_1 &= 0x07; LPC_IOCON-R_PIO1_1 |= 0x01; LPC_SYSCON-SYSAHBCLKCTRL &
5、= (1DIR |= (1DATA |= (1DIR |= (1DATA |= (11); while(1) for(i=0;i5000;i+) for(j=0;jDATA &= (1DATA |= (11); for(i=0;i5000;i+) for(j=0;jDATA |= (1DATA &= (1SYSAHBCLKCTRL |= (116);这条语句,就是在给SYSCON模块中的SYSAHBCLKCTRL寄存器进行配置,所以我们要找到这个寄存器的定义。首先,打开用户手册,找到SYSCON这一章,然后找到寄存器描述这一节,就可以找到这个寄存器的定义了。至于(|=(116)这些,都是写基本
6、的逻辑运算,也是些c语言的基础知识而已。例如(|=(116) 这个就是把1左移16个位,然后把左移后的数据与SYSAHBCLKCTRL寄存器进行或运算,运算后的结果再放入SYSAHBCLKCTRL寄存器当中。1左移16个位,就是bit16为1,其它位为0。与寄存器SYSAHBCLKCTRL进行或运算,我们不管这个寄存器原来的值是多少,我们现在只知道,1或任何数,都等于1;0或任何数,都等于任何数。所以,1左移16位后,再与寄存器进行或运算,实际上是把寄存器的bit16置1,剩下的位原来是多少,还是多少。(常有人问我,怎么判断自己适不适合学单片机,现在我告诉你,你能把这些“或”“与”“非”“进制转换”搞清楚,就可以,如果这些搞不清楚,就不要学了,同学,单片机不适合你)。4.总结看一个程序,实质上就是把自己的大脑当成单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教资保育考试题库及答案
- 商务谈判与沟通技巧实战
- 强生面试面试技巧全解析行业深度指导
- 护士护理团队管理培训
- 园区环保面试高分技巧分享
- 巡视工作面试备考策略分享
- 工业自动化技术与智能制造系统解决方案
- (完整版)数学北师大六年级下册期末模拟测试真题经典解析
- 惠州企业培训课程面试辅导与技能提升
- 广告公司创意设计师工作流程与提案技巧
- 四川省成都市部分中学2026届高三上学期期中考试语文试卷及答案
- 2026年中考英语一轮复习:一词多义(按字母顺序编排共233个)
- 新人教八年级上英语课件Unit 7 When Tomorrow Comes Section B(1a-2c)课件
- 2025广东佛山市禅城区卫生健康系统招聘事业单位工作人员(第一批)9人笔试考试参考试题及答案解析
- 6.1生物的生殖-2025-2026学年人教版八年级《生物》下册学情评估卷
- 2025北京西城区政务服务中心大厅综合窗口服务岗招聘笔试考试备考题库及答案解析
- 2025上海对外经贸大学武装部干事招聘1人备考题库带答案解析
- 春节前安全教育培训 课件
- 航空发动机燃油系统优化与效率
- 2025年内蒙古行政执法考试试题及答案
- 电气安装工程施工工艺培训课件
评论
0/150
提交评论