单片机课件:第4章 单片机C程序设计

上传人:hs****ma 文档编号:568836616 上传时间:2024-07-27 格式:PPT 页数:15 大小:182.50KB
返回 下载 相关 举报
单片机课件:第4章 单片机C程序设计_第1页
第1页 / 共15页
单片机课件:第4章 单片机C程序设计_第2页
第2页 / 共15页
单片机课件:第4章 单片机C程序设计_第3页
第3页 / 共15页
单片机课件:第4章 单片机C程序设计_第4页
第4页 / 共15页
单片机课件:第4章 单片机C程序设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《单片机课件:第4章 单片机C程序设计》由会员分享,可在线阅读,更多相关《单片机课件:第4章 单片机C程序设计(15页珍藏版)》请在金锄头文库上搜索。

1、第第4章章 C51程序设计程序设计2本章内容本章内容4.1 C51 特点特点4.2 C51数据类型数据类型4.3 C51变量与存储类型变量与存储类型4.4 C51绝对地址绝对地址4.5 C51重要函数重要函数4.6 C51基本运算符基本运算符34.1 C51特点特点1. C51的函数的函数printf为串行输出,函数为串行输出,函数scanf为串行输入。为串行输入。2. C51扩展了扩展了位数据类型位数据类型。3. C51数据对象含有数据对象含有存储类型存储类型,即数据可能,即数据可能在片内在片内RAM、片外、片外RAM、ROM中。中。4. C51中扩充了中扩充了SFR。5. C51中有特殊的

2、中有特殊的中断程序中断程序。CONTENT4.2 C51数据类型数据类型除了标准除了标准C的的char、int、long、float等等数据类型数据类型之之外,外,C51扩展了以下几种扩展了以下几种:bit-位数据类型位数据类型sbit-SFR中的可寻址位中的可寻址位sfr-8位位SFRsfr16-16位位SFR4.3 C51的变量定义与存储类型的变量定义与存储类型C51数据对象定义格式:数据对象定义格式:数据类型数据类型 存储类型存储类型 变量名(初值)变量名(初值)char data x=12;int xdata x=1122;float data x=124.75;其中其中char,in

3、t是数据类型,是数据类型,data,xdata是是存储类型存储类型4.3 C51变量与存储类型变量与存储类型-常用存储类型常用存储类型data:内部低:内部低128字节字节RAM区区bdata:16字节可位寻址字节可位寻址RAM区区idata:内部高:内部高128字节字节RAM,仅限,仅限89S52pdata:外部:外部RAM低低256字节字节xdata:外部:外部RAM 64K字节字节code:ROM4.3 C51变量与存储类型变量与存储类型-存储模式存储模式如果不指定存储器类型,编译器根据存储模如果不指定存储器类型,编译器根据存储模式,给对象指定存储类型式,给对象指定存储类型small:变

4、量在片内:变量在片内RAM中中,即,即datacompact:变量在片外:变量在片外RAM的低的低256字节中字节中,即即pdatalarge:变量在片外:变量在片外RAM中中,即,即xdata4.3 C51变量与存储类型变量与存储类型- SFR对对SFR的定义,通过头文件的定义,通过头文件reg51.h或或reg52.h,已做了预定义。,已做了预定义。用用#include “reg51.h”引用即可。引用即可。reg51.h中对中对21个个SFR做了定义,如做了定义,如P0P3的。的。4.3 C51变量与存储类型变量与存储类型-位变量位变量bit和和sbit1、bit:需要自定义,如:需要自

5、定义,如bit x;2、sbit:格式,:格式,sbit 位变量名位变量名=位地址;位地址;大部分大部分SFR可寻址位,在头文件可寻址位,在头文件reg51.h或或reg52.h中用中用sbit做了预定义,如做了预定义,如CY、P等。等。注意:在注意:在reg51.h 中,中,P0P3的的32个位,如个位,如P0.0,没有预定义,需要用户用没有预定义,需要用户用sbit先定义,后使用。先定义,后使用。如:如: sbit led=P00;4.3 C51变量与存储类型变量与存储类型-数组与指针数组与指针1、数组、数组char code seg10=0xc0,0xf9,0xa4,0xb0,0x99,

6、0x92,0x82,0xf8,0x80,0x90;/共阳极共阳极0-9字形字形码码2、指定存储区的指针、指定存储区的指针格式:格式:指针变量存储类型指针变量存储类型 指向数的指向数的数据数据类型类型 指向数的指向数的存储类型存储类型 *指针名指针名如:如: char data *strint xdata *pow指针实例指针实例#define uchar unsigned char#define uint unsigned intvoid func(void) uchar data var1; uchar pdata *dp1; uint xdata *dp2; uchar data *dp3

7、; dp1=0x30; dp2=0x1000; *dp1=0xff; *dp2=0x1234; dp3=&var1; *dp3=0x20;main()while(1);114.4 绝对地址绝对地址绝对地址访问宏绝对地址访问宏XBYTE0x数字数字形式对外部形式对外部RAM或或外设外设进行访问,需头文件进行访问,需头文件absacc.h支持。支持。相当于汇编指令相当于汇编指令MOVX的功能,执行总线操的功能,执行总线操作。作。4.5 C51重要函数重要函数1、中断函数、中断函数 P101函数名函数名() interrupt n mn - 04,表示,表示5个中断个中断m- 03,表示选用某个工作

8、寄存器组,表示选用某个工作寄存器组2、几个重要的库函数、几个重要的库函数(1)adsacc.h中的中的I/O地址访问宏地址访问宏XBYTE(2)stdio.h中的中的printf和和scanf函数函数(3)intrins.h中的移位中的移位:_c或或i,lrol或或r_(uchar,uchar);和空函数和空函数:_nop_()。4.6 C51基本运算基本运算1、算术:、算术:+、-、*、/、%2、自加自减:、自加自减:+、-3、关系:、关系:、=、=、=、!、!=4、赋值:、赋值:=5、逻辑:、逻辑:&、|、!,结果为,结果为“1-真真”或或“0-假假”6、按位逻辑:、按位逻辑:&、|、 、

9、,对象为字符或,对象为字符或整型整型7、在可位寻址的、在可位寻址的SFR中,中,表示表示SFR中的某一位,中的某一位,如如P00。注意:在表达式中直接出现的注意:在表达式中直接出现的号表示异或,号表示异或,P1的的第第0位必须用位必须用sbit重定义才能使用,重定义才能使用,如如“sbit K1=P10;”。作业作业1、编写程序,初始化将、编写程序,初始化将P3口上的口上的LED最低位最低位点亮(为点亮(为0点亮),判断点亮),判断P1.1按键,如闭合按键,如闭合(为(为0),则),则P3上的点亮的上的点亮的LED左移;否则左移;否则右移。右移。2、P1.1、P1.2、P1.3为三个按键,为三个按键,P3.0、P3.1为为LED。编写程序,初始化按键和。编写程序,初始化按键和LED,并完成,并完成3人表决器功能,表决通过人表决器功能,表决通过P3.0点亮,否则点亮,否则P3.1点亮。(选作)点亮。(选作)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号