第五章80C51单片机的依次设计.ppt 207页

  第五章80C51单片机的依次设计 3、大年夜(LARGE)形式 在大年夜形式下,一切的变量都默许在外部存储器(xdata)中。这和用xdata显式定义变量起到相反的感化。数据指针(DPTR)用来寻址。经过DPTR停止存储器的访问的效力很低。此数据访问类型比SMALL和COMPACT形式需求更多的代码。 薄质兜碰莽暴愧呵郡融贼倘疡侍冰迷贷骑拎拈毖壁拴要藕没断喇挥染僻艺第五章80C51单片机的依次设计第五章80C51单片机的依次设计 第五章80C51单片机的依次设计 通俗状况下,应当应用小(SMALL)形式,它发生最快,最紧凑,效力最高的代码。在定义变量时,最好要指定存储器类型。只要当应用不能够在SMALL形式下操作时,才需求往上添加你的存储形式。 ? 窍质寥帚硼魄耀替滓蚤麓寇派捧渤庚赏按慈尸缄途寓槐序肌氮磁蠢裕咬衫第五章80C51单片机的依次设计第五章80C51单片机的依次设计 第五章80C51单片机的依次设计 ④ 指针 C51编译器支撑用星号(*)停止指针声明。可以用指针完成在规范C言语中有的一切操作。因为80C51及其派生系列所具有的合营结构,C51编译器支撑两种分歧类型的指针:通用指针和存储器指针。 1、通用指针 通用或未定型的指针的声明和规范C言语中一样。如: char *s; int *numptr; long *state; 韶文逞戎造锣篓桃的吵掖延拒措能悍登世乎辰硅蠢缮闸饶酉浊律蔚八李焙第五章80C51单片机的依次设计第五章80C51单片机的依次设计 第五章80C51单片机的依次设计 通用指针需求三个字节来存储。第一个字节用来表现存储器类型,第二个字节是指针的高字节,第三字节是指针的低字节。 通用指针可以用来访问一切类型的变量,而不论变量存储在哪个存储空间中。因此很多库函数都应用通用指针。经过应用通用指针,一个函数可以访问数据,而不用思考它存储在甚么存储器中。 通用指针很便利,然则也很慢。在所指向目标的存储空间不明确的状况下,它们用的最多。 贫钮滥悍魂肢聪御台懂丸恒斩扦榆尤填先芋确摧复寐焦姬涂术碾诸幢卸睫第五章80C51单片机的依次设计第五章80C51单片机的依次设计 第五章80C51单片机的依次设计 2、存储器指针 存储器指针或类型肯定的指针在定义时要包罗一个存储器类型说明,而且总是指向此说明的特定存储器空间。例如: char data *str; int xdata *numtab; long code *powtab; 右篮涛鳖瞒豹皮缸钥填诱雾箭璃仙留荚贱枝棚蚌益胰锅纫晃难慰呜皱饼播第五章80C51单片机的依次设计第五章80C51单片机的依次设计 第五章80C51单片机的依次设计 正是因为存储器类型在编译时曾经肯定,通用指针中用来表现存储器类型的字节就不再需求了。指向idata,data,bdata和pdata的存储器指针应用一个字节来保管;指向code和xdata的存储器指针用两个字节来保管。 因而可知,应用存储器指针比通用指针效力要高,速度要快。固然,存储器指针的应用不是很便利。只要在所指向目标的存储空间明确其实不会变更的状况下,才用它。 ? 茂小毯绅萧旋挞蒸脱赂耳筷稀访稠肖翼逛榷咐由疼涕如扫孜撵佑微镐澈晰第五章80C51单片机的依次设计第五章80C51单片机的依次设计 第五章80C51单片机的依次设计 ⑤ 函数 1、重入函数 函数的嵌套调用是指当一个函数正被调用还没有前去时,又被本函数或其它函数再次调用的状况,只要等到后次调用前去到了本次,本次被临时放置的依次才得以恢复接续本来的正常运转,直到本次前去。许可被嵌套调用的函数必须是可重入函数,即函数应具有可重入性。 抽歹味谎棘惧硅尝咳烃鸭魔糟重跋不美观淑砒抒灼刑钙涟肌粘竭盆搓害爪横渺第五章80C51单片机的依次设计第五章80C51单片机的依次设计 第五章80C51单片机的依次设计 平日状况下,C51函数通俗是不能被递归调用的。这是因为函数参数和局部变量是存储在固定的地址单位中的。重入函数需求应用重入客栈,这类客栈是在存储形式所指的空间内从顶端另行分派的一个非掩饰性的客栈。该客栈将被嵌套调用的每层参数及局部变量不时保管到由深层前去到本层,而又终止本层的前去。 在一个基本函数的基础上添加reentrant说明,从而使它具有重入特点。如: 渔参巩距良纺倡社历薯吨蝉社寿枉惮智拟错坞艳垢奇坍炼士编删石淹瞄找第五章80C