单片机原理与应用(第二版) 第10章 单片机C51语言程序设计基础.ppt

单片机原理与应用(第二版) 第10章 单片机C51语言程序设计基础.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 单片机C51语言程序设计基础 学习目标 学习重点 主要内容 10.1 C51程序的结构 10.1 C51程序的结构 2.1 C51程序的结构 main() { unsigned char LEDIndex=0; bit LEDDirection=1; // 点亮LED灯的方向标志 while(1) { if(LEDDirection) P1=~(0x01LEDIndex); // 方向标志为1时,从P1.0到P1.7点亮 else P1=~(0x80LEDIndex); // 方向标志为0时,从P1.7到P1.0点亮 if(LEDIndex==7) LEDDirection=!LEDDirection; LEDIndex=(LEDIndex+1)%8; Delay1ms(100); } } 用户自定义函数是根据需要编写的函数。从其定义形式上划分为三种形式:无参数函数、有参数函数和空函数。 ① 无参数函数:此种函数被调用时,既无参数输入,也不返回结果给调用函数,它是为完成某种操作过程而编写的。 ② 有参数函数:在定义此类函数时,必须定义与实际参数一一对应的形式参数,并在函数结束时返回结果给调用该函数的程序使用,函数的返回值是通过函数中的return语句获得的。调用时必须提供实际的输入参数。 ③ 空函数:此种函数体内无语句,是空白的。调用此种空函数时,什么工作也不做,不起任何作用,定义此种函数的目的并不是为了执行某种操作,而是为了以后程序功能的扩充。在程序的设计过程中,往往根据需要确定若干模块,分别由一些函数来实现。而在程序设计的第一阶段,往往只设计最基本的功能模块函数,而将其他非基本模块的功能函数定义为空函数,留待以后完善。 #include reg51.h sbit K1=P3^2; unsigned char n=0; void main(void) // 主程序 { IT0=1; // 设置外中断0跳变产生中断 EX0=1; // 开外部中断0 EA=1; // 打开CPU中断 while (1) // 主程序循环 { } } // 外中断0程序 void int0()interrupt 0 // 在中断里点亮LED { P1=~(0x01n); n=(n+1)%8; } //每按一下K1(P3.2)之后,就会触发一次中断,就会点亮一个LED灯。如果连//续按//键,就会依次循环点亮LED灯。 ① 中断函数不能进行参数传递; ② 中断函数没有返回值; ③ 在任何情况下,都不能直接调用中断函数; ④ 如果中断函数调用了其他函数,则被调用函数所使用的寄存器组必须与中断函数相同。 ④ 编译,即可生成目标代码。 例如: #includereg51.h // 包括一个51标准内核的头文件 sbit P10=P1^0; // 头文件中没有定义的IO就要自己来定义了 void main() // 主程序 { unsigned int n; do // 程序循环 { #pragma asm // 加入汇编指令延时 MOV R7,#250 DEL: MOV R6,#250 DJNZ R6,$ DJNZ R6,$DEL #pragma endasm P10=0; // 设P1.0 口为低电平,点亮LED for (n=0;n20000; n++) // 延时 P10=1; // 设P1.0 口为高电平,熄灭LED } while (1); } 程序如下: #includereg51.h sbit P1_0=P1^0; sbit P1_7=P1^7; void timer0() interrupt 1 using 1 { // T/C 0中断服务程序 P1_0=

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档