C51编程实例.ppt
《C51编程实例.ppt》由会员分享,可在线阅读,更多相关《C51编程实例.ppt(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C51对标准C语言的扩展一.数据类型的长度 signed char 1个字节 -128127bit是编译器在可寻址区分配的一个位变量,是不定的,不是绝对目标地址。sbit位寄存器是可位寻址的绝对目标地址,定义后编译器是不会改变位置的。unsigned char 1个字节 0255 bit 1位 01 signed int 2个字节 -3276832767 unsigned int 2个字节 065535 sbit 1位 01 sfr 1个字节 0255特殊功能寄存器二.运算符 +a+b -a-b =a=6赋值 *a*b /a/b +=a+=ba=a+b%a%ba除以b的余数 -=a-=ba=a
2、-b *=a*=ba=a*b /=a/=ba=a/b%=a%=ba=a%b +a+a=a+1 -a-a=a-1 ab测试a是否大于b =a=b测试a是否小于等于b a=a=b测试a是否大于等于b&a&ba与b相与,两个变量都为真,结果为真 a b逻辑或 !!aa取反 ab将a按位右移b个位,无符号数补0 ab将a按位左移b个位,右侧补0|a|ba和b按位或&a&ba和b按位与 aba和b按位异或 aa按位取反&a=&b将b变量的地址存入a *a取a所指地址内的值 data 直接寻址区,片内低128字节 bdata 片内位寻址区,20H2FH片外数据存储器 xdata 片外RAM所有字节。使用D
3、PTR间接寻址三.数据的存储类型片内RAM最大可达到256字节,分为3个区域:idata 片内间接寻址区,片内RAM所有字节,高128字节,必须采用间接寻址 pdata 片外RAM中的一个页面,256字节 code 程序存储区MCS51通过访问方式来区别物理内存位置,即使地址一样。比如内部RAM的高128字节,如果用直接寻址,那么就是操作SFR;如果用间接寻址(MOVXRi,A)那么就是对RAM操作。在C语言中,通过定义变量时加上关键字表示位置:如unsignedchardataa;表示内部RAM低128字节中定义一个无符号整数a(data可省略可省略)。bdata表示在可位寻址区;idata
4、表示内部高128字节(用MOVRi,A);pdata表示外部低256字节拓展RAM(用MOVXRi,A);xdata表示外部所有拓展RAM(用MOVXDPTR,A);code表示ROM(用MOVC),通常用作数据表格。8052 单片机单片机 如何区别访问如何区别访问SFR和高和高128RAM呢呢Unsigned char data system status=0;定义无符号字符型变量system status初值为0Unsigned int data unit_id2=0;定义无符号整型数组,存储在内部RAM中Unsigned Char bdata status_byte;定义无符号字符型变量
5、,使其存储在20H到2FH区,可进行位寻址Sbit start_flag=status_byte4;将status_byte第4位赋值给变量start_flag四.函数的使用1.中断函数:2.中断过程通过使用interrupt关键字和中断编号04来实现。3.返回值函数名interruptnusingm4.n对应中断源的编号,告诉编译器中断程序的入口地址5.m对应四组通用寄存器中的一组,由于中断嵌套,最好给6.每种不同优先级程序分配不同的寄存器组,以达到压栈保7.护的目的。voidtime0_int(void)interrupt1using2编程在C语言里面提供了函数指针,我认为它比较重要的功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 编程 实例
限制150内