飞思卡尔8位单片机MC9S08第07章 08C语言
飞思卡尔RS08内核和MC9RS08KA系列单片机

O l n I ie nI S e
在 线 座 谈 ( leS mi r 是 中 电 网 于 2 0 Onn e n ) i a 0 0年 推 出的 创 新 服 务 , 通
CEt hC。 中网 iN ne a 电
过 “ 频 演 示 +专 家 解 说 +在 线 问答”三位 一体 相 结 合 的 形式 , 分 发 视 充 挥 网络 平 台的 便 捷 性 , 现 了先 进 半 导 体 技 术 提 供 商 与 系统 设 计 工 程 实
的功 能相 同 , 同的 是它 是 1 位 的 。 可 以直 接 采 用 内部 参 考 时钟 作 为其 外 部 时 钟 作 为 时 钟源 。时 钟 源 最 大 不 4
R 0 的条 件 码 寄 存 器 则 简 化 到 了 时钟 源 。锁 频 环 的精 度 可调 。 S8 只 有 2位 ( 位 / 标 志 位 ) 而 存 进 零 。
On i e S l em i arH ghi —
WM输 出等 复 杂 的 功 能 , 没 有 专 它 在 C U的 寄 存 器 中 , 加 器 ( ) 有 3个 输 出信 号 , 中 IS T是 主 P P 累 A 其 C OU 1 但 它 就 是 最 重 要 的 寄 存 器 , 是 8位 的 , 它 与 输 出 信 号 , 经 过 二分 频 之 后 , 是 用 的 输 出 弓 脚 , 它 的 时 钟 源 可 以 f U CS T可 以采 从 外 部 输 入 。MTM 可 以 选 择 内 部 H S0 C() 8的累 加器 没 有 区 别 。R 0 MC 的 总 线 时钟 。I OU S8 的程 序计 数 器 (C) 与 H S0 P 也 C()8中 用 锁 频 环 的 输 出作 为 其 时 钟 源 ,也 总 线 时 钟 、内 部 固 定 频 率 的 时 钟 或
飞思卡尔8位单片机MC9S0813程序LCD编程C语言程序例

