(71页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
23.9 积分
2019-10-8n SN8 C studio 的安装与使用n 数据类型与运算n 程序流程控制n 函数n 结构体、联合在SN8 C程序中的应用n 中断n 位操作n 内嵌汇编n 程序结构 2n SN8 C studio 的安装 n SN8 C studio应用实例 3 字 符 型 (char) 整型(int) 基本类型 长 整 型 (long) 浮 点 型 (float) 数组(array)数据类型 结 构 体 构造类型 (struct) 共 用 体 (union) 指针类型 枚举(enum) 空类型 4 数据类型 Size(Byte) 数据取值范围Signed char(short、int) 1 -128~+127Unsigned char(short、int) 1 0~255 Signed long 2 -32768~+32767 Unsigned long 2 0~65535 float、double 4 Pointer 2 enum 1 5n 先来看看汇编的常量定义: n door_service_c equ #80 ;80ms去门抖动 n t0int_c equ #224 ;t0中断时间 n segment_c equ #3 ;最多3段烹调 注:上面数值前的#号,是SN8ASM的符号,用于提示后 面的是立即数。 6n再来看看用SN8 C是如何定义相同的常量的: #define door_service_c 80 //80ms去门抖动 #define t0int_c 224 //t0中断时间 #define segment_c 3 //最多3段烹调 NOTE: 对习惯于写汇编的人来说,千万注意C对大小写 敏感!并从变量定义就要开始注意! 7n 汇编的表: disp_automenu: ;显示菜单用第二数字表格 dw 0000h dw 0ae1fh ;A-1 dw 0ae2fh ; dw 0ae3fh ; dw 0ae4fh ; dw 0ae5fh ; dw 0ae6fh 表的; 内容都是用DW 关键字来定义 dw 0ae7fh ; 8n __RAM与__ROM关键字的使用: 将变量存放在 RAM中 [默认] Unsigned int __RAM ramVeriable; __RAM unsigned int ramVeriable2; 将变量存放 Unsigned int __ROM romVeriable; 在ROM中 __ROM unsigned int romVeriable2; 9n C定义的数值列表: unsigned long __ROM disp_automenu[]= { 0x0000,0x0ae1f,0x0ae2f,0x0ae3f, 0x0ae4f,0x0ae5f,0x0ae6f,0x0ae7f 定义一个数 }; 组来存储这 些表的数值 10n 汇编的定义变量的方法: .DATA 分别占用的Byte org 0h 单位的RAM空间 temp1 ds 1 temp2 ds 1 led_dp ds 1 step ds 1 Job_mode ds 2 用DS关键字来 Pow_mode ds 4 定义变量空间 11n 用C定义变量: 支持不同长度的变量类型,这 unsigned int temp1; C 样就方便了程序员的使用 unsigned int temp2; unsigned int led_dp; unsigned int step; unsigned long job_mode; unsigned long power_mode1; float powerValue; int temp1_1; long temp2_2; 12ASM.的定义 C的定义 DS 1 (un)signed int/short/char DS 2 (un)signed long DS 4 Float/double 13n 在选择数据类型的时候,在能够顺利完成功 能的情况下,请尽量选择占空间少的数据类 型,这样不管是在RAM空间使用上还是在产 生代码效率上都有很多的好处!n 能使用无符号数的都使用无符号数,以免处 理出错,因为芯片内部是以无符号数处理的。 14n SN8芯片的数据存储区 Bank0 0000H 128Byte 用户存储区 通用存储区 007FH 0080H 80H~FFH为系统寄存 系统寄存器区 器区域 00FFH Bank1 00100 更多的用户存储区 通用存储区 01FFh 15 n 系统寄存器表 0 1 2 3 4 5 6 7 8 9 A B C D E F8 L H R Z Y X PFLAG RBANK – – – – – – – -9 AMPM – – – – – – – – – – – – – – -A – – – – – – – – – 关 键 词: SONIXC语言编程教程1
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。