- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章单片机的C51语言 4.1 C51的程序结构 4.2 C51的数据结构 4.3 C51与汇编语言的混合编程 第4章单片机的C51语言 C51语言编程可胜任单片机的基本测量与控制任务。 对于某些特殊的I/O 接口处理、中断处理、强调程序执行速度等场合,仍希望采用汇编程序。 C51 编译器提供了与汇编语言程序的接口规则,可方便地实现C51 与汇编语言程序的相互调用。 本节仅讨论在C51中调用汇编函数和在C51中嵌入汇编代码两种方法。 概要 第4章单片机的C51语言 1. 在C51中调用汇编程序 1)程序的寻址,main.c中调用的max函数,如何与汇编文件中的相应代码对应起来; 2)参数传递,main.c中传递给max()函数的参数a和b,存放在何处可使汇编程序能够获取到它们的值; 3)返回值传递,汇编语言计算得到的结果,存放在何处可使C语言程序能够获取到。 C51程序中调用汇编语言,需要解决三个问题: 1)程序的寻址问题 第4章单片机的C51语言 通过在汇编文件中定义同名的“函数”来实现。 第4章单片机的C51语言 举例:P1口延迟闪烁。 Test1.c Test2.asm 2. C51中嵌入汇编代码 程序中需要用到一些简短的汇编指令时,可以通过语句 “# pragma”嵌入汇编代码的办法实现。 第4章单片机的C51语言 说明: 汇编代码必须放在两条预处理命令 #pragma asm和#pragma endasm之间,预处理命令必须用小写字母,汇编代码则大小写不限。 本实例可实现用汇编语句进行累加器A循环加1和将累加结果传递给C51变量的功能。 实例: 第4章单片机的C51语言 嵌入汇编代码时需要对编译器Keil进行一定设置,右键点击该.c源文件进行设置。 实例 键控流水灯 第4章单片机的C51语言 【要求】 K1为“启动键”,首次按压K1可产生“自下向上” 的流水灯运动; K2 为“停止键”,按压K2可终止流水灯的运动; K3和K4为“方向键”,分别产生 “自上向下”和 “自下向上” 运动。 第4章单片机的C51语言 思路分析:设立状态标志变量→根据键值修改标志值→根据标志值控制灯的亮灭 总体关系流程图 第4章单片机的C51语言 按键状态值: 无按键—— xxxx 1111B 按压K1——xxxx 1110B 按压K2——xxxx 1101B 按压K3——xxxx 1011B 按压K4——xxxx 0111B 按键动作判断——(P0 0x0f)是否等于 0x0f?若是,说明无按键动作,反之则有按键动作。 → 0x0f → 0x0e → 0x0d → 0x0b → 0x07 获取按键状态 第4章单片机的C51语言 修改方向和启停标志值 第4章单片机的C51语言 P2口亮灯编码: xxxx 1110 xxxx 1101 xxxx 1011 xxxx 0111 D1~D4循环方向控制 char led [ ] = {0xfe,0xfd,0xfb,0xf7}; for (i=0; i=3; i++){ P2 = led [i]; } //↓移动 for (i=3; i=0; i-- ) { P2 = led [i]; } //↑移动 查 表 方法 第4章单片机的C51语言 else 第4章单片机的C51语言 实例2原理图与程序界面图 本章小结 C51变量定义必须考虑单片机的多空间存储结构。其一般定义格式为:【存储种类】数据类型【存储类型】变量名。 在Keil下进行C51编程的基本步骤是:建立工程→输入源程序→添加源程序→【工程设置】→编译源程序→【动态调试 】→ 运行。 单片机I/O口基本编程应用包括按键(或开关)状态检测、发光二极管输出控制、数码管动态显示以及行列式键盘扫描编程等内容。 第4章单片机的C51语言 第4章 单片机的C51语言 4.1 C51的程序结构 4.2 C51的数据结构 4.3 C51与汇编语言的混合编程 第4章单片机的C51语言 4.1 C51的程序结构 4.2 C51的数据结构 4.3 C51与汇编语言的混合编程 第4章单片机的C51语言 51汇编语言能直接操作单片机的系统硬件,指令执行速度快。但其程序可读性差,且编写、移植困难。 C51是为51系列单片机设计的一种C语言,其特点: 结构化语言,代码紧凑——效率可与汇编语言媲美 接近真实语言,程序可读性强——易于调试、维护 库函数丰富,编程工作量小——产品开发周期短 机器级控制能力,功能很强——适合于嵌入式系统开发 与汇编指令无关,易于掌握——在单片机基础上上手快 C51语言已成为51系列单片机程序开发的主流软件方法。 用C语言编写
您可能关注的文档
- 第三讲《诗经》研读之农事诗分解.ppt
- 第4章_汇编语言程序设计分解.ppt
- 第4章_会计确认与会计计量qq分解.ppt
- 第三讲protel绘制实例分解.ppt
- 第三讲辩证唯物主义自然观分解.ppt
- 第4章_模拟信号的数字传输分解.ppt
- 第三讲城市生态环境问题4章分解.ppt
- 第4章_实际光路的计算和像差分解.ppt
- 互联网改造传统行业——窝里快购综述.ppt
- 第三讲单片机开发软件快速入门分解.ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
最近下载
- 萝卜回来了:小班语言课(课堂PPT).pptx
- 钢结构厂房施工方案技术标.pdf VIP
- 2024八年级英语下册 Unit 9 Have you ever been to a museum说课稿(新版)人教新目标版.docx
- 太峪隧道斜井交叉口挤压变形段涌水处理技术.pdf VIP
- 《儿童腺样体肥大中医诊疗指南》.pdf VIP
- 钢结构厂房冬季施工方案.docx VIP
- 麦积山隧道2#斜井涌水处理及反坡排水方案浅谈.pdf VIP
- 狼和鸭子儿童故事PPT课件.ppt VIP
- 国际版抖音TikTok短视频直播电商培训教程(一)Tiktok下载与注册.pptx
- 战争与和平——美术作品反映战争 课件-2023-2024学年高中美术湘美版(2019)美术鉴赏.pptx VIP
文档评论(0)