您现在所在的是:

单片机论坛

回帖:7个,阅读:823 [上一页] [1] [下一页]
* 帖子主题:

单片机的学习交流

-137
3306607541
文章数:1
年度积分:-137
历史总积分:-137
注册时间:2015/11/22
发站内信
发表于:2015/11/23 14:23:25
#0楼
随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,下面就结合本人的学习、教学经验,对这些最基本概念作一说明,希望对自学者有所帮助。
  一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。

  二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的──数字,或者说都是一串‘0’和‘1’ 组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:

1·地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。

2·方式字或控制字(如MOV TMOD,#3),3即是控制字。

3·常数(如MOV TH0,#10H)10H即定时常数。

4·实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。

理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。

  三、P0口、P2口和P3的第二功能用法初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃(即死机)。

  四、程序的执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。
6530
lenyan13
文章数:1828
年度积分:50
历史总积分:6530
注册时间:2008/9/21
发站内信
发表于:2015/11/23 19:42:44
#1楼
谢谢楼主总结这么多宝贵的经验
4269
pacific_boy
文章数:341
年度积分:53
历史总积分:4269
注册时间:2014/3/8
发站内信
发表于:2015/11/23 20:27:36
#2楼
单片机我也是自学的,当年从汇编指令学的,礼拜天在电脑前一坐一下午,买了个开发板,一条指令一条指令的在脑子里过,然后结合硬件流程分析。印象很深刻,以至于后来看PLC梯形图,有点不适应。因为,单片机我可以通过指令全面掌控程序存储区和数据存储区。我让它干什么就干什么,当然后来听说有了实时操作系统,自己也没钻研了。而PLC总感觉有种在内核外面不自由的感觉。
37231
cvlsam 版主
文章数:12401
年度积分:1583
历史总积分:37231
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2015/11/23 20:37:11
#3楼
以下是引用lenyan132015/11/23 19:42:44的发言:
谢谢楼主总结这么多宝贵的经验

你在感谢的同时没有思考一下楼主为啥是-143分?
17124
gf2003129
文章数:10760
年度积分:50
历史总积分:17124
注册时间:2007/9/2
发站内信
发表于:2015/11/23 20:42:09
#4楼
学校学的感觉很枯燥!
做什么事贵在坚持!
6530
lenyan13
文章数:1828
年度积分:50
历史总积分:6530
注册时间:2008/9/21
发站内信
发表于:2015/11/24 17:43:31
#5楼
回复 #3楼 cvlsam
为什么是-的分数?
37231
cvlsam 版主
文章数:12401
年度积分:1583
历史总积分:37231
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2015/11/24 19:47:16
#6楼
以下是引用lenyan132015/11/24 17:43:31的发言:
为什么是-的分数?

你像LZ一样天天发广告贴,很快也会是-的分数。
24423
zzn6737
文章数:11989
年度积分:352
历史总积分:24423
注册时间:2006/9/18
发站内信
2016国庆活动(三)
发表于:2015/11/24 19:52:52
#7楼
以下是引用cvlsam2015/11/24 19:47:16的发言:
以下是引用lenyan132015/11/24 17:43:31的发言:
为什么是-的分数?

你像LZ一样天天发广告贴,很快也会是-的分数。
楼主是醉翁之意不在分啊,扣分没什么效果。
有问题可加

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005