標頭檔案intrins h的用法

2022-05-27 10:33:10 字數 1693 閱讀 5093

keil 中 標頭檔案 intrins.h的作用 在 c51 微控制器程式設計中,標頭檔案 intrins.h 的函式使用起來,

就會讓你像在用彙編時一樣簡便.

內部函式 描述

_crol_ 字元迴圈左移

_cror_ 字元迴圈右移

_irol_ 整數迴圈左移

_iror_ 整數迴圈右移

_lrol_ 長整數迴圈左移

_lror_ 長整數迴圈右移

_nop_ 空操作 8051 nop 指令

_testbit_ 測試並清零位 8051 jbc 指令

函式名: _crol_, _irol_, _lrol_

原 型: unsigned char _crol_(unsigned char val,unsigned char n);

unsigned int _irol_(unsigned int val,unsigned char n);

unsigned int _lrol_(unsigned int val,unsigned char n);

舉例:_crol_,_cror_:將 char 型變數迴圈向左(右)移動指定位數後返回

_testbit_: 相當於 jbc bitvar 測試該位變數並跳轉同時清除。

_chkfloat_: 測試並返回源點數狀態。

就是彙編中的子函式。

_crol_,_cror_:如果二進位制數為 01010101 那麼_crol_(1) 左移 1 位後將高位補低位。

結果 10101010。

功 能: _crol_, _irol_, _lrol_以位形式將 val 左移 n 位,該函式與 8051「 rla」指令相關,

上面幾個函式不同於引數型別。

例:#include

main()

函式名: _cror_, _iror_, _lror_

原 型: unsigned char _cror_(unsigned char val,unsigned char n);

unsigned int _iror_(unsigned int val,unsigned char n);

unsigned int _lror_(unsigned int val,unsigned char n);

功 能: _cror_, _iror_, _lror_以位形式將 val 右移 n 位,該函式與 8051「 rra」指令相關,

上面幾個函式不同於引數型別。

例:#include

main()

函式名: _nop_

原 型: void _nop_(void);

功 能: _nop_產生乙個 nop 指令,該函式可用作 c 程式的時間比較。 c51 編譯器在_nop_

函式工作期間不產生函式呼叫,即在程式中直接執行了 nop 指令。

例:p()=1;

_nop_();

p()=0;

在 12m 的晶振下每個_nop_()延時 11us,經過適當的調整即可做到精確延時。

函式名: _testbit_

原 型: bit _testbit_(bit x);

功 能: _testbit_產生乙個 jbc 指令,該函式測試乙個位,當置位時返回 1,否則返回 0。如

果該位置為 1,則將該位復位為 0。 8051 的 jbc 指令即用作此目的。 _testbit_只能用於可直

接定址的位;在表示式中使用是不允許的

關於intrins h標頭檔案的介紹

在微控制器中應用最多的當然就是移位函式,利用移位函式可以更簡便的實現流水燈等效果。移位函式 移位函式名 左移 crol 移位物件,位數 右移 cror 移位物件,位數 函式原型 unsigned char crol unsigned char val,unsigned char n unsigned...

c 標頭檔案之Vector Vector的用法

開始學習c 再這個過程中第乙個令人頭疼的地方就是標頭檔案的含義了,c 標頭檔案的內容會隨著我的深入學習進行更新.首先,我們需要該清楚vector的定義 c 標準庫提供了被封裝的動態陣列 vector。大體上講,就是更容易上手的動態陣列.讓我們看看vector的優缺點.優點 1 vector可以存放任...

uefi只有標頭檔案和庫的用法

inf檔案中需要 buildoptions 塊 buildoptions x64 dlink flags libpath workspace testlib library dlink flags efimylib.lib export initializedriver image entry po...