标题: 注释详细的单片机流水灯源程序 [打印本页]

作者: 爱你~一生    时间: 2018-7-26 08:43
标题: 注释详细的单片机流水灯源程序

  1. #include<reg52.h>    //包含单片机寄存器的头文件
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. #define Self_Define_ISP_Download_Command 0x3D   // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
  5. sfr IAP_CONTR=0xE7;          // 与不断电下载有关,与本程序无关,直接复制到自己的程序中

  6. /* 函数申明 -----------------------------------------------*/
  7. void delay(uint z);
  8. void Init_Com(void) ;         // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
  9. /*
  10. ********************************************************************************
  11. ** 函数名称 : main(void)
  12. ** 函数功能 : 主函数
  13. ********************************************************************************
  14. */

  15. void main()
  16. {
  17. uchar  num,dat1,dat2;   // 相关变量定义
  18. Init_Com();           // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
  19. while(1)
  20. {
  21.   dat1=0xfe;
  22.   dat2=0x7f;
  23.   for(num=0;num<7;num++)  // led灯从上往下依次点亮
  24.   {
  25.    P1=dat1;   //初始化赋值
  26.    dat1=dat1<<1; //右移一位
  27.    delay(500);   //延时
  28.   }
  29.   for(num=0;num<7;num++)  // led灯从下往上依次点亮
  30.   {
  31.    P1=dat2;   //初始化赋值
  32.    dat2=dat2>>1; //右移一位
  33.    delay(500);   //延时
  34.   }
  35. }
  36. }
  37. /*
  38. ********************************************************************************
  39. ** 函数名称 : delay(uint z)
  40. ** 函数功能 : 延时函数
  41. ********************************************************************************
  42. */
  43. void delay(uint z)
  44. {
  45.     uchar j;
  46.     for(z;z>0;z--)
  47.         for(j=200;j>0;j--);
  48. }

  49. void Init_Com(void)         // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
  50. {
  51.      TMOD = 0x20;
  52.      SM0=0;
  53.      SM1=1;
  54.   REN=1;
  55.      TH1 = 0xFd;
  56.      TL1 = 0xFd;
  57.      TR1 = 1;
  58.   EA=1;
  59.   ES=1;
  60. }
  61. void UART_Interrupt_Receive(void) interrupt 4   // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
  62. {
  63. unsigned char k=0;
  64. unsigned int a,b;
  65. if(RI==1)
  66. {
  67.   RI=0;
  68.   k=SBUF;
  69.   if(k==Self_Define_ISP_Download_Command)
  70.   {
  71.    for(a=1000;a>0;a--)
  72.     for(b=100;b>0;b--);
  73.    IAP_CONTR = 0x60;
  74.   }
  75. }
  76. else
  77. {
  78.   TI=0;
  79. }
  80. }
复制代码





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