单片机的C语言程序设计.PPT

上传人:国*** 文档编号:855596 上传时间:2018-11-03 格式:PPT 页数:79 大小:713.50KB
下载 相关 举报
单片机的C语言程序设计.PPT_第1页
第1页 / 共79页
单片机的C语言程序设计.PPT_第2页
第2页 / 共79页
单片机的C语言程序设计.PPT_第3页
第3页 / 共79页
单片机的C语言程序设计.PPT_第4页
第4页 / 共79页
单片机的C语言程序设计.PPT_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、 第 5章 单片机的 C语言程序设计 1 C语言与 MCS-512 C51数据类型及在 MCS-51中的存储方式 3 C51数据的存储类型与 MCS-51存储结构4 MCS-51特殊功能寄存器 (SFR)的 C51定义5 MCS-51并行接口的 C51定义6 位变量的 C51定义7 C51构造数据类型 8 模块化程序开发过程采用 C51的优点编译器能自动完成变量的存储单元的分配,编程者可以专注于应用软件的设计,可以对常用的接口芯片编制通用的驱动函数,对常用的功能模块和算法编制相应的函数,可以方便地进行信号处理算法和程序的移植,从而加快单片机应用系统的开发速度。当代码长度超过 4KB以上时, C

2、51比汇编语言更具有明显的优势。 C-51与 ASM-51相比,有如下优点:1. 对单片机的指令系统不要求了解,仅要求对 8051 的存贮器结构有初步了解;2. 寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3. 程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4. 具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;5. 提供的库包含许多标准子程序,具有较强的数据处理能力;6. 由于具有方便的模块化编程技术,使已编好程序可容易地移植;例:清零程序 (将 2000H 20FFH的内容清零 ) 汇编语言程序ORG 0000HSE01: MOV R0,#00H

3、 MOV DPTR,#2000H ;(0000H)送 DPTRLOO1: CLR AMOVX DPTR,A ;0送 (DPTR)INC DPTR ;DPTR+1INC R0 ;字节数加 1CJNE R0,#00H,LOO1 ;不到 FF个字节再清LOOP: SJMP LOOPEND清零程序 (将 2000H 20FFH的内容清零 ) C 51程序#include void main( ) int i;unsigned char xdata *p=0x2000;/* 指针指向 2000H单元 */for(i=0;ivoid main ( ) unsigned char xdata *p=0x20

4、00;/*指针 p指向 2000H单元 */int n=0,i;for(i=0;i16;i+) if(*p= =0) n+; /* 若该单元内容为零,则 n+1 */p+; /* 指针指向下一单元 */p=0x2100; /* 指针 p指向 2100H单元 */*p=n; /* 把个数放在 2100H单元中 */1 C语言与 MCS51 用汇编语言编程时,必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器正确、合理的使用以及按实际地址处理端口数据。用 C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。用 C语言编写单片机程序与标准 C语言程序的不同之处 就在于根据单片机存储结构及内部资源定义相应的 C语言中的数据类型和变量。 用 C语言编写的应用程序必须经单片机的 C语言编译器 (简称 C51),转换生成单片机可执行的代码程序。现在支持MCS51 系列单片机的 C语言编译器有很多种。如 American Automation、 Auocet、 BSO/TASKING、 DUNFIELD SHAREWARE、 KEIL/Franklin等。其中 KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器。本章是针对这种编译器介绍 MCS51 单片机 C语言程序设计。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。