网站大量收购独家精品文档,联系QQ:2885784924

Keil+C+实例代码.doc

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
KeilC实例代码

第三章 例3-1 #include AT89X51.h //预处理命令 void main(void) //主函数名 { unsigned int a; //定义变量a 为unsigned int 类型 unsigned char b; //定义变量b 为unsigned char 类型 do { // do while 组成循环 for (a=0; a65535; a++) P1_0 = 0; //65535 次设P1.0 口为低电平,点亮LED P1_0 = 1; //设P1.0 口为高电平,熄灭LED for (a=0; a30000; a++); //空循环 for (b=0; b255; b++) P1_1 = 0; //255 次设P1.1 口为低电平,点亮LED P1_1 = 1; //设P1.1 口为高电平,熄灭LED for (a=0; a30000; a++); //空循环 } while(1); } 例3-4 #include AT89X51.H //预处理文件里面定义了特殊寄存器的名称如P1 口定义为P1 void main(void) { //定义花样数据 const unsigned char design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF, 0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0, 0xE7,0xDB,0xBD,0x7E,0xFF}; unsigned int a; //定义循环用的变量 unsigned char b; //在C51 编程中因内存有限尽可能注意变量类型的使用 //尽可能使用少字节的类型,在大型的程序中很受用 do{ for (b=0; b32; b++) { for(a=0; a30000; a++); //延时一段时间 P1 = design[b]; //读已定义的花样数据并写花样数据到P1 口 } }while(1); } 例3-5 sfr P1 = 0x90; //这里没有使用预定义文件, sbit P1_0 = P1 ^ 0; //而是自己定义特殊寄存器 sbit P1_7 = 0x90 ^ 7; //之前使用的预定义文件其实就是这个作用 sbit P1_1 = 0x91; //这里分别定义P1 端口和P10,P11,P17 引脚 void main(void) { unsigned int a; unsigned char b; do{ for (a=0;a50000;a++) P1_0 = 0; //点亮P1_0 for (a=0;a50000;a++) P1_7 = 0; //点亮P1_7 for (b=0;b255;b++) { for (a=0;a10000;a++) P1 = b; //用b 的值来做跑马灯的花样 } P1 = 255; //熄灭P1 上的LED for (b=0;b255;b++) { for (a=0;a10000;a++) //P1_1 闪烁 P1_1 = 0; for (a=0;a10000;a++) P1_1 = 1; } }while(1); } 例3-6 unsigned int data ABC _at_ 0x0028; unsigned int data CBA _at_ 0x002A; unsigned int data *Port _at_ 0x002C; #include at89x51.h #include stdio.h void main(void) { SCON = 0x50; //串口方式1,允许接收 TMOD = 0x20; //定时器1 定时方式2 TH1 = 0xE8; //11.0592MHz 1200 波特率 TL1 = 0xE8; TI = 1; TR1 = 1; //启动定时器 ABC = 10; //设初值 CBA = 20; Port = CBA; //取CBA 的地址放到指针变量Port *Port = 100; //更改指针变量Port 所指向的地址的内容 printf(1: CBA=%d\n,CBA); //显示此时CBA 的值 Port = ABC; //取ABC 的地址放到指针变量Port CBA = *Port; //把当前Port 所指的地址的内容赋给变量CBA printf(2: CBA=%d\n,CBA); //显示此时CBA 的值 printf( ABC=%d\n,ABC); //显示ABC 的值 } 例3-7 #include at89x51.h #include s

您可能关注的文档

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档