找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15115|回复: 0
打印 上一主题 下一主题
收起左侧

注释详细的单片机流水灯源程序

[复制链接]
跳转到指定楼层
楼主
ID:379017 发表于 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. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表