标题: 单片机参数传递的函数调用实验 [打印本页]

作者: liuda    时间: 2015-1-21 23:03
标题: 单片机参数传递的函数调用实验
是用51hei单片机开发板 电路图详见:http://www.51hei.com/f/51hei-5.pdf  的数码管部分, 用2个74hc573 锁存,p0口作为数据口 ,p3.6和p3.7分别是段和位的锁存端口.
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  5. sbit D=P3^6;
  6. sbit V=P3^7;
  7. sbit P2_4=P2^4;
  8. uchar number1,number2;
  9. //===========
  10. void swap(uchar x,uchar y);
  11. //==========
  12. void delay(uint k)
  13. {
  14. uint i,j;
  15. for(i=0;i<k;i++){
  16. for(j=0;j<121;j++)
  17. {;}}
  18. }
  19. //===============
  20. void main(void)
  21. {
  22. uchar a=3,b=8;
  23. while(1)
  24. {
  25. if(!P2_4)
  26. { swap(a,b);
  27. D=1;P0=SEG7[number1];D=0;P0=0xff;V=1;P0=0xfd;V=0;delay(5);
  28. D=1;P0=SEG7[number2];D=0;P0=0xff;V=1;P0=0xfe;V=0;delay(5);}
  29. else
  30. {number1=a;number2=b;
  31.   D=1;P0=SEG7[number1];D=0;P0=0xff;V=1;P0=0xfd;V=0;delay(5);
  32.   D=1;P0=SEG7[number2];D=0;P0=0xff;V=1;P0=0xfe;V=0;delay(5);
  33.    
  34. }
  35.    }
  36. }
  37. //===========
  38. void swap(uchar x,uchar y)
  39. {
  40. number1=y;
  41. number2=x;
  42. }
复制代码







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1