extern void LCD1602_set_position(bit hang, unsigned char x);
时间: 2024-03-19 20:40:37 浏览: 72
这段代码定义了一个函数 `LCD1602_set_position`,用于设置 LCD1602 显示屏上的光标位置。它有两个参数,第一个参数 `hang` 是一个 `bit` 类型的变量,用于指定要设置的行数,`1` 表示第二行,`0` 表示第一行;第二个参数 `x` 是一个 `unsigned char` 类型的变量,用于指定要设置的列数,取值范围为 `0~15`。在函数内部,根据 `hang` 和 `x` 的值计算出对应的命令码,并将该命令码写入 `LCD1602_write_com` 函数中,从而实现设置光标位置的功能。
相关问题
解释INTRINS.H Intrinsic functions for C51. Copyright (c) 1988-2010 Keil Elektronik GmbH and ARM Germany GmbH All rights reserved. --------------------------------------------------------------------------*/ #ifndef __INTRINS_H__ #define __INTRINS_H__ #pragma SAVE #if defined (__CX2__) #pragma FUNCTIONS(STATIC) /* intrinsic functions are reentrant, but need static attribute */ #endif extern void _nop_ (void); extern bit _testbit_ (bit); extern unsigned char _cror_ (unsigned char, unsigned char); extern unsigned int _iror_ (unsigned int, unsigned char); extern unsigned long _lror_ (unsigned long, unsigned char); extern unsigned char _crol_ (unsigned char, unsigned char); extern unsigned int _irol_ (unsigned int, unsigned char); extern unsigned long _lrol_ (unsigned long, unsigned char); extern unsigned char _chkfloat_(float); #if defined (__CX2__) extern int abs (int); extern void _illop_ (void); #endif #if !defined (__CX2__) extern void _push_ (unsigned char _sfr); extern void _pop_ (unsigned char _sfr); #endif #pragma RESTORE #endif
这段代码是关于C51芯片的Intrinsic函数的头文件,Intrinsic函数是指直接嵌入到程序中的函数,不需要进行函数调用,在编程中可以提高效率。该文件定义了一些Intrinsic函数,比如_nop_、_testbit_、_cror_、_iror_、_lror_、_crol_、_irol_、_lrol_等等,这些函数可以直接在程序中使用。此外,该文件还定义了一些宏,如SAVE、FUNCTIONS、RESTORE等,用于在编译时控制函数的属性和行为。
extern unsigned char _cror_ (unsigned char, unsigned char);
`extern unsigned char _cror_(unsigned char, unsigned char)`是一个函数声明,它声明了一个名为`_cror_`的函数,该函数接受两个`unsigned char`类型的参数,并返回一个`unsigned char`类型的值。
这个函数的作用是将第一个参数按照第二个参数指定的位数进行循环右移操作。循环右移是一种位操作,它将二进制数向右移动指定的位数,并将被移出的位重新放置在最左边。
这个函数的具体实现可能在其他地方定义,`extern`关键字表示该函数在当前文件中并没有定义,而是在其他文件中定义。在使用这个函数之前,需要确保该函数的定义已经包含在程序中。
阅读全文