5

主题

0

好友

131

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
197329
帖子
297
精华
0
经验
131 点
金钱
128 ¥
注册时间
2010-5-2
发表于 2011-8-15 00:13 | 显示全部楼层
好!支持楼主!

2

主题

0

好友

29

积分

注册会员 当前离线

Rank: 2

UID
321522
帖子
27
精华
0
经验
29 点
金钱
29 ¥
注册时间
2011-4-20
发表于 2011-8-15 00:33 | 显示全部楼层
单片机我是自学来的,买了好多数字电路基础,逻辑设计,单片机及接口,汇编程序设计等一大堆书,历时八年,当然是业余的学习,没有导师,初中的文化所以只能一句句话的去理解,一遍遍的演算,不厌其烦的实验,多少次想放弃最终还是坚持过来,因为十几年前我知道单片机在自动控制领域一定是主流,以维修家电为业的我不能没有这些知识。可学到现在也只能设计一些不是很复杂的控制系统而已,我只是想说单片机简单,不懂方法想学会很难。我见lz列出一堆c语言编写的程序和电路图而且做了注译,入了门的一看都懂,初学者根本不知道那是什么。所以我对主题有过怀疑和朝讽,今晚看到lz如此坚持很是感动。不如换个像聊天的方法,让有心学单片机且未入门的同学,或者本人以自学的角度对单片机学习中遇到的绊脚石{模糊概念}来提问,您来回答,这样才能快速入门,因为我相信大家都不是省油的灯绝对一点即着。

8

主题

0

好友

1568

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
200119
帖子
2123
精华
0
经验
1568 点
金钱
1552 ¥
注册时间
2010-5-11
发表于 2011-8-15 00:48 | 显示全部楼层
好东西一定要关注下,支持。

0

主题

0

好友

147

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
38545
帖子
282
精华
0
经验
147 点
金钱
147 ¥
注册时间
2008-3-26
发表于 2011-8-15 08:40 | 显示全部楼层
这个一定要支持,目前正想学习单片机

4

主题

1

好友

1763

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
55008
帖子
1817
精华
0
经验
1763 点
金钱
1753 ¥
注册时间
2008-9-19
发表于 2011-8-15 09:56 | 显示全部楼层
回复 73# 小气鬼

我说的是51单片机的C51语言。

2

主题

1

好友

82

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
328113
帖子
331
精华
0
经验
82 点
金钱
82 ¥
注册时间
2011-5-3
发表于 2011-8-15 10:04 | 显示全部楼层
好教材。谢谢楼主分享!

20

主题

0

好友

1282

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
116302
帖子
1308
精华
0
经验
1282 点
金钱
1250 ¥
注册时间
2009-7-6
发表于 2011-8-15 10:56 | 显示全部楼层
楼上的有位朋友说这个帖子可能会变为太监贴,不过我相信,我会坚持的!现在更新~

今天我们来讲讲C语言中 ...
591534671 发表于 2011-8-14 14:09


倒数  右移运算的符号 <<  错了,应该是 >>
LZ这帖子很好,坚持下去,编程方面的理论对新手来说应该是较难理解的,看不懂的同学可以先看一遍,慢慢看多了例子就会懂了

我来简单补充一下二进制,十进制,十六进制

我们平时用的计数都是十进制,十进制也就是逢十进一,0123456789,0-9共10位
所以加法运算9+1=10 即满十进一,也就是0-9的 0 前 进1 = 10,到了19后,再进1就是20

二进制
二进制只有0和1两位, 是用0和1两个数码来表示的数,它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”
二进制的加法有四种情况:
0+0=0
0+1=1
1+0=1
1+1=10 进位为1

十六进制是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样,它由0-9,A-F,组成.与10进制的对应关系是: 0-9对应0-9;A-F对应10-15 十六进制数加法逢十六进一

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-15 12:26 | 显示全部楼层
回复 87# 四眼仔


    呵呵,谢谢你了

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-15 12:29 | 显示全部楼层
回复 82# 陆工


    谢谢你了,说白了我的单片机也是靠自学来的,你的话给了我一些启发。以聊天的形式来讲解是个不错的办法。大家以后有什么对内容不懂的可以向我提问,我知道的一定给你耐心解答。再次感谢陆工!

0

主题

1

好友

328

积分

业余侠客 当前离线

低烧

Rank: 4

UID
104212
帖子
485
精华
0
经验
328 点
金钱
328 ¥
注册时间
2009-5-14
发表于 2011-8-15 12:46 | 显示全部楼层
我想整个呼吸灯,还有触摸开关的程序。
可惜我才刚刚进入这个门,就被很多的障碍挡住了,进不去了,不知道LZ能不能列出个程序,再帮忙讲解下。

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-15 13:15 | 显示全部楼层
我发这篇帖子之前看了下评论,有位叫“陆工”的朋友的一席话让我有所启发。大家从头看到现在是否有不理解、比较模糊的概念?是不是我讲的不清楚?欢迎大家指正、批评。也欢迎大家讲不理解的或是理解比较模糊的问题大胆的提出来,我知道的一定为你讲解。今天我想尝试一下讲比较难以理解的知识简单化讲解,有不好的地方请大家指出。

