- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.2单一功能模块程序编写的基本过程
Sunplus SPCE061A 微控制器 单一功能模块程序编写的基本过程 讲解目的 了解SPCE061A单一模块编程的方法。 对单一模块编程进行归类,提高学习效率。 巩固一些基础知识,为后面的中断编程和系统编程打好基础。 SPCE061A包含的可编程功能模块 SPCE061A包含的可编程功能模块 按类寻找编程共性 从上面两页可以看到,SPCE061A的功能模块除中断模块外基本可以分为四大类,这四大类在编程时的程序结构基本类似,我们只要掌握了一个模块的编程,别的模块就可很快掌握。 把中断列出是因为这个模块的编程有别于另外的模块。 共性一:程序结构 每个单一模块的编程,基本的程序结构是: 1、初始状态的设置。 2、主循环中检测状态和进行分析,并执行结果。 3、清看门狗。 各功能模块C语言程序基本模板 共性三:主循环里的数据/控制寄存器查询与处理 在主循环里主要查询状态,分析状态和对不同状态进行不同的动作和反应,这就是一个智能系统实现的基本过程。 关于烟雾探测报警系统 为了更形象的说明各模块编程的过程这边结合烟雾探测报警系统来进行分析。 分析系统中所需模块 1、烟雾的检测-》I/O模块 2、报警-》D/A模块 3、数据传输-》UART模块 确定各模块工作的一般工作状态 数据传输-》UART模块-》初始化 由于要把检测的讯号传到控制中心,就需要设定通讯模块的传输速率之类,主要就Command、BaudScalar控制寄存器设置,关于如何设定可通过资料查到(这个我们没有记的必要)。 如何查询并处理结果 各模块初始化以后将按照设定的工作状态来进行工作,此时进入主循环,在主循环里首先查询I/O状态,判断确定有烟雾就进行报警和送讯息到控制中心,这里多数处理的是数据寄存器和状态标志位。 总结 从上面的分析可以看到各功能模块操作的过程基本差不多,都是先通过控制寄存器设定工作状态,再查询状态和进行处理。 功能模块学习资源与方法 在下面的讲座中将就I/O模块和UART模块进行详细讲解,在学的过程中对照上面讲的内容进行分析和理解,别的模块使用大同小异,可通过自学完成。 其他模块的程序在IDE安装目录里,在学习中可参考。 :\Program Files\Sunplus\unSPIDE1.8.4\Example\BaseExa 凌阳科技大学计划网站: 凌阳科技大学计划邮箱: E_mail: unsp@ 凌阳科技大学计划客服中心: Tel: 0102911 凌阳科技大学计划技术支持中心: Tel: 0102919 从硬件到编程 现在芯片都在追随SOC设计的潮流,把各功能模块设计到一个芯片上,实现一个系统。SPCE061A正是这样的一颗芯片,硬件从结构上可划分为各功能模块,要彻底掌握SPCE061A的使用方法,首先要对各功能模块有清楚的认识,这决定了对它们的熟悉必需从对各功能模块的编程开始。 内核 UART SIO 定时器/记数器 系统时钟 A/D I/O D/A PWM LVD/LVR Flash操作 看门狗 内核 与外界交互模块 通讯模块 时钟相关模块 其它模块 中断模块 初始化 模块的状态查询 模块的状态处理 清看门狗 各功能模块汇编程序基本模板 .define xxx xxxx .public _main; _main: … 〔xxx〕=Rx … Loop: … … Jmp loop #define xxx (volatile unsigned int *)xxxx Main() { … *xxx =xx; … While(1) { … } } 共性二:初始化里的控制寄存器设置 每个单一模块的编程,基本的程序结构是: 1、初始状态的设置。 2、主循环中检测状态和进行分析。 3、清看门狗。 确定各模块工作的一般工作状态 报警-》D/A模块-》初始化 由于要检测到烟雾只要进行简单报警,D/A可设为直接锁存自动转换,主要就D/A控制寄存器Ctrl的设置,关于如何设定可通过资料查到(这个我们没有记的必要)。 凌阳科技教育推广中心竭诚为您服务 Page *
您可能关注的文档
最近下载
- 低空经济行业专题系列二:eVTOL动力系统的市场空间、技术趋势和产业链机遇-国信证券.pptx VIP
- 化妆品105条考试试题.docx VIP
- 矛盾化解与行为习惯养成主题班会课件.pptx VIP
- 人教版(2024)新教材小学二年级美术上册第三单元《第3课 玩具的巧思》精品课件.pptx
- 最新人教版初中物理教材目录.docx VIP
- 机械加工生产操作岗位培训试卷.pdf VIP
- 2025至2031年中国实木砧板行业投资前景及策略咨询研究报告.docx
- 《微信营销与运营》5套期末考试卷AB卷带答案习题试卷模拟卷.docx VIP
- 大学生职业生涯规划.pdf VIP
- 5年级下册期末练习卷.docx VIP
原创力文档


文档评论(0)