資料介紹
IAR-C有著強大的軟件仿真功能,但其中的寄存器位操作定義卻十分煩瑣,并且編譯后生成的ASM代碼冗余較多,針對該問題,版主自已定義一個位操作定義的方法,初學者可參考定義,并且該種方法可應用于所有寄存器位操作定義。
共實現置位--Set_Bit, 清位--Clr_Bit,取反位Com_Bit,測試位Test_Bit四種位操作功能,并且每條位操作定義僅需一條3字節的ASM指令序列即可,簡便直接。
//*****************************************************
//P00位操作定義
#define Set_P00 (P0 = P0 | 0x1)
#define Clr_P00 (P0 = P0 & ~0x1)
#define Com_P00 (P0 = P0 ^ 0x1)
#define Test_P00 (P0 & 0x1)
//P01位操作定義
#define Set_P01 (P0 = P0 | 0x2)
#define Clr_P01 (P0 = P0 & ~0x2)
#define Com_P01 (P0 = P0 ^ 0x2)
#define Test_P01 (P0 & 0x2)
//P02位操作定義
#define Set_P02 (P0 = P0 | 0x4)
#define Clr_P02 (P0 = P0 & ~0x4)
#define Com_P02 (P0 = P0 ^ 0x4)
#define Test_P02 (P0 & 0x4)
//P03位操作定義
#define Set_P03 (P0 = P0 | 0x8)
#define Clr_P03 (P0 = P0 & ~0x8)
#define Com_P03 (P0 = P0 ^ 0x8)
#define Test_P03 (P0 & 0x8)
//P04位操作定義
#define Set_P04 (P0 = P0 | 0x10)
#define Clr_P04 (P0 = P0 & ~0x10)
#define Com_P04 (P0 = P0 ^ 0x10)
#define Test_P04 (P0 & 0x10)
//P05位操作定義
#define Set_P05 (P0 = P0 | 0x20)
#define Clr_P05 (P0 = P0 & ~0x20)
#define Com_P05 (P0 = P0 ^ 0x20)
#define Test_P05 (P0 & 0x20)
//P06位操作定義
#define Set_P06 (P0 = P0 | 0x40)
#define Clr_P06 (P0 = P0 & ~0x40)
#define Com_P06 (P0 = P0 ^ 0x40)
#define Test_P06 (P0 & 0x40)
//P07位操作定義
#define Set_P07 (P0 = P0 | 0x80)
#define Clr_P07 (P0 = P0 & ~0x80)
#define Com_P07 (P0 = P0 ^ 0x80)
#define Test_P07 (P0 & 0x80)
//*************************************
//P1端口操作位定義
//P10位操作定義
#define Set_P10 (P1 = P1 | 0x1)
#define Clr_P10 (P1 = P1 & ~0x1)
#define Com_P10 (P1 = P1 ^ 0x1)
#define Test_P10 (P1 & 0x1)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 用于Arduino的8位IO端口庫
- 將您的Arduino板變成16位IO端口
- 51單片機STC89C52點亮一個LED(IO口的位操作)
- IO 口的位操作實現
- 一個脈搏血氧計的設計示例資料下載
- STM32中單獨設置GPIO端口高8位/低8位的方法資料下載
- 一種4*4矩陣鍵盤實現16個按鍵操作的設計資料下載
- 使用單片機實現8位端口檢測8獨立按鍵的C語言實例免費下載 13次下載
- 51單片機的IO端口的讀寫操作詳細資料說明
- 使用用于MCS-51的IAR嵌入式平臺編寫的一個示例程序程序免費下載
- 51單片機的IO端口概念知識點和結構資料免費下載
- STM32F1單片機的IO位帶操作頭文件免費下載 20次下載
- QuartusII軟件操作示例資料免費下載 8次下載
- 標準IO的操作原理及操作函數相關資料下載 4次下載
- IAR與KEIL中如何直接定義常量到EEPROM中的經驗分享 18次下載
- IAR下手動拷貝自定義程序段到RAM中執行的方法分享 3.3k次閱讀
- TIA博途分配設備名稱示例 7.5k次閱讀
- 采用ADC掃描實現一個IO上掛多個按鍵 3.7k次閱讀
- 基于IAR指定RL78程序地址空間說明 4.1k次閱讀
- Linux中的18個tar命令示例 1.7k次閱讀
- 使用高速微型的串行端口 1.6k次閱讀
- C語言中必須要掌握的位運算操作 3k次閱讀
- 一次學會使用Adafruit IO平臺! 6.2k次閱讀
- PIC單片機以及51和AVR單片機的IO口操作方法解析 3.6k次閱讀
- STM32單片機位帶操作的原理解析 1w次閱讀
- PIC單片機以及51單片機和AVR單片機的IO口操作方法介紹 2.4k次閱讀
- 詳解STM32的位帶操作 6.8k次閱讀
- STM32的IO端口高8位或低8位單獨操作方法 3.5w次閱讀
- 利用到電容充放電原理實現一條IO實現兩個按鍵 9.5k次閱讀
- Curiosity PIC32MZEF學習教程:最簡單的IO端口測試 1.9k次閱讀
下載排行
本周
- 1新一代網絡可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2冷柜-電氣控制系統講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數據手冊
- 2.33 MB | 次下載 | 免費
- 4MDD品牌三極管S9012數據手冊
- 2.62 MB | 次下載 | 免費
- 5LAT1218 如何選擇和設置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 8MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協議電壓誘騙控制器IC技術手冊
- 1.81 MB | 1次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論