矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 49904|回复: 167

学习51单片机,从点亮一个灯开始!

  [复制链接]
     
发表于 2014-5-19 22:19:53 | 显示全部楼层 |阅读模式
本帖最后由 yangcheng84 于 2014-5-19 22:36 编辑



看到许多朋友对51单片机学习跃跃欲试却没试,在这录了一个视频,因为不是专业摄像的,视频压缩了,不太清晰,但也能看得(家乡广西,普通话发音不太准确,望见谅).

用C语言编写单片程序,常用关键字也就十几个不必担心   “我英文还差能学吗?”   “C语言好难啊” 这样的问题.

学习51单片机,从点亮一个灯开始!此贴适用于初学者.

#include <AT89X52.H>
#define  LED  P1_1

main()
{
LED=0;

while(1);

}

脚本.PNG

A (1).JPG


A (2).JPG


A (3).JPG

A (4).JPG

A (5).JPG


A (6).JPG




A (7).JPG


评分

4

查看全部评分

     
发表于 2019-5-23 09:35:30 | 显示全部楼层
yangcheng84 发表于 2014-5-20 17:56
老兄想必是位学校老师或者是老鸟级别人物了. 记得在读书时实验室的好几个仪器坏了,实验室老师一方面出于 ...

支持你的观点.学习单片机要从最简单的实践开始.否则花上几个月时间,看了厚厚的教科书,有的人看的头都大了,有的人自以为看懂了.到头来连管脚都搞不清,走马灯都点不亮.所以先模仿,抄一段程序,就是不太明白也没关系,先把灯点亮了再说.然后设定几种不同的亮法,修改程序来实现它.这样才会有兴趣,才能学好单片机.
回复 支持 1 反对 0

使用道具 举报

     
发表于 2017-12-28 16:46:50 | 显示全部楼层
14年的帖子现在还这火,讨论的还真是厉害。楼主开的话题是没有问题的,学习单片要从操作IO口开始。最简单的程序编辑和电路搭建就是点亮LED。初学者了解IO口操作使用片内资源做流水灯实验也是必然的。对于初学者连基本的IO口的操作和延时都不明白那就更不用说是以后更多单片资源利用了!试问老师们你们刚用单片的时候不是IO口操作吗?你能叫初学者用定时器控制IO吗?用定时器计数器计算测量距离吗?上位机下位机串口通信吗?24C01-02读写操作吗?II2总线通信吗?试问老师们你们不是从这些程序电路搭建过来的吗???
单片的学习要一步一个脚印的学习,一步一步的走上来利用有限的资源达到自己想实现的功能为目的,就是浪费了资源而达到了想要的目的也是可行的!
比方说老师们你的孩子上学校时那个年代要找人上好学校你们找的是谁了,你的人脉资源用上了就是给孩子找个好学校,你觉得浪费了吗!你的目的达到了吗!!!
回复 支持 1 反对 0

使用道具 举报

发表于 2016-1-30 20:12:04 | 显示全部楼层
点亮一个灯,你可能觉得完了,没啥用。可是你想如果是一个电磁铁根据你的要求动作,不就有用了吗,全自动洗衣机不就是几个电磁铁和时间继电器的动作吗,
回复 支持 1 反对 0

使用道具 举报

     
发表于 2015-8-18 09:46:15 | 显示全部楼层
有些人会跑了就忘了自己曾经也是爬着过来的。流水灯就是小孩爬着走路的开始。

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

     
发表于 2014-11-5 22:28:29 | 显示全部楼层
这个要顶,楼主开的好贴、谢谢。
还有,那位一串数字做网名的“高手”,如果您不想或不屑把我们菜鸟的问题解释清楚,就请闭嘴吧。
回复 支持 1 反对 0

使用道具 举报

     
发表于 2015-5-13 13:37:38 | 显示全部楼层
2549608436 发表于 2014-5-21 08:22
我梦见自己正在小学校的讲堂上预备作文,向老师请教立论的方法。
“难!”老师从眼圈外斜射出眼光来,看着 ...

