单片机程序设计.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《单片机程序设计.pptx》由会员分享,可在线阅读,更多相关《单片机程序设计.pptx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机程序设计,单片机程序语言,机器语言 F2412034 (11110010100000010010000000110100) 汇编语言 MOVW R0,#0 x1234 C语言 register int a; a=0 x1234;,汇编语言,指令格式 标号: 操作码(助记符)操作数1,操作数2, MOVW R0,#0 x1234 指令周期 时钟周期(振荡周期)、机器周期、指令周期 指令长度,汇编语言寻址方式,立即寻址 a=5; 直接寻址 a=b0; 间接寻址 a=*p;,汇编语言,数据传送 算术逻辑运算 控制转移(跳转) 位操作 特殊,C语言开发的优势,加快开发进度。(尤其是复杂系统) 无
2、需精通单片机指令集合具体硬件。 可以实现软件的结构化编程。 省去了人工分配单片机资源(寄存器、RAM)的工作。 易于移植。 编译器可以自动实现中断服务程序的现场保护和恢复。可以自动生成一些硬件的初始化代码。 对复杂的系统开发,可以通过移植实时操作系统来实现。,C语言模块划分,模块即是一个.c文件和一个.h文件的结合。 头文件(.h)中是对于该模块接口的声明; 某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明; 模块内的函数和全局变量需在.c文件开头冠以static关键字声明; 永远不要在.h文件中定义变量! 定义变量和声明变量的区别在于定义会产生内存分配的操作
3、,是汇编阶段的概念;而声明则只是告诉包含该声明的模块在连接阶段从其它模块寻找外部函数和变量。,只在文件内有效,C语言内存关键字指针,数据指针 int *p = (int *)0 xF000FF00; 对I/O口寄存器操作 对flash,ram存储器中的内容操作 函数指针 函数放在指定的地址空间 typedef void (*lpFunction) ( ); /*定义一个无参数、无返回类型的函数指针类型*/ lpFunction lpReset = (lpFunction)0 xF000FFF0; /*定义一个函数指针指向*/ lpReset(); /*调用函数*/,C语言内存关键字const,
4、const int table=1,2,3; /table表格只分配进程序存储器中 const char *ptr1 (指向常量的指针) 指针位于数据存储器空间指向程序存储器空间的字符型数据 char *const ptr2 (指针常量) 指针位于程序存储器空间指向数据存储器空间 const char *const ptr3 /指针位于程序存储器空间指向程序储存器空间,C语言内存关键字 volatile,volatile变量 优化,C语言内存,volatile int a volatile变量可能用于如下几种情况: 并行设备的硬件寄存器(如:状态寄存器,例中的代码属于此类) 一个中断服务子程序
5、中会访问到的非自动变量(也就是全局变量) 多线程应用中被几个任务共享的变量。,单片机程序结构,单片机程序结构,单片机程序结构,void main() sysinit(); moduleInit(); while(1) if(!ADTimer) ADTimer=500; 处理AD数据; if(!KeyTimer) KeyTimer=10; 扫描按键; ,if(!LEDTimer) LEDTimer=2; 扫描LED; if(hp!=rp) 处理串行接口数据; ,单片机程序结构,void SysTick_Handler() if(ADTimer) ADTimer-; if(KeyTimer) Ke
6、yTimer-; if(LEDTimer) LEDTimer-; ,时间片轮询法架构,1.设计一个结构体: /任务结构 typedef struct _TASK_COMPONENTS uint8Run; /程序运行标记:0-不运行,1运行 uint8Timer;/计时器 uint8ItvTime;/任务运行间隔时间 void(*TaskHook)(void);/要运行的任务函数 TASK_COMPONENTS;,时间片轮询法架构,2.任务运行标志出来,此函数就相当于中断服务函数,需要在定时器的中断服务函数中调用此函数,这里独立出来,并于移植和理解。 voidTaskRemarks(void)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机接口技术
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内