![电子竞赛之C语言应用_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/47d0342e-3a8f-4a3c-ab96-259c00413218/47d0342e-3a8f-4a3c-ab96-259c004132181.gif)
![电子竞赛之C语言应用_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/47d0342e-3a8f-4a3c-ab96-259c00413218/47d0342e-3a8f-4a3c-ab96-259c004132182.gif)
![电子竞赛之C语言应用_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/47d0342e-3a8f-4a3c-ab96-259c00413218/47d0342e-3a8f-4a3c-ab96-259c004132183.gif)
![电子竞赛之C语言应用_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/47d0342e-3a8f-4a3c-ab96-259c00413218/47d0342e-3a8f-4a3c-ab96-259c004132184.gif)
![电子竞赛之C语言应用_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/47d0342e-3a8f-4a3c-ab96-259c00413218/47d0342e-3a8f-4a3c-ab96-259c004132185.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子竞赛之C语言应用电子竞赛之C语言应用前言这个ppt的重点在于讲述如何使用C语言来对SPCE061A单片机进行编程。希望这个ppt对同学们有所帮助。 电子竞赛之C语言应用目录凌阳C语言简介凌阳C语言基础 C和汇编混合编程用C来直接控制硬件 电子竞赛之C语言应用凌阳C语言简介电子竞赛之C语言应用用C语言编程的优点寄存器分配、数据类型等由编译器管理。编程及调试的时间减少,大大缩短开发周期。明显增加软件可读性,便于改进和扩充。 电子竞赛之C语言应用用C语言可以很方便地对SPCE061A进行编程IDE直接提供了C语言的开发环境,C函数和汇编函数可以方便地进行相互调用。Software Librari
2、esStandard C libraryHardware librarySACM ( Sunplus audio coding method)电子竞赛之C语言应用凌阳C语言基础电子竞赛之C语言应用unSP GCC认可的基本数据类型及其值域数据类型数据长度(bit)值域char16-3276832767short,int16-3276832767long32-21474836482147483647 unsigned char16065535unsigned shortunsigned int16065535 unsigned long3204294967295 float,double32以I
3、EEE格式表示的32位浮点数 电子竞赛之C语言应用数据类型应该注意的地方char和unsigned char为16位这与一般机器使用的GCC数据类型之间有一些差别。float与double均存储为32位浮点数unSP汇编的float与double分别是32位与64位浮点数。 电子竞赛之C语言应用关于变量的signed和unsigned如果使用signed和unsigned两种数据类型,将使存储空间成倍增长。因为使用signed和unsigned两种数据类型的库函数是不同的,使用signed和unsigned,就得同时使用这两种格式类型的库函数,最好采用unsigned格式。在编程时,如果只强调
4、程序的运算速度而又不进行负数运算时,最好采用unsigned格式。电子竞赛之C语言应用关于实参求值顺序unSP IDE和Turbo C一样,实参的求值顺序是从右到左的,如下例: i=3;printf(%d,%d,i,i+); 输出4,3 电子竞赛之C语言应用一个例子电子竞赛之C语言应用C和汇编混合编程电子竞赛之C语言应用混合编程的三个方面C调用汇编函数汇编调用C函数 C中嵌入在线汇编 电子竞赛之C语言应用C调用汇编函数要求汇编函数名也以下划线“_”为前缀因为C编译器产生的所有标号都以下划线“_”为前缀。在进行参数传递时,参数以相反的顺序(从右到左)被压入栈中。 汇编函数的16位返回值存放在寄存
5、器R1中。32位的返回值存入寄存器对R1、R2中;其中低字在R1中,高字在R2中。电子竞赛之C语言应用C调用汇编的小例子extern int ADD();int main(void)int i,j,SUM;i=2;j=3;SUM=ADD(i,j);return 0; .CODE.PUBLIC _ADD_ADD:.PROCPUSH BP TO SP;BP = SP + 1;R1 = BP+3; /取得第一个参数R2 = BP+4; /取得第二个参数R1 += R2;POP BP FROM SP;RETF;.ENDP 电子竞赛之C语言应用汇编调用C小例子EXTERNAL _ADD;.RAM.VAR
6、 SUM.CODE.PUBLIC _main;_main:R1 = 3;PUSH R1 TO SP; /第2个参数 /入栈R1 = 2;PUSH R1 TO SP; /第1个参数 /入栈CALL _ADD;SUM=R1;SP+=2; /恢复SP指针.END C函数:int ADD(int i,int j)i=i+j;return i; 电子竞赛之C语言应用C中嵌入在线汇编在线汇编指令格式:asm (“汇编指令模板汇编指令模板”:输出参数:输入参数:输出参数:输入参数) 电子竞赛之C语言应用利用嵌入式汇编写端口寄存器 在C对P_IOA_Dir赋值0 x1234,则嵌入汇编的实现方式如下:asm(
7、“.define P_IOA_Dir 0 x7002”);int main(void)asm(P_IOA_Dir = %0 : : r(0 x1234); 电子竞赛之C语言应用利用嵌入式汇编读端口寄存器 把P_IOA_Dir的值读出并保存在C中的一个int变量j里 ,则嵌入汇编的方式如下:asm(“.define P_IOA_Dir 0 x7002”);int main(void) int j;asm(%0 = P_IOA_Dir: =r(j); 电子竞赛之C语言应用用C来直接控制硬件 电子竞赛之C语言应用使用纯C对寄存器进行操作#define P_IOA_Dir (volatile unsi
8、gned int *)0 x7002int main(void)int j;* P_IOA_Dir=0 x1234; j= * P_IOA_Dir; 电子竞赛之C语言应用用C进行IO设置/设置A口为带下拉电阻的输入 *P_IOA_Dir 0;*P_IOA_Attrib 0;*P_IOA_Data 0; /设置B口为同相低电平输出 *P_IOA_Dir 0 xffff;*P_IOB_Attrib 0 xffff;*P_IOB_Data 0; 电子竞赛之C语言应用用C进行系统时钟设置 #define P_SystemClock (volatile unsigned int *)0 x7013 *P
9、_SystemClock = System_InformationSystem Information = CPU Clock + 32K Mode + 32K Status + Fosc PLL频率睡眠状态32K方式CPUclk选择b15b8b7b5b4b3b2b0电子竞赛之C语言应用用C进行系统时钟设置 CPU Clock的取值可以是以下几种: C_Fosc FoscC_Fosc_Div_2 Fosc/2C_Fosc_Div_4 Fosc/4C_Fosc_Div_8 Fosc/8 (默认值)C_Fosc_Div_16 Fosc/16C_Fosc_Div_32 Fosc/32C_Fosc_D
10、iv_64 Fosc/64C_Sleep Stop (睡眠)电子竞赛之C语言应用用C进行系统时钟设置 32K Hz Mode 的取值可以是以下几种:C_StrongMode强振模式C_AutoMode 弱振模式 (默认值)32K Hz Sleep Status的取值可以是以下几种:C_32K_Work 睡眠时,32K时钟仍工作 (默认)C_32K_Off 睡眠时,32K时钟停止工作电子竞赛之C语言应用用C进行系统时钟设置 Fosc的取值可以是以下几种:C_Fosc_24M 24.576M (默认值)C_Fosc_20MC_Fosc_32MC_Fosc_40MC_Fosc_49M 49.152M
11、 电子竞赛之C语言应用用C进行系统时钟设置 这个例子是进行系统时钟设置。读者可以选择不同的Fosc_CLK和CPU_CLK,观察发光二极管亮灭快慢。 硬件连接:A口低八位接八个共阳的发光二极管现象:根据Fosc_CLK和CPU_CLK的不同,观察发光二极管亮灭速度也不同电子竞赛之C语言应用用C进行系统时钟设置 程序代码#include SPCE061V004.Hvoid Delay();#define Fosc_CLK_RATE C_Fosc_49M; /Fosc#define CPU_CLK_RATE C_Fosc_Div_2; /CPUClk电子竞赛之C语言应用用C进行系统时钟设置 mai
12、n()unsigned int Fosc_CLK,CPU_CLK; *P_IOA_Dir = 0 x00FF; / IOA: 7.0 output *P_IOA_Attrib = 0 x00FF; *P_IOA_Data = 0;电子竞赛之C语言应用用C进行系统时钟设置 Fosc_CLK = Fosc_CLK_RATE;CPU_CLK = CPU_CLK_RATE; *P_SystemClock = Fosc_CLK|CPU_CLK; 电子竞赛之C语言应用用C进行系统时钟设置 while(1) *P_IOA_Data = 0 x00FF; /LED off Delay(); *P_IOA_Da
13、ta = 0; /LED on Delay(); 电子竞赛之C语言应用用C写中断程序在IDE162下,中断服务程序只能用汇编(包括嵌入式汇编)来写。在IDE180下,用户多了一种选择,那就是可以用C来写中断。电子竞赛之C语言应用用C写中断程序CASM功能INT_OFF()int off禁止所有中断INT_IRQ()int irq仅允许irq中断INT_FIQ()int fiq仅允许fiq中断INT_FIQ_IRQ() int fiq,irq允许fiq和irq中断IRQ_OFF()irq off禁止irq中断IRQ_ON()irq on允许irq中断FIQ_OFF()fiq off禁止fiq中断
14、FIQ_ON()fiq on允许fiq中断电子竞赛之C语言应用用C写中断程序s,使A口的8个二极管闪烁。s采用哪个时基信号比较方便呢?SPCE061A单片机时基信号频率丰富,有2Hz、4Hz、8Hz、16Hz、32Hz、64Hz、128Hz、256Hz、512Hz、1024H、2048Hz、4096Hz等多种频率。我们可以很明显的看出2Hz时基信号中断是最方便的。只要触发2Hzs的定时目的。电子竞赛之C语言应用用C写中断程序#include“”#include“”main()INT_OFF();*P_IOA_Dir=0 x00FF; *P_IOA_Attrib=0 x00FF;*P_IOA_Data=0 x0000;*P_INT_Ctrl=C_IRQ5_2Hz;/Setup interrupt INT_IRQ(); while(1) *P_Watchdog_Clear = C_WDTCLR;电子竞赛之C语言应用用C写中断程序#includeSPCE061V004.Hunsigned int g_uiOutput=0 x0000;void IRQ5(void) _attribute_ (ISR);void IRQ5(void)if(*P_INT_Ctrl&C_IRQ5_2Hz)/IRQ5_2Hz
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大四不返校申请书
- 电子商务平台物流信息化的法规要求
- 甜品市场分析趋势与机遇
- 工伤保险的申请书
- 2024-2025学年高中生物课时分层作业8动物细胞融合与单克鹿体含解析新人教版选修3
- 2024-2025学年高中政治专题4.1传统文化的继承练新人教版必修3含解析
- 支钱的申请书
- 电子工厂的电路板制造与质量控制体系
- 专升本申请书范文500
- 2025年度水利工程改造施工合同
- 社区成人血脂管理中国专家共识(2024年)
- 广东省2024年普通高中学业水平合格性考试语文仿真模拟卷01(解析版)
- 信息科技重大版 七年级上册 互联网应用与创新 第1单元 单元教学设计 互联网时代
- CR200J动力集中动车组拖车制动系统讲解
- 2024年湖南高速铁路职业技术学院单招职业适应性测试题库参考答案
- 肾性高血压的护理
- 国际货物运输委托代理合同(中英文对照)全套
- 全面新编部编版四年级下册语文教材解读分析
- 《建筑工程质量检验评定标准》
- 教学能力大赛-教学实施报告《大学英语2c》
- 江苏农牧科技职业学院单招《职业技能测试》参考试题库(含答案)
评论
0/150
提交评论