下载此文档

第五章 c51单片机c语言程序设计.pptx


文档分类:IT计算机 | 页数:约71页 举报非法文档有奖
1/71
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/71 下载此文档
文档列表 文档介绍
L o g o 嵌入式系统第5章C51 单片机 C语言程序设计 L o g o 本章内容: C51 语言概述 C51 数据类型和数据存储类型 C51 运算符和表达式 C51 程序结构 C51 函数 L o g o 【任务导入】基于 C51 语言的静态 LED 显示系统的实现:利用 AT89C51 单片机的 I/O 端口驱动两个八段数码管从“00”到“99”流水显示,即通电后,显示“00”, 间隔一段时间后,显示“01”,再间隔一段时间后, 显示“02”,直到“99”,然后再显示“00”,往复循环。【任务分析】要实现用两个数码管循环显示数字 00~99的功能,我们可把两个数码管的段选线分别连接到单片机的两组 I/O 口的共 16根I/O 口线上,再通过程序让单片机的两组 I/O 口分时输出 0~9对应的段码就可以了。 L o g o C51 语言概述 1、C语言和 C51 语言(1)C语言是由早期的 BCPL 语言发展而来的。 1967 年, 剑桥大学的理查兹(Martin Richards) 在对 CPL 语言进行简化的基础上设计了 BCPL(bined Pogramming Language) 语言。 1970 年,美国贝尔实验室的汤普森(Ken Thompson) 以 BCPL 语言为基础,设计出简单且接近硬件的 B语言。 1972 年,美国贝尔实验室的里奇(D. M. Ritchie) 又以 B语言为基础,最终设计出了 C的语言 1978 年, 美国电话电报公司(AT&T) 贝尔实验室正式发表了 C语言。 1983 年,美国国家标准化协会制定了一个 C语言标准通常称为 ANSI C 。 ANSI C 在被国际标准化组织 ISO 所接受后,又经过多次修正,形成了目前的 C语言标准。 L o g o (2) C51 语言用 C51 编写单片机程序时,需要根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的 C语言不需要考虑这些问题。另外, C51 包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的 C 语言也有一定的区别。其他的语法规则、程序结构及程序设计方法则与标准的 C语言相同。 C语言编译调试工具效率高,数据类型及运算符丰富,经过不断完善,能满足单片机的开发要求,形成了单片机 C语言。为了和 ANSI C 区别,把 51单片机 C语言称为 C51 语言。 L o g o (3) C51 特点●编程者不需要了解单片机的指令系统,仅要求对单片机的存储器结构有初步的了解,至于存储器的分配、寻址方式及数据类型等完全由编译器管理。●程序有规范化的结构,可以分为不同的函数,这种方式可以使程序结构化,将可变的选择与特殊操作组合在一起,增强程序的可读性。●编程和程序的调试时间显著缩短,从而提高了编程的效率, 提供的库函数包含许多标准的子程序,具有较强的数据处理能力,可以将编好的程序很容易地移植到新程序。 C51 作为一种非常方便的语言得到了广泛的支持, 目前已经成为单片机开发的主要编程语言。 L o g o 简单 C51 程序介绍【例1】如图1所示,在 口上接有一个 LED 发光二极管, 要求让发光二极管发光。图1 接有 LED 的单片机基本电路 L o g o #include <> sbit P1_0=P1^0; void main( ) { P1_0=0; while(1); } 程序如下: 程序的开始是一个文件包含处理。这段程序中包含的是 文件,, 该头文件的作用是把特殊功能寄存器中的符号和地址对应起来,这里主要是应用到 P1 这个符号, 如果没有包含 文件, C51 编译器不知道 P1 具体指什么,在编译过程中就会发生错误。给 取名为 P1_0 , 是通过编译器中增加的关键字 sbit 来定义的程序最后是主函数, 每一个 C51 程序有且只有一个主函数,函数后面使用一对大括号“{}”,在“{}”中书写具体内容。 L o g o 【例2】如图1所示,要求 口上接的 LED 发光二极管能闪烁发光。#include <> #define uchar unsigned char #define uint unsigned int sbit P1_0=P1^0; void Mdelay (uint Delay); / *被调函数申明*/ void main(void ) { for(;;) { P1_0=!P1_0; // 对 P1_0 取反 Mdelay(1000); } } void Mdelay (uint Delay) // 延时子程序,由 Delay 参

第五章 c51单片机c语言程序设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息