单片机学习应用

时间:2023-03-08作者:佚名
一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的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的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。
六、单片机的开发过程: 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。

相关阅读

电线、电缆敷设、电缆头制作、导线连接安装工艺,新手必读

《电缆的导体》GB/T 3956 结构 a.)实心导体(第1种)应由第4章规定的材料之一构成. b)实心侧导体应为圆形截面. 注.标称截面积25mm²及以上的实心铜导体用于特殊类的电缆,如矿...
2023-06-11
电线、电缆敷设、电缆头制作、导线连接安装工艺,新手必读

电工等级证分为哪几个等级呢?

电工等级证根据电工的专业技能和工作经验来划分,共分为五个等级,具体如下:1. **初级电工(五级)**:这是电工等级中的最低级别,持有者需具备一定的电力基础知识和技能,能够进行简单的...
2024-08-09
电工等级证分为哪几个等级呢?

电气基础问答(一)

1、对 10kV 变(配)电所的接地有哪些要求? 答:变压器、开关设备和互感器 (PT、CP)的金属外壳,配电柜、控制保护盘、金属构架、防雷设备、电缆头及金属遮栏等。对接地装置有下列...
2023-06-27

【基础知识】为什么要测量接地电阻

为什么要接地 接地可防止人身遭受电击,还可以防止设备和线路遭受损坏、预防火灾、防止雷击、防止静电损害和保证电力系统的正常运行。 为什么要测量接地电阻 每隔一定时间要...
2026-05-23
【基础知识】为什么要测量接地电阻

步进电机失步的检测步骤

如果你确认机床的步进电机 是否失步,可以按以下方法进行检测。 先解释一下失步这个词。一般的步进电机都是三相六拍、五相十拍这两种。大家是否注意到了,三相六拍的控制器有...
2023-03-21

热销商品

耐磨耐油丁腈耐高温氟胶防水环保级硅胶包覆聚四氟橡胶O型密封圈

本款O型密封圈采用多层复合结构设计,外层为环保级硅胶,具备优异的防水、耐候与生物相容性;中间层采用耐磨耐油的丁腈橡胶(NBR),确保在油污环境中长期稳定运行;内层则选用...
1

电焊机焊把线电焊线国标电缆线16 25 35 50 70平方纯铜焊把线

电焊机焊把线,作为焊接作业中不可或缺的一部分,其质量直接关系到焊接质量和安全。国标电缆线1625355070平方纯铜焊把线,严格遵循国家标准,采用纯铜材质,确保了优秀的导...
4.2

100%桑蚕丝香云纱饰品发圈发夹口罩眼罩发带腰封直播专拍单拍无效

100%桑蚕丝香云纱饰品系列,精选天然桑蚕丝与非遗香云纱工艺匠心打造,质感柔滑亲肤,光泽雅致,尽显东方韵味。包含发圈、发夹、口罩、眼罩、发带、腰封等多款实用配饰,适...
1

灭火器检查记录表消防器材点检卡月检查卡套卡片标签定满包邮增票

灭火器检查记录表、消防器材点检卡、月检查卡套、卡片标签等消防器材管理工具,是保障消防设备安全运行的重要辅助工具。这些记录卡和标签用于定期检查灭火器、消防...
0.36

激光保护镜片30*5进口石英焊接机28*4窗口片37*7光纤切割机头配件

激光保护镜片305进口石英焊接机284窗口片377光纤切割机头配件是一种用于激光加工的精密设备,具有高精度、高稳定性和高可靠性的特点。该设备采用了进口石英材料制...
3.5

网站栏目