模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

[单片机课堂] 第三课:人生第一个程序

  [复制链接]
发表于 2016-9-2 11:26:58 | 显示全部楼层
666666                                   
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2016-9-2 12:10:32 | 显示全部楼层
佳友 发表于 2016-9-2 08:32
学习完毕,等待更新

是第一次学单片机吗
回复 支持 0 反对 1

使用道具 举报

发表于 2016-9-2 12:13:05 来自手机 | 显示全部楼层
学习了,要求套件提供,谢谢
回复 支持 1 反对 0

使用道具 举报

发表于 2016-9-2 14:10:17 | 显示全部楼层
萝丽大神 真是辛苦啊
回复 支持 0 反对 1

使用道具 举报

发表于 2016-9-2 22:05:36 | 显示全部楼层
没有编程基础好学么

点评

其实每个人在学之前都是没有编程基础的对不  发表于 2016-9-3 10:55
回复 支持 0 反对 1

使用道具 举报

发表于 2016-9-2 22:09:57 | 显示全部楼层
一点基础都没有,学的会么

点评

每天课不多,每天讲的搞懂就可以  详情 回复 发表于 2016-9-3 10:56
回复 支持 0 反对 1

使用道具 举报

发表于 2016-9-3 02:08:48 | 显示全部楼层
E文不行,还要好好补补。

顶楼主!
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2016-9-3 10:56:37 | 显示全部楼层
飞一样的感觉 发表于 2016-9-2 22:09
一点基础都没有,学的会么

每天课不多,每天讲的搞懂就可以
回复 支持 1 反对 0

使用道具 举报

发表于 2016-9-3 12:01:35 | 显示全部楼层
赞赞赞                    
回复 支持 1 反对 0

使用道具 举报

发表于 2016-9-3 12:09:14 | 显示全部楼层
学习学习                    
回复 支持 1 反对 0

使用道具 举报

发表于 2016-9-3 12:23:32 | 显示全部楼层
楼主辛苦了!每次教学贴必须顶!感谢萝莉老师的教程!
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 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系列单片机;
点击生成代码,然后复制到你自己的程序里就可以了。
第三课:人生第一个程序  作者:我爱萝丽爱萝丽 299
  1. #include<reg51.h>


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

  5.         //_nop_();
  6.         //_nop_(); 这两个用不到,直接删掉
  7.         i = 46;
  8.         j = 153;
  9.         k = 245;
  10.         do
  11.         {
  12.                 do
  13.                 {
  14.                         while (--k);
  15.                 } while (--j);
  16.         } while (--i);
  17. }

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

  20. main()
  21. {
  22.         
  23.         while(1)
  24.         {
  25.                 Delay1000ms();//每一行程序结尾要加分号
  26.         }
  27.         
  28. }
复制代码


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


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


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

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


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



回复 支持 1 反对 0

使用道具 举报

发表于 2016-9-3 12:50:24 | 显示全部楼层
希望萝莉大神讲到差不多的时候讲讲遥控的代码呗第三课:人生第一个程序  作者:wwwlyj123321 2671

点评

会的,还会有一款超简易的遥控器发布  发表于 2016-9-3 13:00
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2016-9-3 13:29:13 | 显示全部楼层
本帖最后由 我爱萝丽爱萝丽 于 2016-9-11 02:39 编辑

1.4 单片机的引脚


当当当当~~~请出我们本次课程的主角:STC 最简单的8脚单片机!
第三课:人生第一个程序  作者:我爱萝丽爱萝丽 5164


这个单片机的各个引脚是什么功能呢?
打开STC-ISP软件,找到封装脚位选项,可以看到具体描述:
第三课:人生第一个程序  作者:我爱萝丽爱萝丽 194


知识点(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。
这个单片机只有可怜的几个引脚,所以就只能用其中一部分啦。
这些引脚还有一些别的名称,那是额外的功能,暂时无需知道。

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




回复 支持 1 反对 0

使用道具 举报

发表于 2016-9-3 13:43:12 | 显示全部楼层
强烈建议楼主上视频,第一,学者们可以轻松学习,更直观更有效。第二,楼主可以花更多的时间来讲解的更细,敲一行字应该可以说好几句话了。

点评

视频有视频的好处,帖子也有帖子的好处,可以随时交流和修改增删  详情 回复 发表于 2016-9-3 14:08
回复 支持 0 反对 1

使用道具 举报

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

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

点评

还是贴子好,可以慢慢看,视频跑过了,要暂停,不方便,  发表于 2016-9-4 12:54
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2016-9-3 14:09:32 | 显示全部楼层

哪里不明白,明确说出来。可能我还有很多遗漏的地方
回复 支持 0 反对 1

使用道具 举报

发表于 2016-9-3 14:50:20 来自手机 | 显示全部楼层
大括号{{内空了好多格是什么意思呀?好想和萝莉老师学编程 可是一点基础都没有 能学会吗?

点评

空的行就是没有程序,也可以填上代码。一点基础也没有就要多练习了,课程讲的代码自己重新写一遍  详情 回复 发表于 2016-9-3 15:18
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!