网站大量收购独家精品文档,联系QQ:2885784924

4.1 SPCE061A编程基础.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 SPCE061A编程基础

Sunplus SPCE061A 微控制器 SPCE061A编程基础 大纲 汇编语言程序的应用举例分析 C语言程序的应用举例分析 堆栈、函数调用参数传递 FLASH读写操作 汇编语言程序的应用举例分析 我们通过程序实现1-100累加和来学习基于SPCE061A单片机的汇编语言编制程序方法、单步调试程序方法、查看结果方法 汇编语言的程序结构 顺序结构 分支结构 循环结构 程序代码分析 μ’nSP的数制及其后缀规定 数制 后缀 二进制 B 八进制 O或Q 十进制 D或不写 十六进制 H ASCII字符串 用双引号或单引号括起 单步调试程序 查看程序结果 C语言程序的应用举例分析 程序:实现1-100累加和 程序代码分析 C语言的程序结构 顺序结构 分支结构 循环结构 看门狗 SPCE061A的清狗周期为0.75S; Watchdog计时时钟来源:4Hz时基; 清看门狗操作寄存器: P_Watchdog_Clear(0x7012H) 清狗操作: 在每个0.75S的清狗周期里P_Watchdog_Clear写入0x0001。 程序中清看门狗 汇编程序: …… R1 = 0x0001 [P_Watchdog_Clear] = R1 …… C语言: *P_Watchdog_Clear=0x0001 堆栈在函数传递方面的应用 堆栈的含义 堆栈是在内存RAM区专门开辟出来的按 照“先进后出”原则进行数据存取的一种 工作方式。 堆栈的作用 主要用于子程序调用及返回和中断处理 断点的保护及返回。 SPCE061A的堆栈 实例分析 C程序中调用汇编函数 汇编程序中调用C函数(过程) C和汇编的函数相互调用 函数调用协议 指不同的子程序代码之间形成的一种握手通讯接口,并完成一个子程序到另外一个子程序的参数传递和控制,以及定义出子程序调用与子程序返回值的规则 函数调用协议 参数传递 堆栈维护及其排列 函数返回值 寄存器数据暂存方式 C程序中调用汇编函数 堆栈的变化 C程序中调用汇编函数 观察结果 打开Memory,Watch和Rigester三个调试窗口 汇编程序中调用C函数(过程) 堆栈的变化 汇编程序中调用C函数 C程序在调用汇编函数结论 C程序在调用汇编函数时的参数传递是将参数按照从右到左的顺序依次压入堆栈,然后才将PC和SR寄存器的值压入堆栈 汇编程序调用C函数结论 汇编程序调用C函数时的参数传递也是按照从右到左的顺序需要编程者自己在汇编程序里面将参数入栈,最先入栈的参数是C函数最右边的参数,最后入栈的参数才是C函数最左边的参数 片内Flash 程序存储器 32K字的Flash被划分为128个页(每个页存储容量为256个字),它们在CPU正常运行状态下均可通过程序擦除或写入。 程序对Flash的操作主要是通过寄存器0x7555 P_Flash_Ctrl以及目标Flash的操作;这样可以对Flash进行页擦除、写入一字、写入多字的动作。 FLASH操作对寄存器的操作 程序对Flash的操作主要是通0x7555单元寄存器P_Flash_Ctrl以及目标地址Flash的操作;这样可以对Flash进行页擦除、写入一字、写入多字的动作。 对命令字的不同组合,形成对FLASH的不同操作。 FLASH操作实例 向指定单元写入多个字 凌阳科技教育推广中心竭诚为您服务 凌阳科技大学计划网站: 凌阳科技大学计划邮箱: E_mail: unsp@ 凌阳科技大学计划客服中心: Tel: 0102911 凌阳科技大学计划技术支持中心: Tel: 0102919

文档评论(0)

cbf96793 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档