*参 数:无 *
*返 回:无 *
*-----------------------------------------------------*/
void LcdInit(void)
{
unsigned char i;
LcdData_D=0b11111111; //数据口为输出
Lcd_Command(0b00010100); //光标右移一个字符位,AC自动加1
Lcd_Command(0b00001100); //开显示,关光标显示,不闪烁
}
/*Lcd_Command:执行给定的cmd命令------------------------*
*功 能:执行给定的cmd命令,且延时 *
LcdCtrl&=~(1<<LcdRS); //RS、R/W=00,写指令
LcdCtrl&=~(1<<LcdRW);
Lcd_Command(0b10000000); //后7位为DDRAM地址0x00
LcdCtrl|=1<<LcdRS;//RS、R/W=10,写数据到DDRAM中
LcdCtrl&=~(1<<LcdRW);
LcdData=cmd;//把指令码送到Lcd数据传送口
LcdCtrl|=(1<<LcdE); //Lcd开始接收数据
asm("NOP");
asm("NOP");
asm("NOP");
LcdCtrl&=~(1<<LcdE); //Lcd结束接收数据
1飞思卡尔8位单片机MC9S08JM60开发板实践教程-60页word资料

第一章搭建实验环境1、实验电路板及下载器实物图片2、实验电路图本实验图包含两大部分,分别是CPU.SCH和实验资源.SCH。
CPU采用飞思卡尔8位单片机MC9S08JM60CLD,(电路图介绍)图1-3实验资源部分电路图1-4LCD串口1602液晶电路图1-5RS232接口电路图1-6数码管显示电路图1-7发光管、ad转换以及按键电路图1-83、集成开发软件环境的建立1〉运行文件CW_MCU_V6_3_SE.EXE,在电脑C盘安装飞思卡尔8位(及简化32位)单片机集成开发环境codewarrior6.3版本2〉运行USBDM_4_7_0i_Win,这个程序会在c盘的程序文件夹下增加一个目录C:\Program Files\pgo\USBDM 4.7.0,在这个目录下a>C:\Program Files\pgo\USBDM 4.7.0\FlashImages\JMxx下的文件USBDM_JMxxCLD_V4.sx是下载器的固件文件;b>C:\Program Files\pgo\USBDM4.7.0\USBDM_Drivers\Drivers下有下载器的usb驱动.因此在插入usb下载器,电脑提示发现新的usb硬件的时候,选择手动指定驱动安装位置到以上目录即可。
3〉运行USBDM_4_7_0i_Win之后,还会在目录:C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.3\prog\gdi下增加一些文件,从修改时间上来看,增加了6个文件,这些文件是为了在codewarrior集成开发环境下对usb下载器的调试、下载的支持。
4、C语言编程基础第二章 LED闪烁程序编写过程1、新建工程运行单片机集成开发环境codewarrior IDE出现如下界面●Create New Project :创建一个新项目工程●Load Example Project :加载一个示例工程●Load Previous Project :加载以前创建过的工程●Run Getting started Tutorial:运行CodeWarrior软件帮助文档●Start Using CodeWarrior:立刻使用CodeWarrior点击Create New project按钮,以创建一个新的工程,出现选择CPU的界面如下,请选择HCS08/HCS08JM Family/MC9S08JM60,在右边的Connection窗口可以选择最后一个开源下载器HCS08 Open Source BDM。
飞思卡尔HC(S)08系列单片机开发及C语言编程简介

1.CodeWarrior中建立新项目运行CodeWarrior(CW)集成开发平台,如图1-1所示在File菜单下点击New,弹出建立新项目的模板对话框,见图1-2。
一般的简便做法是在图1-2对话框左面的选择列表中选择“HC(S)08 New Project Wizard”,然后在右面的项目名“Project Name”输入条中,输入你要建立的新项目名字,再在“Location”一栏中用确定项目存放的文件夹路经,完成后按“OK”进入下一步。
你也可以在图1-2对话框左侧列表中选择“Empty Project”,这样生成的项目不包含任何文件,你必须在CodeWarrior中自己添加所有相关的文件内容。
我想除非有特殊理由,实际项目开发过程中很少采用这种麻烦的方式来建立自己的项目。
接下去是选择项目开发所用的编程语言,见图1-3。
最常用的当然是C语言编程。
有时因具体项目要求,除了C编程外还需要编写独立的汇编语言模块,那就再加选汇编工具(Assembly)。
C++编程在免费版和标准版CW下都不支持,只有在专业版下才可以使用。
编程语言选择完毕后按“Next”。
图1-1图1-2图1-3这时将出现如图1-4的对话框,让你选择项目开发对应的MCU 型号。
在CW5.x 版本下支持几乎所有的HC08和大部分HCS08单片机型号。
在最新的CW6.x 中,增加了飞思卡尔最低端的8位机(RS08系列)和低端32位处理器(Coldfire V1系列)的支持,但HC08系列的有些型号没有被包含在内。
由于HC08为比较老的产品系列,已经不推荐在新项目设计中选用,因此影响不会太大。
对于新用户来说,请尽量直接安装CW6.x 或以后推出的更新版本。
以典型的9S08系列为例,当你选择了一个MCU 型号后,在图1-4右侧会显示出所有针对该型号芯片可用的项目调试场景。
其中:∙ “Full Chip Simulator ”是芯片全功能模拟仿真,即无需任何目标系统的硬件资源,直接在你的PC 机上模拟运行单片机的程序,在模拟运行过程中可以观察调试程序的各项控制和运行流程,分析代码运行的时间,观察各种变量,等等。
飞思卡尔8位单片机—飞思卡尔8位单片机基础知识

7〉 管脚的复用
注意: 0、管脚功能复用时的优先 级见右表,高优先级接管管 脚时,对低优先级模块会产 生杂乱信号,因此切换前应 先停止不使用的功能。 1、PTA5作为只能输入管脚 而言,输入电压不能超过 VDD。 2、IIC使用的端口可以通过 设置SOPT2 寄存器中的 IICPS位重新定位到PTB6和 PTB7,复位时缺省使用 PTA2 and PTA3。 3、如果ACMP和ADC被同 时使能,管脚PTA0和PTA1 可同时使用。
管脚及其功能
6〉 管脚控制寄存器
位于高页面的管脚控制寄存器,可以独立设置每个管 脚的输出驱动强度、输出信号变化速度、输入脚的内部 上拉允许等。内部上拉的设置有些时候自动失效,比如 管脚设为输出、管脚被外设使用、管脚作为模拟电路使 用等。如果管脚被用于键盘中断KBI模块,,并设置上升 沿触发,则允许上拉时实际是配置了下拉电阻。 对输出管脚设置了输出变化速度控制后,可以减少 EMC辐射,变化速度控制对输入脚无效。 输出管脚的输出驱动强度控制,可以选择更大的驱 动电流,虽然每个输出管脚都可以设置成大电流驱动, 但总电流不能超出芯片的工作范围。同时大驱动电流对 EMC辐射也会有一定影响。
• EPROM
EPROM(Erasable Programmable ROM,可擦除可编 程ROM)芯片可重复擦除和写入,。EPROM芯片在其正 面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以 看到其内部的集成电路, 紫外线透过该孔照射内部芯片 就可以擦除其内的数据,完成芯片擦除的操作要用到 EPROM擦除器。EPROM内资料的写入要用专用的编程 器,并且往芯片中写 内容时必须要加一定的编程电压( VPP=12—24V,随不同的芯片型号而定)。EPROM的型 号是以27开头的,如27C020(8*256K)是一片 2M Bits容 量的EPROM芯片。EPROM芯片在写入资料后,还要以 不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线 照射而使资料受损
飞思卡尔8位单片机MC9S08JM60开发板实践教程

第一章搭建实验环境系统时钟设置#include "App\Include\App.h"#ifndef _MCG_C#define _MCG_C//oscillator 12MHZ 倍频为24MHZ()先8分频后16倍频void S_MCGInit(void){/* the MCG is default set to FEI mode, it should be change to FBE mode*//************************************************************************** ***********MCGC2[7:6] BDIV总线频率分频因子–选择由MCGC1寄存器中CLKS位决定的时钟源的分频。
这控制总线频率。
00 编码0 –时钟1分频01 编码1 –时钟2分频(复位后默认)10 编码2 –时钟4分频11 编码3 –时钟8分频[5] RANGE频率范围选择–选择外部振荡器或者外部时钟源的频率范围。
1 选择1MHz到16MHz外部振荡器的频率范围。
(1MHz到40MHz的外部时钟电源)的高频率范围0 选择32kHz到100kHz外部振荡器的频率范围。
(32kHz到1MHz的外部时钟电源)的低频率范围[4] HGO高增益振荡器选择–控制外部振荡器操作模式。
1 配置外部振荡器为高增益运行0 配置外部振荡器为低功耗运行[3] LP低功耗选择–控制在忽略模式中FLL(或者PLL)是否为无效1 FLL(或PLL)在忽略模式(低功耗)中为无效的。
0 FLL(或PLL)在忽略模式中为无效的。
[2] EREFS外部参考时钟选择–为外部参考选择时钟源1 选择振荡器0 选择外部时钟源[1] ERCLKEN外部参考时钟使能–使能外部参考时钟作为MCGERCLK1 MCGERCLK激活0 MCGERCLK 无效[0] EREFSTEN外部参考时钟停止使能MCGC2 0b0011 0110 激发外部时钟(晶振)(没有使能)*************************************************************************** ***********/MCGC2=MCGC2_RANGE_MASK|MCGC2_HGO_MASK|MCGC2_EREFS_MASK|MCGC2_ERCLK EN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。
飞思卡尔8位单片机-第7章 定时器和比较器模块

