- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《单片机和嵌入式系统》C语言编程
C 语言编程 清华大学电子工程系 2005年4月 C 语言编程 特点:相对于汇编程序来讲 结构化语言 自动管理变量,支持复杂数据类型 可读性与移植性好 具有丰富的库函数 执行时间稍长 趋势:使用C语言与汇编语言混合编程来开发单片机应用程序 C 程序若干问题—— (1) 内存的分配 M30624FGFP的内存分RAM与ROM两个区。 每个区定义了若干个SECTION。 RAM - DATA - data bss stack heap ROM - CODE - program ROMDATA - rom vector fvector M30624FGFP 的内存配置 NC编译器对Section的处理 Section的属性 C程序中所有的section列表 C 程序若干问题—— (2) C程序结构 可能包括多个asm文件, C文件 Startup文件 sect30.inc ncrt0.a30 汇编源文件 C源文件 如何安排project的结构? Startup文件 sect30.inc文件 …… ; fixed vector section .org 0fffdcH …… …… NMI: .lword dummy_int RESET: .lword start .end Startup文件 ncrt0.a30文件 …… .glb start .section interrupt start: ;------------------------------------------------------------------- ; after reset,this program will start ;------------------------------------------------------------------- ldc #istack_top, isp ;set istack pointer …… 初始化程序的更改 注释掉不存在的段 最重要的三个段的位置设定 .section data_SE, DATA .org 400H .section rom_FE, ROMDATA .org 0C0000H .section vector, ROMDATA .org VECTOR_ADR VECTOR_ADR .equ 0FA000H 其他的段就交给编译器来处理 例子:一个Section分配的结果 C 程序启动过程 ncrt0.a30 设定单片机工作模式 RAM 清0 变量初值设定 堆初始化 调用全局init子程序 调用全局main子程序 exit循环 Project 层次框架 一个 project 的层次图 C 程序若干问题—— (3) 特殊的操作 SFR寄存器的操作 ? 方法1: 使用 # pragma ADDRESS # pragma ADDRESS TA0 0386h # pragma ADDRESS port4 03e8h …… 建议将所有SFR地址声明放在一个文件里 # include “mcu16c62.h” 定义类型(根据其所占的内存大小) char TA0MR, TA0IC, TABSR; unsigned int TA0; 一个访问端口的例子 使用指针访问绝对地址 ? 方法2:直接定义指针,并对该指针赋初值 char ?ptr; ptr = (char ?) 0x03e8; ?ptr = 0xef; 后两句也可合成一句 ? (char ?) 0x03e8 = 0xef; 或使用宏定义 #define port (? (char ?)0x03e8 ) port = 0xef;
您可能关注的文档
- 2015年一级建造师考试《建筑工程》真题和解答(名师版).doc
- 2015年市政真题和解答.doc
- 2015年广西三类人员B证网络学习试卷和解答(123分).doc
- 2015年专技人员公需科目培训(中、高级)考试和解答.doc
- 2015年市政一级建造师真题和解析.doc
- 2015年度一级建造师建筑工程管理和实务背诵点汇总(建筑重点班男爵提供).doc
- 2015年度会计网络继续教育试卷和解答.doc
- 2015年度会计人员继续教育课堂试卷汇总.docx
- 2015年广西三类人员B证网络学习试卷和解答(126分).doc
- 2015年春季奥鹏财务报表分析离线作业解答.doc
- 中国国家标准 GB/T 45205-2024经营者公平竞争合规管理规范.pdf
- 《GB/T 45205-2024经营者公平竞争合规管理规范》.pdf
- 中国国家标准 GB/T 20032-2024项目风险管理 应用指南.pdf
- GB/T 20032-2024项目风险管理 应用指南.pdf
- 中国国家标准 GB/T 14124-2024机械振动与冲击 固定建筑结构的振动 振动测量及对结构影响评价的指南.pdf
- 《GB/T 14124-2024机械振动与冲击 固定建筑结构的振动 振动测量及对结构影响评价的指南》.pdf
- GB/T 14124-2024机械振动与冲击 固定建筑结构的振动 振动测量及对结构影响评价的指南.pdf
- 《GB/T 20032-2024项目风险管理 应用指南》.pdf
- 中国国家标准 GB/T 25367-2024柴油机电控共轨系统 喷油器总成.pdf
- 《GB/T 25367-2024柴油机电控共轨系统 喷油器总成》.pdf
最近下载
- 2025杭州钱塘新区建设投资集团有限公第一次招聘9人笔试备考题库及答案解析.docx
- 2025年山东城市服务职业学院单招职业倾向性测试题库及答案(夺冠系列).docx VIP
- 统编版三年级语文下册第一单元单元整体 教学设计.docx VIP
- 耳鼻喉科病例讨论(共15张课件).pptx VIP
- 2025年山东城市服务职业学院单招职业倾向性测试题库一套.docx VIP
- 《教育强国建设规划纲要(2024—2035年)》解读讲座.pptx
- 捷捷微电:首次公开发行股票并在创业板上市招股说明书.docx
- 第一节经皮穿刺术.ppt
- 课件:十五种病症保健按摩课件.ppt
- 2025年山东城市服务职业学院单招职业技能测试题库ab卷.docx VIP
文档评论(0)