TDA2030功放电路图 电动车充电器电路图 电子电路 功放电路 电子制作 集成块资料 电子报 pcb 变压器 元器件知识 逆变器电路图 电路图 开关电源电路图 传感器技术 led 电磁兼容
电子电路图
当前位置: 首页 > 电子电路 > 设计编程

初学单片机不易掌握的几个概念

时间:2011-08-20 20:50:26来源:原创 作者:admin 点击:
《版权声明:本文由www.dziuu.com整理提供,部分内容来源于网络,如有侵犯到你的权利请与我们联系更正。》

3·常数(如MOV TH0,#10H)10H即定时常数。《版权声明:本文由www.dziuu.com整理提供,部分内容来源于网络,如有侵犯到你的权利请与我们联系更正。》

输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是输出值。又如用于LED的字形码,也是输出的值。《版权声明:本文由www.dziuu.com整理提供,部分内容来源于网络,如有侵犯到你的权利请与我们联系更正。》

理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。《版权声明:本文由www.dziuu.com整理提供,部分内容来源于网络,如有侵犯到你的权利请与我们联系更正。》

  三、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变为高电平,但使用者不会这么去做,这通常这会导致系统的崩溃(即死机)。《版权声明:本文由www.dziuu.com整理提供,部分内容来源于网络,如有侵犯到你的权利请与我们联系更正。》

  四、程序的执行过程 单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,程序总是从‘0000’单元开始执行,也说:在系统的ROM中要存在‘0000’单元,并且在‘0000’单元中存放的是一条指令。《版权声明:本文由www.dziuu.com整理提供,部分内容来源于网络,如有侵犯到你的权利请与我们联系更正。》

  五、堆栈 堆栈是一个区域,是用来存放数据的,区域本身没有特殊之处,内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。SP中的值可以用指令加以改变,只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。程序的开头总有这么一条设置堆栈指针的指令,开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱。不同作者编写程序时,初始化堆栈指令也不,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是下编程者不会把它当成普通内存用了。容-源-电-子-网-为你提供技术支持

本文地址:http://www.dziuu.com/dz/22/2011820205519.shtml


本文标签:


.
首页 上一页1234下一页尾页
顶一下
0%
返回首页
0
0%

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
表情:
名称: E-mail: 验证码: 匿名发表
发布文章,推广自己产品。
热门标签