正文

用函数型指针控制P1口灯花样 - 8051单片机C51语言实现2012-09-03 08:31:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/enc999/53755.html

分享到:

  1. /**本程序由http://www.enc999.com 整理自互联网,仅供学习参考  
  2. 欢迎光临8051单片机学习交流频道:  http://www.enc999.com/  **/  
  3. //用函数型指针控制P1口灯花样   
  4. #include<reg51.h>   //包含51单片机寄存器定义的头文件   
  5. unsigned char code Tab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};   
  6. //流水灯控制码,该数组被定义为全局变量   
  7. /**************************************************************  
  8. 函数功能:延时约150ms  
  9. **************************************************************/  
  10.  void delay(void)      
  11. {   
  12.    unsigned char m,n;   
  13.      for(m=0;m<200;m++)   
  14.       for(n=0;n<250;n++)       
  15.            ;   
  16.  }   
  17. /**************************************************************  
  18. 函数功能:流水灯左移  
  19. **************************************************************/  
  20. void led_flow(void)   
  21. {   
  22.   unsigned char i;   
  23.   for(i=0;i<8;i++)  //8位控制码   
  24.     {   
  25.        P0=Tab[i];   
  26.         delay();   
  27.       }   
  28.        
  29. }   
  30. /**************************************************************  
  31. 函数功能:主函数  
  32. **************************************************************/    
  33.  void main(void)   
  34.  {   
  35.    void (*p)(void); //定义函数型指针,所指函数无参数,无返回值     
  36.     p=led_flow;  //将函数的入口地址赋给函数型指针p   
  37.     while(1)   
  38.      (*p)();     //通过函数的指针p调用函数led_flow()   
  39. }  

阅读(1429) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册