单片机的C51编程技.ppt

单片机的C51编程技.ppt

ID:56568234

大小:326.50 KB

页数:46页

时间:2020-06-28

单片机的C51编程技.ppt_第1页
单片机的C51编程技.ppt_第2页
单片机的C51编程技.ppt_第3页
单片机的C51编程技.ppt_第4页
单片机的C51编程技.ppt_第5页
资源描述:

《单片机的C51编程技.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机的C51编程技巧5.1C51与C 语言1、Main(){//通信初始化SCON=0x40;//串行口工作方式1,TI=0,RI=0TMOD=0x20;//定时器1工作方式2,8位自动重装式,晶振频率//11.0592MHzPCON=0;TH1=0xFD;//9600bpsTL1=0xFD;TR1=1;TI=1;printf("%f,%f",ppf,mf);//通信}2、C51的数据类型bit0,1char8-128~127unsignedchar80~256int16-32768~32767unsi

2、gned160~65535longint32-231~(231-1)unsigned320~(232-1)float32例:inta=721BCDinta=O7218inta=0xFFHex3、C51的函数inti全局变量voidfun(){inti;}4.2C语言中常用的语句(也适合于C51)①if(条件){}②if()elseif()else③switch(条件式){case:值1break;case:值2break;……..}④while(条件){动作先条件后内容}⑤do{先内容后条件}while(条件

3、)⑥for(算式1;算式2;算式3)//(赋植;条件;增量){}例1:for(i=0;i<10;i++){动作}例2:for(;;);//C语言认为合法例3:i=0;for(;i<10;i++){}4.3指针与数组char*a;charab;a=&ab;char名[][][](三维)voiddalay(unsignedintcount){unsignedinti;for(i=0;i

4、{chari;for(1=0;i<10;i++){buf[i]=0;}}main(){chardat[10];demo(dat);}4.5前置处理器#define宏定义//C语言优先处理#条件编辑#define宏名字符串include宏包含例1:#definePI3.1415926#defineCSP1.0#HIBYTE(a)((unsignedchar((a))>>8))unsignedcharb;例2:b=HIBYTE(0xFF18)结果:b=0xFF18宏定义可以定义函数#defineF(x)(x)*(

5、x)+2x*(x)+1例3:#include"at89x52.h"//#include"regx51.h"#include"intrins.h"#include"math.h"#include#include"STC89C51RC_RD_PLUS.h"4.6C51的存储器类型图4.1存储体结构code说的变量在程序空间data内0~7Fidata内@R0~R1;0~FF256bdata可位寻址16bitpdataR0R1间接寻址0~0xFFxdata外64K全部空间0~0xFFFF例1:u

6、nsignedcharcodelable[]={1,2,3,….,100};unsignedchardatai;unsignedcharbdatastatus;sbitst_7=status^7;sbitst_6=status^6;sbitst_0=status^0;status=0;st_7=1;status=0x80;sfrpsw=0xDO;sfrP0=0x80;sbitP0_1=P0^1;unsignedcharaddress_at_0x20;inti;C51中指令的控制存储模式选择small0x00~

7、0x7FHcompactintpdatai;largeintcdata4.7中断函数在C51中实现INT000x0003Time/Counter010x000BINT120x0013Time/Counter130x001BSerialport40x0023Time/Counter250x002BVoid函数名(void)interrupt中断号缓存器库例:voidTIMER0(void)interrupt1using2{}main(){ETO=1;EA=1;}几个编程实例例1:串行接口发送程序#include

8、“AT89x51.h”main(){inti;SCON=0x52;//串行口工作方式1,TI=1,RI=0TMOD=0x21;//定时器1工作方式2,8位自动重装式,晶振频率11.0592MHzTH1=0xFD;//9600bpsTL1=0xFD;TR1=1;While(1){while(TI==0);等待TI=0;SBUF=0x50;for(i=0;i<50;i++);}}例2:单片机的P1.0口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。