c51语言变量定义各部分作用,第三章C51语言编程基础.ppt

第三章C51语言编程基础

内容概要 本章在读者已掌握标准C语言前提下,初步介绍如何使用C51来编写AT89C51单片机的应用程序。 C51是在标准C的基础上,根据单片机存储器硬件结构及内部资源,扩展了相应的数据类型和变量,而C51在语法规定、程序结构与设计方法上,都与标准C相同。 本章重点介绍C51对标准C所扩展的部分,并通过一些例程来介绍C51的程序设计思想。 单片机入门主要掌握以下知识和应用 最小系统能够运行起来的必要条件。 1.电源 2.晶振3.复位电路 对单片机任意IO口的随意操作 1.输出控制电平高低2.输入检测电平高低。 定时器:重点掌握最常用的方式2 中断:外部中断、定时器中断、串口中断 串口通信:单片机之间、单片机与计算机间 用proteus实现一个最基本的单片机电路 3.1 编程语言Keil C51简介 目前51系列单片机编程的C语言都采用Keil C51(简称C51),Keil C51是在标准C语言基础上发展起来的。 C语言是美国国家标准协会(ANSI)制定的编程语言标准,1987年ANSI公布87 ANSI C,即标准C语言。Keil C51语言是在ANSI C的基础上针对51单片机的硬件特点进行的扩展,并向51单片机上移植,经过多年努力,C51语言已经成为公认的高效、简洁而又贴近51单片机硬件的实用高级编程语言。 使用C语言的优点 C 语言具有结构化和模块化特点,便于阅读和维护。 C 语言可移植性好,很多微控制器都支持C 编译器。功能化的代码能够很方便的从一个工程移植到另一个工程,从而减少了开发时间。 提供的库函数包含许多标准子程序,具有较强的数据处理能力。 使用C语言的优点 C 语言编写的程序比汇编语言编写的程序更符合人们的思考习惯,寄存器分配,不同存储器的寻址及数据类型等细节交由编译器管理,开发者可以更专心的考虑算法,而不是考虑一些细节问题。这样可以减少编程出错的机率,从而提高开发效率,减少调试的时间。 C 语言和微控制器是相对独立的,开发者不必知道处理器的具体内部结构和处理过程。当用新型的微控制器开发程序时,可以很快上手,减少学习时间和程序开发时间。 C51与标准C的主要区别 (1)头文件的差异。51系列单片机厂家有多个,它们的差异在于内部资源如定时器、中断、I/O等数量以及功能的不同,而对使用者来说,只需要将相应的功能寄存器的头文件加载在程序内,就可实现所具有的功能。因此,Keil C51系列的头文件集中体现了各系列芯片的不同资源及功能。 C51与标准C的主要区别 (2)数据类型的不同。51系列单片机包含位操作空间和丰富的位操作指令,因此Keil C51与ANSI C相比又扩展了4种类型,以便能够灵活地进行操作。电脑CPU是32位或64位,运算能力强,内存大,大量使用float型与long int型变量,单片机一般为8位或16位,运算能力较弱,以char型为主,int型为辅 (3)数据存储类型的不同。C语言最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而51系列单片机有片内、外程序存储器,还有片内、外数据存储器。标准C并没有提供这部分存储器的地址范围的定义。此外,对于AT89S51单片机中大量的特殊功能寄存器也没有定义。 (4)标准C语言没有处理单片机中断的定义。 (5)Keil C51与标准C的库函数有较大的不同。 由于标准C的中的部分库函数不适于嵌入式处理器系统,因此被排除在Keil C51之外,如字符屏幕和图形函数。 (6)目标代码 电脑生成.exe格式,编译完成后直接在电脑上运行,单片机编译生成.bin代码文件,需要烧写到单片机中并结合外围电路执行。 (7)仿真调试 单片机的C程序在电脑上进行编译,然后需通过仿真器连接后进行仿真调试,近年来随着电路仿真软件的不断完善,也可通过proteus等软件直接在电脑上进行仿真调试。 但是从数据运算操作、程序控制语句以及函数的使用上来说,Keil C51与标准C几乎没有什么明显的差别。如果程序设计者具备了有关标准C的编程基础,只要注意Keil C51与标准C的不同之处,并熟悉AT89S51单片机的硬件结构,就能够较快地掌握Keil C51的编程。 C语言结构特点 一个C程序由一个或多个函数组成,其中必须有一个用main命名的主函数。 每个函数由头部和函数体两部分组成。 每个C语句以“;”结尾。 C程序的书写格式比较自由。 可以在程序的任何位置用/*……….*/对C程序中的任何部分作注释。 可以在行末用//追加注释。 第一个程序:单片机控制LED点亮 KEIL与PROTEUS快速入门 Keil C51是美国

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值