标题: 这段单片机程序是什么意思?能不能在关键的地方注释一下? [打印本页]

作者: silimi    时间: 2021-6-23 22:59
标题: 这段单片机程序是什么意思?能不能在关键的地方注释一下?
谢谢大家

IMG_20210623_225205.jpg (1.67 MB, 下载次数: 58)

IMG_20210623_225205.jpg

作者: 18701931930    时间: 2021-6-24 08:01
我只能说你太懒了,这么基础的代码。先买块开发板学习学习吧。
作者: cheney03    时间: 2021-6-24 08:37
流水灯程序,左移,右移
作者: angmall    时间: 2021-6-24 08:45
给你在关键的地方注释了

  1. #include <reg52.h>           //此文件中定义了单片机的一些特殊功能寄存器
  2. #include <intrins.h>         //循环移位函数头文件
  3. typedef unsigned int u16;    //对数据类型进行声明定义
  4. typedef unsigned char u8;    // 宏定义
  5. #define led P2               // 宏定义
  6. /*------------------------------------------------
  7. 延时函数,含有输入参数 unsigned int t,无返回值
  8. unsigned int 是定义无符号整形变量,其值的范围是
  9. 0~65535
  10. ------------------------------------------------*/
  11. void delay(u16 i)            //延时子函数
  12. {
  13.         while(i--);
  14. }
  15. void main()                  //主函数
  16. {
  17.         u8 i=0;                  //定义一个无符号字符型局部变量 i 取值范围 0~255
  18.         led=0xfe;                //赋初始值
  19.         delay(10000);            //延时
  20.         while(1)                 //主循环
  21.         {
  22.                 for(i=0;i<8;i++)     //加入 for循环,表明for循环大括号中的程序循环执行8次
  23.                 {
  24.                         led=_crol_(led,1);    //左移
  25.                         delay(5000);          //延时
  26.                 }
  27.                 for(i=8;i>0;i--)     //加入 for循环,表明for循环大括号中的程序循环执行8次
  28.                 {
  29.                         led=_cror_(led,1);    //右移
  30.                         delay(5000);          //延时
  31.                 }
  32.           //主循环中添加其他需要一直工作的程序
  33.         }
  34. }

复制代码

作者: lzl12399    时间: 2021-6-24 08:48
楼上正解,不过楼主兄弟确实够懒惰了,学习需要实践精神
作者: yzwzfyz    时间: 2021-6-24 09:23
劝楼主改学CEO专业。
作者: silimi    时间: 2021-6-24 09:50
声明一下,刚高考完,刚了解单片机的汇编,C语言不了解,这个PPT是我哥的,我想学习一下,打扰各位了
作者: silimi    时间: 2021-6-24 10:14
angmall 发表于 2021-6-24 08:45
给你在关键的地方注释了

感谢感谢感谢
作者: 赵庚赓    时间: 2021-6-24 10:39
刚开始是前两行定义头文件,三四行是把u8,u16定义为相关类型的,第五行p2口接led,然后是一个延迟函数,然后主函数里面先让p2口为11111110,然后左右移动,
作者: 菇凉犹在    时间: 2021-6-24 11:41
这个就是那个单片机来控制跑马灯的程序,其中头文件intrins是包含循环移位函数,移位函数实现循环移动一位,即可以理解为电平的移动,然后即可实现跑马灯

作者: silimi    时间: 2021-7-1 22:57
yzwzfyz 发表于 2021-6-24 09:23
劝楼主改学CEO专业。

好的呢




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