什么是堆栈?MCS-51单片机的堆栈怎样设置的? 程序设计时,往往需要一个后进先了的RAM区,以保存CPU的现场。这种后进先出的缓冲区,就称为堆栈。MCS-51单片机的堆栈原则上设在内部RAM的任意区域内 。但是,一般设在31H~7FH的范围之间,栈顶的位置由栈指针SP指出。... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
暂存器介绍以及与寄存器区别 暂存器-介绍用来暂存由数据总线或通用寄存器送来的操作数,并把它作为另一个操作数。寄存器定义寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
EEPROM的几种保护方法 串行EEPROM 应该是一种很可靠的设备,但在我的使用中,经常会出现数据出错的情况,毛主席老人家说:知己知比,方能百战不败!是什么原因呢?其实这种情况多发生在插拔电的情况下。让我们来瞧瞧:1. EEPROM 读写的时序可能有小小的不对2. 是在掉电时,在电压降低到一定程度后到完全没电之... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
在Keill C的调试状态下,如何观察和修改各区数据 在Keill C的调试状态下,如何观察和修改data区、idata区、xdata区的数据?如何观察code区的数据?答:在调试状态下,点击View菜单下的Memory Window命令或对应的按钮,就会显示出或隐藏起存储器窗口。存储器窗口包含4个标签,即4个显示区,分别是Memory#1、…、Memory#4。在4个... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
在Keill C的调试状态下,如何观察和修改寄存器? 在Keill C的调试状态下,如何观察和修改寄存器?答:寄存器窗口、在线帮助窗口和工程管理器是同一个窗口,在工程管理器窗口下包含3个标签,即包含3个区域。在调试状态下,点击View菜单下的Project Window命令或对应的按钮,就会显示或隐藏工程管理器窗口,然后点击窗口下边的寄存器标... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
C51的数据存储区域类型有哪些? C51的数据存储区域类型有哪些?各种存储区域类型是哪种存储空间,存储范围是什么?如何将变量定义存储到确定的位置?答:bit 片内数据区的位寻找区,位地址0x00~0x7f,128位(字节地址0x20~0x2f)data 直接寻址片内数据区的低128字节bdata 片内数据区的位寻址区0x20~0x2f,也可字节访问,16... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
单片机调EEPROM存储器24C256 设置MSP430单片机为主设备,24C256为从设备。IIC总线由SDA和SCL两条线组成,每根线都联结4.7K的上拉电阻。主设备向24C56写:主设备发送start信号—>接着发送8位Device address(0xa0写)—>24C256比较受到的地址,发送应答信号ack->主设备受到ACK后,先发送First word add... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
PC与DPTR各有哪些特点?有何异同 PC与DPTR都是16位的寄存器。PC由两个8位的计数器PCH和PCL组成。PC实际是程序的字节地址计数器,它的内容是将要执行的下一条指令的地址,具有自加1功能。改变PC的内容就可以改变程序执行的方向。DPTR的高字节寄存器用DPH表示,低字节寄存器用DPL表示。DPTR既可以作为一个16位寄... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
什么叫堆栈?堆栈指针SP的作用是什么? 堆栈是在RAM专门开辟的一个特殊用途的存储区。堆栈是按照“先进后出”(即先进入堆栈的数据后移出堆栈)的原则存取数据。堆栈指针SP是一个8位寄存器,其值为栈顶的地址,即指向栈顶,SP为访问堆栈的间址寄存器。... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
门禁系统基础知识问题解答 1、门禁系统中,如何才能有效的实现防尾随? 答:防尾随一直是门禁系统很难解决的问题。建议如下几种方式: 1) 改变门:加装速通门(或三辊闸)。这种方式也有其不足,像速通门,基本上是用在室内,宽度只有55cm,只允许一个人通过,且有计数报警功能,如果两个人 同时通过,将会产生报警。三滚闸可... 2023-06-13 门禁系统基础知识问答文章技术应用工业控制
半导体存储器的分类 按功能能分为只读和随机存取存储器两大类。所谓只读,从字面上理解就是只能从里面读,不能写进去,它类似于我们的书本,发到我们手回之后,我们只能读里面的内容,不能随意更改书本上的内容。只读存储器的英文缩写为ROM(READ ONLY MEMORY)所谓随机存取存储器,即随时能改写,也能读出里面... 2023-06-13 单片机基础知识之单片机存储器单片机基础知识文章单片机基础知识
误解程序运行(从单片机到开始) 关于程序的执行,以前想的不多,没有意识到一个程序在运行时,从哪里读指令,数据又写在哪里。最近在看CSAPP时这个念头经常在脑袋中晃荡。从单片机上知道,在上电的那一刻,MCU的程序指针PC会被初始化为上电复位时的地址,从哪个地址处读取将要执行的指令,由此程序在MCU上开始执行(当然... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
子程序与中断服务程序有何异同之处? 子程序与中断服务程序在功能上有相近之处。对于子程序,它的调用安排是由主程序设定的,它的现场不一定加以保护,可以按照实际情况灵活处理。... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
子程序调用时,有哪几种常用的参数传递方法? 常用的参数传递方法有:(1)用工作寄存器或累加器传递参数(2)用指针寄存器传递参数(3)用堆栈的方法传递参数(4)程序段参数传递方法... 2023-06-13 单片机程序的完善单片机基础知识文章单片机基础知识
什么是子程序的参数传递?参数传递有哪些过程? 子程序调用时,主程序应该先把有关参数放到某些事先约定的位置,这个放置参数的过程就是子程序的参数传递。 子程序在运行时,可以从约定位置得到有关参数;同样,子程序在运行结束前,也应当把运算结果送回到约定位置;子程序结束运行,返回主程序后,主程序将从约定的位置上得到所需要... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
C语言可变参数函数使用总结 //ADS1.2下编译使用void TestFun(char* fmt,...){int ch;char selch = 0;va_list ap = NULL;va_start(ap, fmt);do{selch = *fmt;if (selch!='%'){putchar(*fmt);}else{selch = *++fmt;switch(selch){c... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
单片机C语言编程心得 写这个8*8按键程序的过程中,不管是在自己写还是参考别人程序的过程中,发现自己对C语言有些基本知识点和编程规范有很多不懂的地方,有些是自己以前的编程习惯不好,有些就是基础知识不扎实的表现,所以总结出来。一、.H文件与.C文件的关系:迄今为止,写过的程序都是一些很简单的程序... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
单片机系统设计与C51编程实践分享 1.1 了解单片机的能力【规则1】设计满足要求的最精简的系统。正确估计单片机的能力,知道单片机能做什么,最大程度的挖掘单片机的潜力对一个单片机系统设计者来说是至关重要的。我们应该有这样一个认识,即单片机的处理能力是非常强大的。早期的PC机,其CPU(8086)处理能力和8051... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
单片机编程心得 1. 无论什么时候我们都要以实际应用的角度去考虑程序的编写。2. 无论什么时候都不要让CPU白白浪费等待,尤其是延时(超过1MS)这样的地方。3.设计相应驱动电路时候,应该仔细阅读芯片的数据手册,了解每个引脚的驱动能力,以及整个芯片的驱动能力。4.最重要的是,如何去释放CPU(如果... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
单片机基础程序练习题 1、在某程序中需要定义如下变量:(1)定义数码管的显示0~9的共阴极显示代码(0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07, 0x7f, 0x6f)数组dis_code,将其定义在CODE区。(2)定义定时器/计数器0的赋计数值的高、低字节变量TL0_L和TH0_H,将其定义在DATA去区的0x30、0x31处。(3)定... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
如何提高C语言代码效率? 代码效率包括两个方面内容:代码的大小和代码执行速度。如果代码精简和执行速度快,我们就说这个代码效率高。一般情况下,代码精简了速度也相应提上来了。单片机的ROM和RAM的空间都很有限,当您编程时遇到单片机的ROM和RAM的不够用的时候,或者您的程序要求较高的执行速度时,我们就... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
编程,乐趣何在? 1. 什么是软件开发?软件最基本的目标是让计算机硬件(运算/存储/输入输出)按照人们预想的规则来工作。我们又管软件叫程序,软件工程师定制编写一个“顺序、序列”,机器就按照这个序列来执行。软件开发,就是这个定制编写序列的过程。2. 原本的乐趣:挑战和控制欲解数... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
单片机编程经验总结 经验之一:用“软件陷阱+程序口令”对付PC指针的弹飞当CPU受到外界干扰,有时PC指针会飞到另一段程序中,或跳到空白段去。其实,如果PC指针飞到空白段去,倒也好处理。只要在空白段设立软件陷阱(拦截指令),将程序拦截到初始化段或程序错误处理段。但是,如果PC指针飞... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
教你如何成为编程高手 世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。1、扎实的基础数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识
总结编程过程中的一些误区 在过去的几年里,有过许多结对编程的经历。有时在团队里进行,有时在客户那里,有时在coding dojo(一种编程模式,几个程序员一起合作完成一个任务),有时在我的开源项目里。对于那些知道如何结对编程的程序员来说,这种模式很棒,很高效。但是你不能指望在两个程序员面前摆台电脑,就指... 2023-06-13 单片机基础知识之单片机程序的完善单片机基础知识文章单片机基础知识