• / 206
  • 下载费用:30 金币  

C51单片机C语言-程序100例Keil.doc

关 键 词:
C51 单片机 语言 程序 100 Keil
资源描述:
\\目录目录................................................................................................................................1函数的使用和熟悉********************************/.......................................4实例 3:用单片机控制第一个灯亮.............................................................................4实例 4:用单片机控制一个灯闪烁:认识单片机的工作频率.................................4实例 5:将 P1 口状态分别送入 P0、P2、P3 口:认识 I/O 口的引脚功能............ 5实例 6:使用 P3 口流水点亮 8 位 LED....................................................................... 5实例 7:通过对 P3 口地址的操作流水点亮 8 位 LED............................................... 6实例 8:用不同数据类型控制灯闪烁时间.................................................................7实例 9:用 P0 口、P1 口分别显示加法和减法运算结果.........................................8实例 10:用 P0、P1 口显示乘法运算结果................................................................ 9实例 11:用 P1、P0 口显示除法运算结果................................................................ 9实例 12:用自增运算控制 P0 口 8 位 LED 流水花样.............................................. 10实例 13:用 P0 口显示逻辑"与"运算结果............................................................... 10实例 14:用 P0 口显示条件运算结果.......................................................................11实例 15:用 P0 口显示按位"异或"运算结果........................................................... 11实例 16:用 P0 显示左移运算结果...........................................................................11实例 17:"万能逻辑电路"实验................................................................................. 11实例 18:用右移运算流水点亮 P1 口 8 位 LED....................................................... 12实例 19:用 if 语句控制 P0 口 8 位 LED 的流水方向.............................................. 13实例 20:用 swtich 语句的控制 P0 口 8 位 LED 的点亮状态..................................13实例 21:用 for 语句控制蜂鸣器鸣笛次数..............................................................14实例 22:用 while 语句控制 LED...............................................................................16实例 23:用 do-while 语句控制 P0 口 8 位 LED 流水点亮...................................... 16实例 24:用字符型数组控制 P0 口 8 位 LED 流水点亮.......................................... 17实例 25: 用 P0 口显示字符串常量.........................................................................18实例 26:用 P0 口显示指针运算结果......................................................................19实例 27:用指针数组控制 P0 口 8 位 LED 流水点亮.............................................. 19实例 28:用数组的指针控制 P0 口 8 位 LED 流水点亮........................................ 20实例 29:用 P0 、P1 口显示整型函数返回值........................................................ 21实例 30:用有参函数控制 P0 口 8 位 LED 流水速度.............................................. 22实例 31:用数组作函数参数控制流水花样.............................................................23实例 32:用指针作函数参数控制 P0 口 8 位 LED 流水点亮.................................. 23实例 33:用函数型指针控制 P1 口灯花样...............................................................25实例 34:用指针数组作为函数的参数显示多个字符串.........................................26实例 35:字符函数 ctype.h 应用举例.......................................................................27实例 36:内部函数 intrins.h 应用举例..................................................................... 27实例 37:标准函数 stdlib.h 应用举例.......................................................................28实例 38:字符串函数 string.h 应用举例.................................................................. 29实例 39:宏定义应用举例 2......................................................................................291 / 192实例 40:宏定义应用举例 2......................................................................................30实例 41:宏定义应用举例 3......................................................................................30中断、定时器************************************************ .........31实例 42:用定时器 T0 查询方式 P2 口 8 位控制 LED 闪烁.................................... 31实例 43:用定时器 T1 查询方式控制单片机发出 1KHz 音频.................................31实例 44:将计数器 T0 计数的结果送 P1 口 8 位 LED 显示.................................... 32实例 45:用定时器 T0 的中断控制 1 位 LED 闪烁...................................................33实例 46:用定时器 T0 的中断实现长时间定时.......................................................34实例 47:用定时器 T1 中断控制两个 LED 以不同周期闪烁...................................34实例 48:用计数器 T1 的中断控制蜂鸣器发出 1KHz 音频.....................................36实例 49:用定时器 T0 的中断实现"渴望"主题曲的播放....................................... 36实例 50-1:输出 50 个矩形脉冲............................................................................... 39实例 50-2:计数器 T0 统计外部脉冲数................................................................... 40实例 51-2:定时器 T0 的模式 2 测量正脉冲宽度................................................... 40实例 52:用定时器 T0 控制输出高低宽度不同的矩形波.......................................41实例 53:用外中断 0 的中断方式进行数据采集.....................................................42实例 54-1:输出负脉宽为 200 微秒的方波............................................................. 43实例 54-2:测量负脉冲宽度..................................................................................... 43实例 55:方式 0 控制流水灯循环点亮.....................................................................44实例 56-1:数据发送程序......................................................................................... 45实例 56-2:数据接收程序......................................................................................... 47实例 57-1:数据发送程序......................................................................................... 47实例 57-2:数据接收程序......................................................................................... 49实例 58:单片机向 PC 发送数据.............................................................................. 50实例 59:单片机接收 PC 发出的数据...................................................................... 51*********************************数码管显示 ...............................52实例 60:用 LED 数码显示数字 5..............................................................................52实例 61:用 LED 数码显示器循环显示数字 0~9......................................................52实例 62:用数码管慢速动态扫描显示数字"1234"................................................. 53实例 63:用 LED 数码显示器伪静态显示数字 1234............................................... 54实例 64:用数码管显示动态检测结果.....................................................................54实例 65:数码秒表设计.............................................................................................56实例 66:数码时钟设计.............................................................................................58实例 67:用 LED 数码管显示计数器 T0 的计数值...................................................62实例 68:静态显示数字“59”...................................................................................63*****************************键盘控制2/192*****************************************************/...........................63实例 69:无软件消抖的独立式键盘输入实验.........................................................64实例 70:软件消抖的独立式键盘输入实验.............................................................64实例 71:CPU 控制的独立式键盘扫描实验.............................................................65实例 72:定时器中断控制的独立式键盘扫描实验.................................................68实例 73:独立式键盘控制的 4 级变速流水灯.........................................................71实例 74:独立式键盘的按键功能扩展:"以一当四"............................................. 73实例 75:独立式键盘调时的数码时钟实验.............................................................75实例 76:独立式键盘控制步进电机实验.................................................................79实例 77:矩阵式键盘按键值的数码管显示实验.....................................................82//实例 78:矩阵式键盘按键音..................................................................................85实例 79:简易电子琴.................................................................................................86实例 80:矩阵式键盘实现的电子密码锁.................................................................92************************************************************************ **液晶显示 LCD*********液晶显示 LCD *****液晶显示 LCD ************************************************************************/...............95实例 81:用 LCD 显示字符'A'.................................................................................... 96实例 82:用 LCD 循环右移显示"Welcome to China"............................................... 99实例 83:用 LCD 显示适时检测结果...................................................................... 102实例 84:液晶时钟设计...........................................................................................106******************************************一些芯片的使用*****24c02 ........ DS18B20 X5045 ADC0832 DAC0832 DS1302红外遥控**********************************************/...................... 112实例 85:将数据"0x0f"写入 AT24C02 再读出送 P1 口显示..................................112实例 86:将按键次数写入 AT24C02,再读出并用 1602LCD 显示.......................117实例 87:对 I2C 总线上挂接多个 AT24C02 的读写操作.......................................124实例 88:基于 AT24C02 的多机通信 读取程序.................................................. 129实例 88:基于 AT24C02 的多机通信 写入程序.................................................... 133实例 90:DS18B20 温度检测及其液晶显示........................................................... 144实例 91:将数据"0xaa"写入 X5045 再读出送 P1 口显示......................................153实例 92:将流水灯控制码写入 X5045 并读出送 P1 口显示................................ 157实例 93:对 SPI 总线上挂接多个 X5045 的读写操作............................................161实例 94:基于 ADC0832 的数字电压表..................................................................165实例 95:用 DAC0832 产生锯齿波电压..................................................................171实例 96:用 P1 口显示红外遥控器的按键值.........................................................171实例 97:用红外遥控器控制继电器.......................................................................174实例 98:基于 DS1302 的日历时钟........................................................................ 177实例 99:单片机数据发送程序...............................................................................185实例 100:电机转速表设计.....................................................................................186模拟霍尔脉冲............................................................................................................1923/192/************************************************************函数的使用和熟悉***************************************************************///实例 3:用单片机控制第一个灯亮#include //包含 51 单片机寄存器定义的头文件void main(void){P1=0xfe; //P1=1111 1110B,即 P1.0 输出低电平}//4//实例 4:用单片机控制一个灯闪烁:认识单片机的工作频率#include //包含单片机寄存器的头文件/****************************************函数功能:延时一段时间*****************************************/void delay(void) //两个 void 意思分别为无需返回值,没有参数传递{unsigned int i; //定义无符号整数,最大取值范围 65535for(i=0;i<20000;i++) //做 20000 次空循环; //什么也不做,等待一个机器周期}/*******************************************************函数功能:主函数 (C 语言规定必须有也只能有 1 个主函数)********************************************************/void main(void){while(1) //无限循环{P1=0xfe; //P1=1111 1110B, P1.0 输出低电平delay(); //延时一段时间P1=0xff; //P1=1111 1111B, P1.0 输出高电平delay(); //延时一段时间}}4 / 192//5P1P0P2P3I/O//实例 5:将#includeP1 口状态分别送入 P0、P2、P3 口:认识 I/O 口的引脚功能//包含单片机寄存器的头文件/*******************************************************函数功能:主函数 (C 语言规定必须有也只能有 1 个主函数)********************************************************/void main(void){while(1) //无限循环{P1=0xff; // P1=1111 1111B,熄灭 LEDP0=P1; // 将 P1 口状态送入 P0 口P2=P1; // 将 P1 口状态送入 P2 口P3=P1; // 将 P1 口状态送入 P3 口}}//实例 6:使用 P3 口流水点亮 8 位 LED#include //包含单片机寄存器的头文件/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************************函数功能:主函数********************************************************/void main(void){5 / 192while(1){P3=0xfe;delay();P3=0xfd;delay();P3=0xfb;delay();P3=0xf7;delay();P3=0xef;//第一个灯亮//调用延时函数//第二个灯亮//调用延时函数//第三个灯亮//调用延时函数//第四个灯亮//调用延时函数//第五个灯亮delay();//调用延时函数P3=0xdf;delay();P3=0xbf;//第六个灯亮//调用延时函数//第七个灯亮delay();//调用延时函数P3=0x7f;//第八个灯亮}}delay();//调用延时函数//实例 7:通过对 P3 口地址的操作流水点亮 8 位 LED#include //包含单片机寄存器的头文件sfr x=0xb0; //P3 口在存储器中的地址是 b0H, 通过 sfr 可定义 8051 内核单片机//的所有内部 8 位特殊功能寄存器,对地址 x 的操作也就是对 P1 口的操作/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++); //利用循环等待若干机器周期,从而延时一段时间}/*****************************************函数功能:主函数6 / 192******************************************/void main(void){while(1){x=0xfe; //第一个灯亮delay(); //调用延时函数x=0xfd; //第二个灯亮delay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数x=0xf7; //第四个灯亮delay(); //调用延时函数x=0xef; //第五个灯亮delay(); //调用延时函数x=0xdf; //第六个灯亮delay(); //调用延时函数x=0xbf; //第七个灯亮delay(); //调用延时函数x=0x7f; //第八个灯亮delay(); //调用延时函数}}//实例 8:用不同数据类型控制灯闪烁时间#include //包含单片机寄存器的头文件/******************************************************函数功能:用整形数据延时一段时间******************************************************/void int_delay(void) //延时一段较长的时间{unsigned int m; //定义无符号整形变量,双字节数据,值域为 0~65535for(m=0;m<36000;m++); //空操作}/******************************************************函数功能:用字符型数据延时一段时间******************************************************/7 / 192void char_delay(void) //延时一段较短的时间{unsigned char i,j; //定义无符号字符型变量,单字节数据,值域 0~255for(i=0;i<200;i++)for(j=0;j<180;j++); //空操作}/******************************************************函数功能:主函数******************************************************/void main(void){unsigned char i;while(1){for(i=0;i<3;i++){P1=0xfe; //P1.0 口的灯点亮int_delay(); //延时一段较长的时间P1=0xff; //熄灭int_delay(); //延时一段较长的时间}for(i=0;i<3;i++){P1=0xef; //P1.4 口的灯点亮char_delay(); //延时一段较长的时间P1=0xff; //熄灭char_delay(); //延时一段较长的时间}}}//实例 9:用 P0 口、P1#includevoid main(void){unsigned char m,n;口分别显示加法和减法运算结果m=43;//即十进制数 2x16+11=438 /192n=60;P1=m+n;//即十进制数 3x16+12=60//P1=103=0110 0111B,结果 P1.3、P1.4、P1.7口的灯被点亮}P0=n-m;//P0=17=0001 0001B,结果 P0.0、P0.4 的灯被熄灭//实例 10:用 P0、P1 口显示乘法运算结果#include //包含单片机寄存器的头文件void main(void){unsigned char m,n;unsigned int s;m=64;n=71;s=m*n; //s=64*71=4544,需要 16 位二进制数表示,高 8 位送 P1 口,低8 位送 P0 口//由于 4544=17*256+192=H3*16*16*16+H2*16*16+H1*16+H0//两边同除以 256,可得 17+192/256=H3*16+H2+ H1*16+H0)/256//因此,高 8 位 16 进制数 H3*16+H2 必然等于 17,即 4544除以 256 的商//低 8 位 16 进制数 H1*16+H0 必然等于 192,即 4544 除以256 的余数P1=s/256; //高 8 位送 P1 口 ,P1=17=11H=0001 0001B, P1.0 和 P1.4 口灭,其余亮P0=s%256; //低 8 位送 P0 口 , P3=192=c0H=1100 0000B,P3.1,P3.6,P3.7 口灭,其余亮}//实例 11:用 P1、P0 口显示除法运算结果#include //包含单片机寄存器的头文件void main(void){P1=36/5; //求整数P0=((36%5)*10)/5; //求小数while(1)9 / 192};//无限循环防止程序“跑飞”//实例 12:用自增运算控制 P0 口 8 位 LED 流水花样#include //包含单片机寄存器的头文件/******************************************************函数功能:延时一段时间******************************************************/void delay(void){unsigned int i;for(i=0;i<20000;i++);}/******************************************************函数功能  :主函数******************************************************/void main(void){unsigned char i;for(i=0;i<255;i++) //注意 i 的值不能超过 255{P0=i; //将 i 的值送 P0 口delay(); //调用延时函数}}//实例 13:用 P0 口显示逻辑"与"运算结果#include //包含单片机寄存器的头文件void main(void){P0=(4>0)&&(9>0xab);//将逻辑运算结果送 P0 口while(1); //设置无限循环,防止程序“跑飞”}110 / 192//14P0//实例 14:用 P0 口显示条件运算结果#include //包含单片机寄存器的头文件void main(void){P0=(8>4)?8:4;//将条件运算结果送 P0 口,P0=8=0000 1000Bwhile(1); //设置无限循环,防止程序“跑飞”}//实例 15:用 P0 口显示按位"异或"运算结果#include //包含单片机寄存器的头文件void main(void){P0=0xa2^0x3c;//将条件运算结果送 P0 口,P0=8=0000 1000Bwhile(1); //设置无限循环,防止程序“跑飞”}//16P0//实例 16:用 P0 显示左移运算结果#include //包含单片机寄存器的头文件void main(void){P0=0x3b<<2;//将左移运算结果送 P0 口,P0=1110 1100B=0xecwhile(1); //无限循环,防止程序“跑飞”}#includesbit F=P1^4;//实例 17:"万能逻辑电路"实验//包含单片机寄存器的头文件//将 F 位定义为 P1.4111 / 192sbit X=P1^5;sbit Y=P1^6;sbit Z=P1^7;void main(void){while(1){//将 X 位定义为//将 Y 位定义为//将 Z 位定义为P1.5P1.6P1.7}}F=((~X)&Y)|Z; //将逻辑运算结果赋给 F;//实例 18:用右移运算流水点亮 P1 口 8 位 LED#include //包含单片机寄存器的头文件/*****************************函数功能:延时一段时间*****************************/void delay(void){unsigned int n;for(n=0;n<30000;n++);}/*****************************函数功能:主函数*****************************/void main(void){unsigned char i;while(1){P1=0xff;delay();for(i=0;i<8;i++)//设置循环次数为 8{P1=P1>>1; //每次循环 P1 的各二进位右移 1 位,高位补 0delay(); //调用延时函数}}}112 / 192//19iffP08LED//实例 19:用 iff 语句控制 P0 口 8 位 LED 的流水方向#include //包含单片机寄存器的头文件sbit S1=P1^4; //将 S1 位定义为 P1.4sbit S2=P1^5; //将 S2 位定义为 P1.5/*****************************函数功能:主函数*****************************/void main(void){while(1){if(S1==0) //如果按键 S1 按下P0=0x0f; //P0 口高四位 LED 点亮if(S2==0) //如果按键 S2 按下P0=0xf0; //P0 口低四位 LED 点亮}}//实例 20:用 swtich 语句的控制 P0 口 8 位 LED 的点亮状态#include //包含单片机寄存器的头文件sbit S1=P1^4; //将 S1 位定义为 P1.4/*****************************函数功能:延时一段时间*****************************/void delay(void){unsigned int n;for(n=0;n<10000;n++);}/*****************************函数功能:主函数*****************************/void main(void){unsigned char i;113 / 192i=0;while(1){//将 i 初始化为 0if(S1==0){delay();//如果 S1 键按下//延时一段时间}if(S1==0) //如果再次检测到 S1 键按下i++; //i 自增 1if(i==9) //如果 i=9,重新将其置为 1i=1;}switch(i)}{}//使用多分支选择语句case 1: P0=0xfe; //第一个 LED 亮break;case 2: P0=0xfd; //第二个 LED 亮break;case 3:P0=0xfb; //第三个 LED 亮break;case 4:P0=0xf7; //第四个 LED 亮break;case 5:P0=0xef; //第五个 LED 亮break;case 6:P0=0xdf; //第六个 LED 亮break;case 7:P0=0xbf; //第七个 LED 亮break;case 8:P0=0x7f; //第八个 LED 亮break;default: //缺省值,关闭所有 LEDP0=0xff;//21for//实例 21:用 for 语句控制蜂鸣器鸣笛次数#include //包含单片机寄存器的头文件sbit sound=P3^7; //将 sound 位定义为 P3.7/****************************************函数功能:延时形成 1600Hz 音频114 / 192****************************************/void delay1600(void){unsigned char n;for(n=0;n<100;n++);}/****************************************函数功能:延时形成 800Hz 音频****************************************/void delay800(void){unsigned char n;for(n=0;n<200;n++);}/****************************************函数功能:主函数****************************************/void main(void){unsigned int i;while(1){for(i=0;i<830;i++){sound=0; //P3.7 输出低电平delay1600();sound=1; //P3.7 输出高电平delay1600();}for(i=0;i<200;i++){sound=0; //P3.7 输出低电平delay800();sound=1; //P3.7 输出高电平delay800();}}}115/192//实例 22:用 whille 语句控制 LED#include//包含单片机寄存器的头文件/****************************************函数功能:延时约 60ms (3*100*200=60000μs)****************************************/void delay60ms(void){unsigned char m,n;for(m=0;m<100;m++)for(n=0;n<200;n++);}/****************************************函数功能:主函数****************************************/void main(void){unsigned char i;while(1) //无限循环{i=0; //将 i 初始化为 0while(i<0xff) //当 i 小于 0xff(255)时执行循环体{P0=i; //将 i 送 P0 口显示delay60ms(); //延时i++; //i 自增 1}}}//实例 23:用 do-whiile 语句控制 P0 口 8 位 LED 流水点亮#include //包含单片机寄存器的头文件/****************************************函数功能:延时约 60ms (3*100*200=60000μs)****************************************/void delay60ms(void){116 / 192}unsigned char m,n;for(m=0;m<100;m++)for(n=0;n<200;n++);/****************************************函数功能:主函数****************************************/void main(void){do{P0=0xfe; //第一个 LED 亮delay60ms();P0=0xfd; //第二个 LED 亮delay60ms();P0=0xfb; //第三个 LED 亮delay60ms();P0=0xf7; //第四个 LED 亮delay60ms();P0=0xef; //第五个 LED 亮delay60ms();P0=0xdf; //第六个 LED 亮delay60ms();delay60ms();P0=0xbf; //第七个 LED 亮delay60ms();P0=0x7f; //第八个 LED 亮delay60ms();}while(1); //无限循环,使 8 位 LED 循环流水点亮}//实例 24:用字符型数组控制 P0 口 8 位 LED 流水点亮#include //包含单片机寄存器的头文件/****************************************函数功能:延时约 60ms (3*100*200=60000μs)****************************************/void delay60ms(void){unsigned char m,n;for(m=0;m<100;m++)117 / 192}for(n=0;n<200;n++);/****************************************函数功能:主函数****************************************/void main(void){unsigned char i;unsigned char code Tab[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //定义无符号字符型数组while(1){for(i=0;i<8;i++){P0=Tab[i];//依次引用数组元素,并将其送 P0 口显示delay60ms();//调用延时函数}}}//25P0//实例 25:用 P0 口显示字符串常量#include//包含单片机寄存器的头文件/*************************************************函数功能:延时约 150ms (3*200*250=150 000μs=150ms*************************************************/void delay150ms(void){unsigned char m,n;for(m=0;m<200;m++)for(n=0;n<250;n++);}/*************************************************函数功能:主函数*************************************************/void main(void){unsigned char str[]={"Now,Temperature is :"}; //将字符串赋给字符型全部元素赋值unsigned char i;118 / 192while(1){i=0;//将 i 初始化为 0,从第一个元素开始显示}}while(str[i]!='\0') //只要没有显示到结束标志'\0'{P0=str[i]; //将第 i 个字符送到 P0 口显示delay150ms(); //调用 150ms 延时函数i++; //指向下一个待显字符}//实例 26:用 P0#includevoid main(void){口显示指针运算结果unsigned char *p1,*p2;//定义无符号字符型指针变量 p1,p2unsigned char i,j;//定义无符号字符型数据i=25;j=15;p1=&i;p2=&j;//给 i 赋初值 25//使指针变量指向 i//使指针变量指向 j,对指针初始化,对指针初始化P0=*p1+*p2;//*p1+*p2 相当于 i+j,所以 P0=25+15=40=0x28}//则 P0=0010 1000B,结果 P0.3、P0.5 引脚 LED 熄灭,其余点亮while(1); //无限循环,防止程序“跑飞”//27P08LED//实例 27:用指针数组控制 P0 口 8 位 LED 流水点亮#include/*************************************************函数功能:延时约 150ms (3*200*250=150 000μs=150ms*************************************************/void delay150ms(void){unsigned char m,n;for(m=0;m<200;m++)119 / 192}for(n=0;n<250;n++);/*************************************************函数功能:主函数*************************************************/void main(void){unsigned char code Tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char *p[ ]={&Tab[0],&Tab[1],&Tab[2],&Tab[3],&Tab[4],&Tab[5],&Tab[6],&Tab[7]};unsigned char i; //定义无符号字符型数据while(1){for(i=0;i<8;i++){P0=*p[i];delay150ms();}}}//28P08LED//实例 28:用数组的指针控制 P0#include口 8位 LED 流水点亮/*************************************************函数功能:延时约 150ms (3*200*250=150 000μs=150ms*************************************************/void delay150ms(void){unsigned char m,n;for(m=0;m<200;m++)for(n=0;n<250;n++);}/*************************************************函数功能:主函数*************************************************/void main(void){220 / 192}unsigned char i;unsigned char Tab[ ]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFE,0xFC,0xFB,0xF0,0xE0,0xC0,0x80,0x00,0xE7,0xDB,0xBD,0x7E,0x3C,0x18,0x00,0x81,0xC3,0xE7,0x7E,0xBD,0xDB,0xE7,0xBD,0xDB};//流水灯控制码unsigned char *p; //定义无符号字符型指针p=Tab; //将数组首地址存入指针 pwhile(1){for(i=0;i<32;i++) //共 32 个流水灯控制码{P0=*(p+i); //*(p+i)的值等于 a[i]delay150ms(); //调用 150ms 延时函数}}//29P0P1//实例 29:用 P0#include、P1 口显示整型函数返回值/*************************************************函数功能:计算两个无符号整数的和*************************************************/unsigned int sum(int a,int b){unsigned int s;s=a+b;return (s);}/*************************************************函数功能:主函数*************************************************/void main(void){unsigned z;z=sum(2008,2009);P1=z/256; //取得 z 的高 8 位P0=z%256; //取得 z 的低 8 位while(1);221 /
展开阅读全文
  语墨文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:C51单片机C语言-程序100例Keil.doc
链接地址:http://www.wenku38.com/p-145341.html

                                            站长QQ:1002732220      手机号:18710392703    


                                                          copyright@ 2008-2020 语墨网站版权所有

                                                             经营许可证编号:蜀ICP备18034126号

网站客服微信
收起
展开