蓝色羽翼 发表于 2016-9-2 11:26:58

666666                                 

我爱萝丽爱萝丽 发表于 2016-9-2 12:10:32

佳友 发表于 2016-9-2 08:32
学习完毕,等待更新

是第一次学单片机吗

lingzhixun 发表于 2016-9-2 12:13:05

学习了,要求套件提供,谢谢

hu19871020 发表于 2016-9-2 14:04:51

学习了

wlnr9999 发表于 2016-9-2 14:10:17

萝丽大神 真是辛苦啊

枫飞秋语 发表于 2016-9-2 22:05:36

没有编程基础好学么

飞一样的感觉 发表于 2016-9-2 22:09:57

一点基础都没有,学的会么

老晋 发表于 2016-9-3 02:08:48

E文不行,还要好好补补。

顶楼主!

我爱萝丽爱萝丽 发表于 2016-9-3 10:56:37

飞一样的感觉 发表于 2016-9-2 22:09
一点基础都没有,学的会么

每天课不多,每天讲的搞懂就可以

zhangyiyun2014 发表于 2016-9-3 12:01:35

赞赞赞                  

zhangyiyun2014 发表于 2016-9-3 12:09:14

学习学习                  

TLT 发表于 2016-9-3 12:23:32

楼主辛苦了!每次教学贴必须顶!感谢萝莉老师的教程!

我爱萝丽爱萝丽 发表于 2016-9-3 12:48:41

本帖最后由 我爱萝丽爱萝丽 于 2016-9-4 11:29 编辑

1.3 延时函数


我们要想让单片机正确的做事,必须要知道什么时间去做。比如现在客户有一个要求,按下按钮以后,灯泡亮一秒自动熄灭。
怎样知道时间过去了一秒呢?最简单的方法:软件延时。
STC单片机有一个好处,就是下载软件自带程序生成器,我们可以用这个功能方便的创建不同时间的延时函数。
打开STC-ISP软件,找到软件延时计算器;
系统频率选择12Mhz,我们以后写程序都默认这个频率;
定时时间选择1000毫秒(ms),就是1秒(s)。1毫秒(ms)等于1000微妙(us);
指令集选择Y5,代表STC15系列单片机;
点击生成代码,然后复制到你自己的程序里就可以了。

#include<reg51.h>


void Delay1000ms()                //@12.000MHz
{
      unsigned char i, j, k;

      //_nop_();
      //_nop_(); 这两个用不到,直接删掉
      i = 46;
      j = 153;
      k = 245;
      do
      {
                do
                {
                        while (--k);
                } while (--j);
      } while (--i);
}

//此为分界线,函数的具体内容写在上面;
//下面是具体的程序,写函数名字就可以调用了。

main()
{
      
      while(1)
      {
                Delay1000ms();//每一行程序结尾要加分号
      }
      
}

知识点(4) 延时函数原理
可以看到自动生成的延时函数里有很多密密麻麻的东西,不要感到恐惧,其实它就是靠反复执行那些无用的东西浪费时间,才有了延时效果。
现在先不用管是怎么写的,现在只需会用就行了。


知识点(5) 声明函数
在函数调用之前,要先声明,所以要放在主函数之前。


知识点(6) 调用函数
只有在程序中调用了函数,它才会实际生效。

知识点(7) 程序注释
这段函数什么意思?如果怕自己忘了或别人看不懂,可以在函数中添加注释,注释可以用汉字。
格式:
//注释内容
具体原理是:“//”符号后面的东西Keil软件就当做不存在,只有人类才能看见哦


现在的程序就是在反复执行延时1秒的函数,赶快编译试一下吧!



wwwlyj123321 发表于 2016-9-3 12:50:24

希望萝莉大神讲到差不多的时候讲讲遥控的代码呗http://www.moz8.com//mobcent//app/data/phiz/default/03.png

我爱萝丽爱萝丽 发表于 2016-9-3 13:29:13

本帖最后由 我爱萝丽爱萝丽 于 2016-9-11 02:39 编辑

1.4 单片机的引脚


当当当当~~~请出我们本次课程的主角:STC 最简单的8脚单片机!



这个单片机的各个引脚是什么功能呢?
打开STC-ISP软件,找到封装脚位选项,可以看到具体描述:



知识点(8) VCC、GND
GND是地,代表电源的负极,VCC就是电源正极了。根据不同的芯片型号,可以接3~5V。


知识点(9) P3.0、P3.1、……
P代表端口的意思,单片机有多个端口,如P0、P1、P2、P3等。
每个端口有8只引脚,对于端口3,有P3.0、P3.1、P3.2、P3.3、P3.4、P3.5、P3.6、P3.7。
这个单片机只有可怜的几个引脚,所以就只能用其中一部分啦。
这些引脚还有一些别的名称,那是额外的功能,暂时无需知道。

在第一课中,我们已经制作出了试验电路,三色灯珠接在单片机的引脚上,如何控制它们?下节课自见分晓!




shikun888 发表于 2016-9-3 13:41:52

不明白呀

471611789 发表于 2016-9-3 13:43:12

强烈建议楼主上视频,第一,学者们可以轻松学习,更直观更有效。第二,楼主可以花更多的时间来讲解的更细,敲一行字应该可以说好几句话了。

我爱萝丽爱萝丽 发表于 2016-9-3 14:08:18

471611789 发表于 2016-9-3 13:43
强烈建议楼主上视频,第一,学者们可以轻松学习,更直观更有效。第二,楼主可以花更多的时间来讲解的更细, ...

视频有视频的好处,帖子也有帖子的好处,可以随时交流和修改增删

我爱萝丽爱萝丽 发表于 2016-9-3 14:09:32

shikun888 发表于 2016-9-3 13:41
不明白呀
哪里不明白,明确说出来。可能我还有很多遗漏的地方

shikun888 发表于 2016-9-3 14:50:20

大括号{{内空了好多格是什么意思呀?好想和萝莉老师学编程 可是一点基础都没有 能学会吗?
页: 1 [2] 3 4 5 6 7 8 9
查看完整版本: 第三课:人生第一个程序