- /**本程序由http://www.enc999.com 整理自互联网,仅供学习参考
- 欢迎光临8051单片机学习交流频道: http://www.enc999.com/ **/
- //用函数型指针控制P1口灯花样
- #include<reg51.h> //包含51单片机寄存器定义的头文件
- unsigned char code Tab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
- //流水灯控制码,该数组被定义为全局变量
- /**************************************************************
- 函数功能:延时约150ms
- **************************************************************/
- void delay(void)
- {
- unsigned char m,n;
- for(m=0;m<200;m++)
- for(n=0;n<250;n++)
- ;
- }
- /**************************************************************
- 函数功能:流水灯左移
- **************************************************************/
- void led_flow(void)
- {
- unsigned char i;
- for(i=0;i<8;i++) //8位控制码
- {
- P0=Tab[i];
- delay();
- }
- }
- /**************************************************************
- 函数功能:主函数
- **************************************************************/
- void main(void)
- {
- void (*p)(void); //定义函数型指针,所指函数无参数,无返回值
- p=led_flow; //将函数的入口地址赋给函数型指针p
- while(1)
- (*p)(); //通过函数的指针p调用函数led_flow()
- }
正文
用函数型指针控制P1口灯花样 - 8051单片机C51语言实现2012-09-03 08:31:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/enc999/53755.html
阅读(1429) | 评论(1)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论