二、TPM中的寄存器
(三)TPM模寄存器(TPMMODH:TPMMODL)
TPMMOD高位 TPMMODH
TPMMOD低位 TPMMODL
两个可读/写8位寄存器,定义计数器的最大值 加法计数器(CPWMS=0),当计数器计数到与模寄存 器数值相等时,TPMCNT翻转至0x0000 加/减计数器(CPWMS = 1),当计数器计数到与模寄存器 数值相等时,计数器开始递减。
表7-5 模式、沿和电平选择
CPWMS MSnB: MSnA ELSnB: ELSnA
模式
功能
x 0
xx 00
00 01 10 11 00 01 10 11 10 x1
通道未使用外部管脚,可能是管脚作为TPM的外部时钟 输入或者是将管脚作为通用I/O使用。 输入捕捉 仅上升沿捕捉 仅下降沿捕捉 上升沿或下降沿都捕捉 仅软件比较,无管脚输出 比较匹配时,外部管脚翻转 比较匹配时,外部管脚清0 比较匹配时,外部管脚置1 脉宽有效期间高电平(比较匹配时, 外部管脚清0) 脉宽有效期间低电平(比较匹配时, 外部管脚置1) 脉宽有效期间高电平(比较匹配时, 外部管脚清0) 脉宽有效期间低电平(比较匹配时, 外部管脚置1)
触发:外部引脚发生有效电平跳变
响应: CHnF=1 , 主计数器TPMCNT值→通道辅助寄存器TPMCnV
三、TPM模块的功能模式
(二)输出比较
功能:从外部引脚输出可编程脉冲
模式设定方式:
CPWMS 0 MSnB: MSnA 01 ELSnB: ELSnA 00 01 10 11 模式 输出比较 功能描述 仅软件比较,无管脚输出 比较匹配时,外部管脚翻转 比较匹配时,外部管脚清0 比较匹配时,外部管脚置1
(整理)飞思卡尔8位单片机MC9S08JM60开发板实践教程