说孩子会死,不揍他不解气,假如他说这孩子能活到91岁才死,那又是什么结果呢。这个语言逻辑也许就是单片机的逻辑运算吧!
回复 支持 1 反对 0

使用道具 举报

     
发表于 2014-5-19 22:24:02 | 显示全部楼层
好的!我也跟着点亮一个灯.然后呢?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2014-5-19 22:45:21 | 显示全部楼层
绝对整烂 发表于 2014-5-19 22:24
好的!我也跟着点亮一个灯.然后呢?

灯亮起了没有?
回复 支持 反对

使用道具 举报

     
发表于 2014-5-19 23:14:17 | 显示全部楼层
没有,那个P1_1在我的软件里不认识,报错
回复 支持 反对

使用道具 举报

     
发表于 2014-5-19 23:16:25 | 显示全部楼层
main()
{
   P1=0xfe;
while(2);
}
这样写可以点亮那个灯,我也没有AT89X52.H 这个文件,只有个REG51.H.或者startup.A51
回复 支持 反对

使用道具 举报

     
发表于 2014-5-19 23:39:14 | 显示全部楼层
原来楼主那样的写法,在UV2里是不能用的,得在UV4里那样写,我下了了个UV4,但是英文的..
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2014-5-20 00:43:10 | 显示全部楼层
绝对整烂 发表于 2014-5-19 23:39
原来楼主那样的写法,在UV2里是不能用的,得在UV4里那样写,我下了了个UV4,但是英文的..

英文也能用,当然也可以选择汉化的。
回复 支持 反对

使用道具 举报

     
发表于 2014-5-20 07:56:58 | 显示全部楼层
yangcheng84 发表于 2014-5-20 00:43
英文也能用,当然也可以选择汉化的。

建议楼主写教程还是用UV2吧,这个可以得到试用板,这样可以少走弯路,比如我.
回复 支持 反对

使用道具 举报

     
发表于 2014-5-20 08:09:43 | 显示全部楼层
跑马灯实际上是单片机的坟墓!!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2014-5-20 09:19:51 | 显示全部楼层
绝对整烂 发表于 2014-5-20 07:56
建议楼主写教程还是用UV2吧,这个可以得到试用板,这样可以少走弯路,比如我.

教程谈不上,只是和初学者分享经验罢了。


编译器适合使用高版本的为好,还纠错查错方面有优势。我这有该版本的文件包,中文的,需要的话请留下邮箱地址,谢谢
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2014-5-20 09:23:48 | 显示全部楼层
2549608436 发表于 2014-5-20 08:09
跑马灯实际上是单片机的坟墓!!


2549608436 兄说的小弟实在不敢苟同。  不积跬步无以至千里,我们从来不相信哪位不是从基础学过来的。


另外,需要特别指出的是:有这么一部分人,自己水平确实很高,对待菜鸟的问题不屑一顾也就罢了,但却喜欢指手画脚,并不做建设性的建议,哎---
回复 支持 反对

使用道具 举报

     
发表于 2014-5-20 10:14:33 | 显示全部楼层
yangcheng84 发表于 2014-5-20 09:19
教程谈不上,只是和初学者分享经验罢了。

麻烦给套中文版的UV4,如果英文版的功能更全的话,也给一套英文版的。
回复 支持 反对

使用道具 举报

     
发表于 2014-5-20 10:32:15 | 显示全部楼层
2549608436 发表于 2014-5-20 08:09
跑马灯实际上是单片机的坟墓!!

有什么快速成功的办法么??我都学了4年了。还不能顺利地点亮想要点亮的灯。
回复 支持 反对

使用道具 举报

     
发表于 2014-5-20 10:37:46 | 显示全部楼层
#define  LED  P1_1
和 sbit LED=P1^1
有什么不同?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2014-5-20 10:52:24 | 显示全部楼层
绝对整烂 发表于 2014-5-20 10:37
#define  LED  P1_1
和 sbit LED=P1^1
有什么不同?

是一样的,之所以写法不同,是因为头文件里定义的形式不同而已。

一句话:通用

补充内容 (2014-5-20 14:16):
一句话:此处通用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-30 02:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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