- 2
- 0
- 约5.22千字
- 约 39页
- 2019-03-16 发布于浙江
- 举报
前言 这个ppt的重点在于讲述如何使用C语言来对SPCE061A单片机进行编程。 希望这个ppt对同学们有所帮助。 目录 凌阳C语言简介 凌阳C语言基础 C和汇编混合编程 用C来直接控制硬件 凌阳C语言简介 用C语言编程的优点 寄存器分配、数据类型等由编译器管理。 编程及调试的时间减少,大大缩短开发周期。 明显增加软件可读性,便于改进和扩充。 用C语言可以很方便地对SPCE061A进行编程 IDE直接提供了C语言的开发环境,C函数和汇编函数可以方便地进行相互调用。 Software Libraries Standard C library Hardware library SACM ( Sunplus audio coding method) 凌阳C语言基础 unSP GCC认可的基本数据类型及其值域 数据类型应该注意的地方 char和unsigned char为16位 这与一般机器使用的GCC数据类型之间有一些差别。 float与double均存储为32位浮点数 unSP汇编的float与double分别是32位与64位浮点数。 关于变量的signed和unsigned 如果使用signed和unsigned两种数据类型,将使存储空间成倍增长。 因为使用signed和unsigned两种数据类型的库函数是不同的,使用signed和unsigned,就得同时使用这两种格式类型的库函数, 最好采用unsigned格式。 在编程时,如果只强调程序的运算速度而又不进行负数运算时,最好采用unsigned格式。 关于实参求值顺序 unSP IDE和Turbo C一样,实参的求值顺序是从右到左的,如下例: i=3;printf(%d,%d,i,i++);? 一个例子 C和汇编混合编程 混合编程的三个方面 C调用汇编函数 汇编调用C函数 C中嵌入在线汇编 C调用汇编函数 要求汇编函数名也以下划线“_”为前缀 因为C编译器产生的所有标号都以下划线“_”为前缀。 在进行参数传递时,参数以相反的顺序(从右到左)被压入栈中。 汇编函数的16位返回值存放在寄存器R1中。32位的返回值存入寄存器对R1、R2中;其中低字在R1中,高字在R2中。 C调用汇编的小例子 汇编调用C小例子 C中嵌入在线汇编 在线汇编指令格式: asm (“汇编指令模板”:输出参数:输入参数) 利用嵌入式汇编写端口寄存器 在C对P_IOA_Dir赋值0x1234,则嵌入汇编的实现方式如下: asm(“.define P_IOA_Dir 0x7002”); int main(void) { asm([P_IOA_Dir] = %0 : : r(0x1234)); } 利用嵌入式汇编读端口寄存器 把P_IOA_Dir的值读出并保存在C中的一个int变量j里 ,则嵌入汇编的方式如下: asm(“.define P_IOA_Dir 0x7002”); int main(void) { int j; asm(%0 = [P_IOA_Dir] : =r(j)); } 用C来直接控制硬件 使用纯C对寄存器进行操作 #define P_IOA_Dir (volatile unsigned int *)0x7002 int main(void) { int j; * P_IOA_Dir=0x1234; j= * P_IOA_Dir; } 用C进行IO设置 //设置A口为带下拉电阻的输入 *P_IOA_Dir =0; *P_IOA_Attrib =0; *P_IOA_Data =0; ? //设置B口为同相低电平输出 *P_IOA_Dir =0xffff; *P_IOB_Attrib =0xffff; *P_IOB_Data =0; 用C进行系统时钟设置 #define P_SystemClock (volatile unsigned int *)0x7013 ?*P_SystemClock = System_Information System Information = CPU Clock + 32K Mode + 32K Status + Fosc 用C进行系统时钟设置 CPU Clock的取值可以是以下几种: C_Fosc ? Fosc C_Fosc_Div_2 ? Fosc/2 C_Fosc_Div_4 ? Fosc/4 C_Fosc_Div_8 ? Fosc/8 (默认值) C_Fosc_Div_16 ? Fosc/16 C_Fosc_
您可能关注的文档
最近下载
- 员工培训需求调查问卷.docx VIP
- “双碳“背景下新能源汽车保险所面临的机遇与挑战.docx VIP
- 计算机网络谢希仁第八版课后答案.docx VIP
- 2025年项目管理专业规划沟通管理与沟通模型专题试卷及解析.pdf VIP
- 统编版语文一年级下册生字练字帖(写字表)_PDF.pdf VIP
- 混凝土浇筑施工重点难点及处理措施.docx VIP
- 危化品安全知识考试复习题库(600题).docx VIP
- (2026春新版)教科版二年级科学下册《1.2挖掘恐龙“化石” 》PPT课件.pptx VIP
- 培训进度保障措施.docx VIP
- (2026春新版)教科版二年级科学下册《1.1 恐龙的故事》PPT课件.pptx VIP
原创力文档

文档评论(0)