二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
1�6�1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
2�6�1方式字或控制字(如MOV TMOD,#3),3即是控制字。
3�6�1常数(如MOV TH0,#10H)10H即定时常数。
4�6�1实际输出值(如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的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明: ORG 0000H LJMP START ORG 040H START: MOV SP,#5FH 设堆栈 LOOP: NOP LJMP LOOP ;循环 END ;结束 最后祝你学的愉快!字难打,望能采纳!!O(∩_∩)O谢谢!
应该有影响的,影响应该很大的。
杆秤就是利用杠杆平衡原理来称重量的简易衡器,杆秤尾巴断了以后,影响到自身平衡的。
下面详细说说杆秤的原理,供您参考:
【杆秤简介】
杆秤是秤的一种,是利用杠杆平衡原理来称重量的简易衡器,由木制的带有秤星的秤杆、金属秤锤、提绳等组成。
以带有星点和锥度的木杆或金属杆为主体,并配有砣(砝码)、砣绳和秤盘(或秤钩)的小型衡器。
按使用范围和秤量的大小分为戥子、盘称和钩秤3种。
杆秤由第一类杠杆组成,其重心在支点外端。
称重时根据被称物的轻重,使砣与砣绳在秤杆上移动以保持平衡。
根据平衡时砣绳所对应的秤杆上的星点,即可读出被称物的质量示值。
杆秤的结构和制作工艺简单,轻小,携带使用方便,造价低廉,但准确度低。
杆秤是人类发明的各种衡器中历史最悠久的一种。
在中国湖南长沙东郊楚墓出土的公元前700年前的文物中,已有各种精制的砝码、秤杆、秤盘、系秤盘的丝线和提绳等。
中国汉墓出土的公元前200年前的文物中,已有各种规格的杆秤砣。
1989年,在中国陕西眉县常兴镇尧上村的一座汉代单窑砖墓中,发现完整的木质杆秤遗物,其制作时间约在公元前1~公元1世纪。
古代杆秤的发展,长期停留在采用绳纽、非定量砣和木、竹、骨秤杆的基础上,并由手工制作。
直到20世纪,杆秤才由传统的绳纽结构,逐渐改变为外刀纽与刀承或内刀纽与刀承结构。
1949年后,中国为了加强计量法制管理,先后制订了杆秤检定规程和国家标准。
1985~1987年,中国对杆秤结构作了一次重大改革,将原来的木质杆改为金属杆,从而解决了木质杆的计量准确度受地区及天气影响的弊病,并适应了半机械化、标准化、通用化和大批量生产的需要。
但杆秤因其计量准确度低,已渐趋淘汰。
【杆秤文化】
千百年来,手杆秤也可算作华夏“国粹”。
它制作轻巧、经典,使用也极为便利,作为商品流通的主要度量工具,活跃在大江南北,代代相传。
天地间有杆秤,人们不断赋予秤的文化内涵,公平公正的象征,天地良心的标尺,一桩桩交易就在秤砣与秤盘的此起彼伏间完成。
随着时代发展,一些事物也将退出我们的日常生活,而电子秤的普及,则预示着杆秤将退出历史的舞台,成为民族的符号。
杆秤匠制作杆秤技术是口口相传流传下来的。
做秤是一门精细的手艺,从选材,刨圆,到用碱水浸泡,打磨,钉秤花等多道程序,道道容不得半点马虎,稍有不慎,秤就会有偏差。
杆秤匠对职业极为神圣虔诚,从不因 *** 作失误而让秤短斤少两。
做秤选用的木杆较为挑剔,需要纹路细腻且木质坚硬,柞栎木、红木等都是上等的材料。
为了保证木杆不开裂,选后的材料要放在干燥处堆放两个伏天后才能使用。
木材经凿、刨的处理后,变成了笔直的又长又细的椭圆柱体,再用细砂布沾水,打磨得又光又滑,也有的用蓼珠子来回擦拭。
从这一点看,秤匠绝对也可称得上是一位极好的木匠。
木杆两端套上金属皮后,杆秤便出现其雏形。
接下来的,便是精细的活计,制定重量刻度。
秤匠也需懂得物理、数学,否则定刻度时颇费力。
打磨好的秤杆挂上秤盘后定支点,用砝码校验,这是一个极为细致的过程。
杆秤匠左手食指不停地轻轻拨动秤砣,当木杆处于平衡时,用双脚规在木杆背面划一道印记,这道记号就叫定盘星,其余便按此推断重量。
杆秤上密密麻麻地出现了各种记号,旁人是看不懂的。
杆秤匠用一把极为精致的戳子对着记号打眼,一杆秤上有多少星,便需多少眼。
一枝承受15公斤的秤要钻近300个眼,这道程序很需耐心,稍不注意就会戳穿木杆而报废。
杆秤匠大多都双眼凹陷,多半是钻孔时用眼过度引起的。
将一段段的细铝丝插入眼中,折断,锉平,便留下了一个个星点。
星点的排列结构也成了各秤匠之间辨认自己产品的标识。
几百个眼,当然要几百次穿插、折断、锉平。
也有些秤匠为了省时,把水银抹入眼中,便成了星点。
杆秤的最后一道程序是上色,需要青黑色秤杆的,用五倍子、青矾捏碎沾水后涂抹;喜欢红褐色的,用泡过的红茶渣、石灰搓揉抛光……秤的颜色完全凭客户的喜好来决定。
如今,懂这行与做这行的人越来越少,这都是一个不争的事实。
打磨杆秤,岁月也在打磨中逝去,手艺也在打磨中消失。
【制作方法】
(1)选取一次性筷子一根,用刀及砂纸打磨光滑;
(2)把铁皮剪成圆形制成秤盘,用细绳在圆盘四周绑好吊起;
(3)在打磨好的秤杆的一端钻上一个洞,把圆盘挂上;
(4)用一颗5克左右的螺母绑上绳子制成秤砣;
(5)把秤杆、圆盘、螺母挂好,找出整个系统的重心,在重心上钻上小洞,挂上绳子作为提纽;
(6)不放物体使杆秤平衡,找出零刻度线的位置并做好记号;
(7)放上20克的物体,找出20克物体平衡时秤砣的位置,此处即为20克物体的位置;
(8)在零刻度线到20克位置之间平均画上20个刻度,每一刻度即为1克。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)