第一章搭建实验环境系统时钟设置#include "App\Include\App.h"#ifndef _MCG_C#define _MCG_C//oscillator 12MHZ 倍频为24MHZ()先8分频后16倍频void S_MCGInit(void){/* the MCG is default set to FEI mode, it should be change to FBE mode*//************************************************************************** ***********MCGC2[7:6] BDIV总线频率分频因子–选择由MCGC1寄存器中CLKS位决定的时钟源的分频。
这控制总线频率。
00 编码0 –时钟1分频01 编码1 –时钟2分频(复位后默认)10 编码2 –时钟4分频11 编码3 –时钟8分频[5] RANGE频率范围选择–选择外部振荡器或者外部时钟源的频率范围。
1 选择1MHz到16MHz外部振荡器的频率范围。
(1MHz到40MHz的外部时钟电源)的高频率范围0 选择32kHz到100kHz外部振荡器的频率范围。
(32kHz到1MHz的外部时钟电源)的低频率范围[4] HGO高增益振荡器选择–控制外部振荡器操作模式。
1 配置外部振荡器为高增益运行0 配置外部振荡器为低功耗运行[3] LP低功耗选择–控制在忽略模式中FLL(或者PLL)是否为无效1 FLL(或PLL)在忽略模式(低功耗)中为无效的。
0 FLL(或PLL)在忽略模式中为无效的。
[2] EREFS外部参考时钟选择–为外部参考选择时钟源1 选择振荡器0 选择外部时钟源[1] ERCLKEN外部参考时钟使能–使能外部参考时钟作为MCGERCLK1 MCGERCLK激活0 MCGERCLK 无效[0] EREFSTEN外部参考时钟停止使能MCGC2 0b0011 0110 激发外部时钟(晶振)(没有使能)*************************************************************************** ***********/MCGC2=MCGC2_RANGE_MASK|MCGC2_HGO_MASK|MCGC2_EREFS_MASK|MCGC2_ERCLK EN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)编译程序
返回
7.4 08C语言程序编程框架
7.5 08C语言的编译过程
7.5.1 编译过程
在SD-HC08在线编程开发系统中编辑了源程序以后,使用编译命令就可 以把源程序翻译成目标程序。 ① 编译的脚本文件:包含了编译指令及相关的参数,文件存放的位置 在.prj的同一文件夹下。 ② C程序向汇编程序的转化:启动08C编译器,根据.mak文件的编译脚 本将所有.c文件编译成.s文件及.lis文件。 ③ 汇编代码向机器码的转化:汇编程序将所有的汇编文件编译成.o的中 间目标文件,即所有的汇编语句都编译成机器码。 ④ 连接:启动连接器,连接器根据.mak文件中的连接脚本,把所有的.o 文件统一连接成一个.s19文件,该文件可以下载到目标机器上执行,同时还 可根据用户需求生成.lst文件和.mp文件。
(2)I/O与寄存器的操作
使用上面定义的I/O口或寄存器宏,可以方便对I/O置高低电平或读取I/O 的状态,读写寄存器。
7.3 08C语言的使用
7.3.2 使用汇编指令
在08C语言中,使用汇编代码有两种方法:
(1)asm(“汇编指令”) (2)定义汇编子程序
定义格式如下:_子程序名 代码 … rts
7.1 单片机的C语言编程概述
7.1.2 单片机C语言
单片机C语言和标准C语言的用法基本相同,但是 单片机C语言是针对于资源少的MCU,它的编程方法 和编程手段与PC机上使用C语言还是有很大差别。
7.1 单片机的C语言编程概述
返回
7.2 标准C语言的基本语法
7.2.1 数据类型
(1)基本类型
表7-1 C语言基本数据类型 数据类型
7.2 标准C语言的基本语法
7.2.1 数据类型
(2)构造类型
构造类型有数组、结构、联合、枚举、指针和空类型。结构 和联合是基本数据类型的组合。枚举是一个被命名为整型常量的 集合。空类型字节长度为0,主要有两个用途:一是明确地表示 一个函数不返回任何值;二是产生一个同一类型指针(可根据需 要动态地分配给其内存)。
语句1 语句2 …… 语句N
7.2 标准C语言的基本语法
7.2.3 流程控制
(2)选择结构
① if结构(双分支): if (条件表达式) 或 if (条件表达式) { 语句块 } else { 语句块 } 语句项;
真 语句1 if 条件表达式 假 语句1
7.2 标准C语言的基本语法
7.2.3 流程控制
第七章 08C语言
主要内容
单片机的C语言编程概述 标准C语言的基本语法 08C语言的使用 08C语言程序编程框架 08C语言的编译过程 08C编程技巧
7.1 单片机的C语言编程概述
7.1.1 单片机编程语言
汇编语言
优点:执行效率高,时序控制精确
C语言
优点:① 程序开发速度快,提高开发工作效率; ② 软件调试直观; ③ 可维护性好; ④ 可移植性好(与汇编语言相比较)。
7.3 08C语言的使用
返回
7.4 08C语言程序编程框架
7.4.1 实践环境
SD-HC08在线编程开发系统中的C语言编程是按工程进行管 理,一个08C工程所包含的文件最好放在同一文件夹下,一般 由.prj、.src、.h、.c等类型文件构成,编译后还将产生.lst、.s19 等文件。编译过程还会产生一些中间文件,可以不去理会这些文 件。
7.2 标准C语言的基本语法
7.2.2 运算符
C语言的运算符与大多数计算机语言基本相同,分为:
算术运算符 逻辑运算符 关系运算符和位运算符 增量和减量运算符 复合赋值运算符 指针和地址运算符 输出格式转换符
7.2 标准C语言的基本语法
7.2.3 流程控制
(1)顺序结构
顺序结构就是从前向后依次执 行语句。从整体上看,所有程序的 基本结构都是顺序结构,中间的某 个过程可以是选择结构或循环结构。
7.3 08C语言的使用
7.3.2 使用汇编指令
这种使用方法要注意以下几点: ① 在子程序名前加‘_’; ② 汇编子程序只能放在*.s文件中,然后将该文件加入到工程中; ③ 在C代码中调用汇编子程序时可直接调用: 子程序名(); ④ 汇编子程序的编写时,如果使用了A或HX,则需要保护寄存器A或 HX。因为08C的编译器把A和HX封装在下层,不需要用户管理,如果汇 编子程序没有保存这些寄存器,在返回时将造成不可预测的后果。
位数
8 8 16 16 16 32 32 32 64
字节数
1 1 2 2 2 4 4 4 8
值域
-128~+127 0~255 -32768~+32767 -32768~+32767 0~65535 -2147483648~+2147483647 0~4294967295 3.4E-38~3.4E+38 1.7E-308~1.7E+308
(3)结构体指针
结构体指针是指向结构体的指针。结构体指针对结构体成员的访问表 示为: 结构体指针名->结构体成员
7.2 标准C语言的基本语法
7.2.7 编译预处理
(1)宏定义
#define 宏名 表达式
(2)条件编译
#if 表达式 #else 表达式 #endif
(3)“文件包含”处理
“文件包含”是指一个源文件将另一个源文件的全部内容包含进来, 其一般形式为: #include “文件名”
7.2.3 流程控制
for
(3)循环结构
① for循环 : for(表达式1;表达式2;表达式3) {语句}
求解表达式1 表达式2 真 语句 求解表达式3 假
For语句的下一个语句
7.2 标准C语言的基本语法
7.2.3 流程控制
(3)循环结构
② while循环 : while (表达式) {语句}
signed char unsigned char signed short signed int unsigned int signed long unsigned long float double
简明含义
有符号字节型 无符号字节型 有符号短整型 有符号短整型 无符号短整型 有符号长整型 无符号长整型 浮点型 双精度型
7.2 标准C语言的基本语法
7.2.8 用typedef定义类型
typedef用来定义新的类型名来代替已有的类型名: typedef 类型名 新的类型名; 说明: ① 用typedef可以定义各种类型名,但不能用来定义变量。 ② 用typedef只是对已经存在的类型增加一个类型名,而没有 创造新的类型。 ③ 当不同源文件中用到各种类型数据(尤其是像数组、指针、 结构体、共用体等较复杂数据类型)时,常用typedef定义一些数据 类型,并把它们单独存放在一个文件中,而后在需要用到它们的文 件中用#include命令把它们包含进来。
7.3 08C语言的使用
7.3.4 08C的常用库函数
08C提供一系列函数库供程序员使用,其中囊括了标准C所具 有的大部分库函数和一些08C特有的函数,但是08C中的有些函 数和标准C中的函数的功能不一样。这些函数的头文件位于安装 目录的include目录下,库文件位于安装目录的lib目录下。更多 的函数库说明参见附录F。
7.5 08C语言的编译过程说明返回7.6 08C编程技巧
7.6.1 数据类型的选用
单片机C要和程序存储器资源结合起来,虽然其提供的数据类型 十分丰富,但是只有bit和char等数据类型是机器语言直接支持的数 据类型,用此类数据类型的语句所生成的代码较短;而其它的数据类 型如整型、浮点型等数据要有一定的内部程序或内部函数的支持,相 对来说用该类数据类型的语句生成的代码要长。有些C语言程序表面 上看起来十分的简单,但在实际编译时,生成的代码却相当长。因此 我们要按照实际需要,尽量选用占用存储空间少的数据类型,可以大 大的减少所生成的代码长度。
7.2 标准C语言的基本语法
返回
7.3 08C语言的使用
7.3.1 寄存器和I/O口的使用
使用08C语言,大部分寄存器都可以直接操作,但对寄存器A、HX、 CCR和SP的操作只能通过嵌入汇编代码来完成。
(1)I/O口和寄存器的定义
在08C语言中操作寄存器及I/O口时,通常预先在头文件中使用宏定义, 其定义方法如下: #define 寄存器名 *(volatile unsigned char *)寄存器地址 #define I/O口名 *(volatile unsigned char *)I/O口地址
7.2 标准C语言的基本语法
7.2.6 结构体
(1)结构体的说明和结构体变量的定义
①struct 结构体名 {成员列表}; ②struct 结构体名 {成员列表} 结构体变量;
(2)结构体变量的使用
结构体变量也可以象其它类型的变量一样赋值运算,不同的是结构体 变量以成员作为基本变量。结构体成员的表示方式为: 结构体变量.成员名
7.2 标准C语言的基本语法
7.2.5 指针
(1)指针变量的定义
类型说明符 *变量名;
(2)指针变量的赋值
指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具 体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。 指针变量的赋值只能赋予地址。
(3)指针的运算
• 取地址运算(&) • 取内容运算 (*) • 加减算术运算 :针对指针数组变量进行
汇编语言的启动文件 存储器映像及I/O端口的头文件 主程序模块 中断服务程序模块 中断向量表文件
7.4 08C语言程序编程框架
7.4.3 第一个08C语言例程
编写第一个可执行的08C语言程序:
(1)新建文件