注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- 工控机论坛 -- 研华工控机论坛 -- 编程与维护

中国工控网搜索:

 登陆:密码:  注册  密码

搜索:

发表人:yangliao 发表时间:2007/8/11 23:33:00  

 

 本栏论题: 初学单片机几个不易掌握的概念  [2036]

    随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习 单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深 入地讲解这些概念,但这些内容又是学习中必须要理解的,本文将就这些最基本概念作一说 明,希望对自学者有所帮助。
      一、总线:
       我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连 线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算 机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作 必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各 器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件 共同享用连线,所有器件的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’单元中存放的一定是一条指令。
      五、堆栈
       堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就 是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先 出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务 的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的

以下是关于《初学单片机几个不易掌握的概念》论题的回复(共1篇)

回复人:xidong 

 回复时间:2008/1/19 11:23:00

支持(465) | 反对(482)

 

    开个单片机课程就好了

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