在C51中,怎样嵌入汇编语言程序?怎样进行处理实现混合编程?答:其方法是用编译控制指令“#pragma src”、“#pragma asm”和“#pragma endasm”实现。编译控制命令“#pragma src”是控制编译器将C源文件编译成汇编文件,“#pragma src”要放在文件的开始;“#pragma asm”和“#pragma endasm”指示汇编语言程序的开[详细]
在C51中,如何访问DATA空间、PDATA空间、XDATA空间、CODE空间某个确定地址单元?答:用指针定义的访问存储器的宏使用时需要用预处理命令把该头文件包含到文件中,形式为:#include 。(1)按字节访问存储器宏的形式宏名[地址](2)按整型数访问存储器宏的形式宏名[下标] [详细]
在C51中,函数返回值传递的规则是什么?答:(1)调用时参数的传递分三种情况:少于等于3个参数时通过寄存器传递(寄存器不够用时通过存储区传递),多于3个时有一部分通过存储区传递,对于重入函数参数通过堆栈传递。通过寄存器传递速度最快。(2)函数返回值的传递当函数有返回值时,其传递都是通过寄存器 [详细]
如何在C51文件和汇编语言文件中相互调用对方文件中的函数?答:汇编语言文件中对于函数的调用方法,与调用汇编语言中的函数一样,如:LCALL DISPLAY在C语言文件中调用汇编语言中的函数,必须先声明再调用。声明格式如下:extern 返回值类型 函数名(参数表);例如: extern unsigned char right_shift ( char,[详细]
1.编写一C51函数,把从键盘输入的5位十进制数数转换成一个无符号整型数(假设未超出整型数范围)。设从键盘输入的数存放在一无符号数组中,低位数为低下标元素。unsigned char data key_buffer[5];unsigned int trans_int(void){ unsigned char data i; unsigned in[详细]
C51编程经验三则在单片机的开发应用中,已逐渐开始引入高级语言,C语言就是其中的一种。用惯了汇编的人,总觉得高级语言“可控性”不好,不如汇编那样随心所欲。以下是笔者在C51编程中的几点经验,希望对初学C51者有所帮助。一、C51热启动代码的编制工业控制计算机,往往设有看门狗电路,看[详细]
在单片机应用系统的数据处理过程中,经常会遇到小数的运算问题,如求解BCD的增量算式、线性化处理等。因此,需要用二进制数来表示小数。表示小数的方法一般有两种,定点数和浮点数。定点数结构简单,与整数的运算过程相同,运算速度快。但随着所表示数的范围的扩大,其位数成倍增加,给运算和存储带来不便,而且[详细]
bit和sbit都是C51扩展的变量类型。bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。sbit是对应可位寻址空间的一个位[详细]

扫码关注我们
0755-82591179
邮箱:ivy@yingtexin.net
地址:深圳市南山区桃源街道平山社区平山一路2号南山云谷创业园二期11栋410-411

Copyright © 2014-2026 颖特新科技有限公司 All Rights Reserved. 粤ICP备14043402号-4