上次我们讲了一些运算符号和位操作,今天我们接着讲数据类型。
在讲之前,想问问大家,什么是变量?
这是一个很简单的问题,我们在初中数学学过,就是一个变化的量。反之为定量。例如1、10、250、0xff(十六进制数在C语言中的表示方法,在“0x”后面为十六进制数。如0xC0、0x2B)这些是定量。而在程序中不断变化的量就是变量,例如一个变量a,刚刚还是25,现在就变成32了,这就是变量。变量就像一个水瓶,水的多少在于你给他加多少水,在C语言中,有多种多样的“水瓶”,每种“水瓶”的“容量”都是不同的,这就是我们所讲的数据类型。

在C语言中,我们可以随便定义变量,包括大写字母、小写字母、数字、下划线,但是英文字母是区分大小写的,例如变量ABC与变量abc是两个不同而且完全无关系的变量。

在我们给变量取名字之前,我们先要给变量定义,就是说我们要多大的“水瓶”。下面是一些数据类型。
QQ截图未命名.jpg
例如我们要定义一个变量,范围为35~120,我们首先须需要选择数据类型,找到一个范围小于等于35且大于等于120的类型,我们发现,可以用“unsigned char”这种类型,然后在给变量取个名字,这个可以随便取,只要是大写字母、小写字母、数字、下划线就行了。这里我取名为i。在C语言中便可以这样写:
unsigned char i;
之后在用一些语句来对变量i进行使用。

我们常用的数据类型是bit、unsigned char和unsigned int,这些数据类型可以在keil中直接使用,但是float、double需要浮点运算库(C51FPS.LIB)的支持,不过没关系,这两种变量范围已经非常大,我们很少使用,如果必须要使用,在我发给各位的keil软件里有这个文件,直接安装就可以了。

在这里还要注意一点,就是超值的问题。这里的超值不是说商场的降价销售,而是超出了范围的意思。
例如我们定义“bit a=25;”这是一个明显错误的定义,因为bit变量只能为1或0,而且这些错误在keil编译时一般是不会报错的,但是在真正运行时却会发生大问题,到时在编程时千万要注意。

嗯,数据类型就讲完了,下次我们讲的是C语言编程的重点中的重点,就是C语言编程语句的使用,我决定分两次讲。学会他,你就可以编一些简单的程序了~敬请期待~

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-15 13:21 | 显示全部楼层
回复 90# 287096536


    呵呵,你的两个问题在后面我都会作为实例来讲。呼吸灯在我讲完编程语句时会作为一个详细的内容来讲,触摸开关在讲完PWM时会讲,敬请期待哦~

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-15 13:23 | 显示全部楼层
回复 90# 287096536


    如果你学过一定但单片机,一定记得for循环语句把?用for循环语句就可以了。呼吸灯的程序很好写的。

167

主题

2

好友

927

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
265168
帖子
4750
精华
0
经验
927 点
金钱
814 ¥
注册时间
2010-11-25
发表于 2011-8-15 13:25 | 显示全部楼层
学单片机编程是关键,正在学习中,楼主好精神继续

167

主题

2

好友

927

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
265168
帖子
4750
精华
0
经验
927 点
金钱
814 ¥
注册时间
2010-11-25
发表于 2011-8-15 13:26 | 显示全部楼层
学单片机编程是关键,正在学习中,楼主好精神继续

67

主题

0

好友

2169

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
44250
帖子
4956
精华
0
经验
2169 点
金钱
2151 ¥
注册时间
2008-5-28
发表于 2011-8-15 13:51 | 显示全部楼层
一定要收藏,这么好的帖子。随时关注ING。

157

主题

0

好友

1039

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
16006
帖子
2474
精华
2
经验
1039 点
金钱
840 ¥
注册时间
2006-12-15
发表于 2011-8-15 16:26 | 显示全部楼层
一直想学,就是看不明白,但还是要顶

3

主题

0

好友

772

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
49582
帖子
1277
精华
0
经验
772 点
金钱
772 ¥
注册时间
2008-8-1
发表于 2011-8-15 16:57 | 显示全部楼层
我也学习下,谢谢老师!

48

主题

0

好友

1671

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
248009
帖子
1704
精华
0
经验
1671 点
金钱
1687 ¥
注册时间
2010-10-8
发表于 2011-8-15 18:25 | 显示全部楼层
感谢楼主,很多时候我觉得东西够用就好,非要那么顶级的干嘛?你有那么多钱吗?需要那么复杂吗?适合的才是最好的。

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-15 19:10 | 显示全部楼层
回复 99# 高高手


    呵呵,这个不算顶级,顶级的是32位的ARM处理器。。。。这个只是比89s52功能多一些而已,价格不差多少的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部