资料介绍
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位的方法资料下载
- 使用单片机实现8位端口检测8独立按键的C语言实例免费下载 13次下载
- 51单片机的IO端口的读写操作详细资料说明
- 使用用于MCS-51的IAR嵌入式平台编写的一个示例程序程序免费下载
- 使用扩展芯片实现端口扩展的实例资料合集免费下载
- 51单片机的IO端口概念知识点和结构资料免费下载
- STM32F1单片机的IO位带操作头文件免费下载 19次下载
- QuartusII软件操作示例资料免费下载 8次下载
- 标准IO的操作原理及操作函数相关资料下载 4次下载
- IAR与KEIL中如何直接定义常量到EEPROM中的经验分享 18次下载
- IAR下手动拷贝自定义程序段到RAM中执行的方法分享 1349次阅读
- TIA博途分配设备名称示例 3465次阅读
- 采用ADC扫描实现一个IO上挂多个按键 2035次阅读
- 基于IAR指定RL78程序地址空间说明 2350次阅读
- Linux中的18个tar命令示例 835次阅读
- 使用高速微型的串行端口 792次阅读
- C语言中必须要掌握的位运算操作 1108次阅读
- 一次学会使用Adafruit IO平台! 3830次阅读
- PIC单片机以及51和AVR单片机的IO口操作方法解析 2951次阅读
- STM32单片机位带操作的原理解析 9313次阅读
- PIC单片机以及51单片机和AVR单片机的IO口操作方法介绍 1932次阅读
- 详解STM32的位带操作 6237次阅读
- STM32的IO端口高8位或低8位单独操作方法 3.2w次阅读
- 利用到电容充放电原理实现一条IO实现两个按键 8732次阅读
- Curiosity PIC32MZEF学习教程:最简单的IO端口测试 1619次阅读
下载排行
本周
- 1Keysight B1500A 半导体器件分析仪用户手册、说明书 (中文)
- 19.00 MB | 4次下载 | 免费
- 2使用TL431设计电源
- 0.67 MB | 2次下载 | 免费
- 3BT134双向可控硅手册
- 1.74 MB | 2次下载 | 1 积分
- 4一种新型高效率的服务器电源系统
- 0.85 MB | 1次下载 | 1 积分
- 5LabVIEW环形控件
- 0.01 MB | 1次下载 | 1 积分
- 6PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 751单片机核心板原理图
- 0.12 MB | 1次下载 | 5 积分
- 8BP2879DB支持调光调灭的非隔离低 PF LED 驱动器
- 1.44 MB | 1次下载 | 免费
本月
- 1开关电源设计原理手册
- 1.83 MB | 54次下载 | 免费
- 2FS5080E 5V升压充电两串锂电池充电管理IC中文手册
- 8.45 MB | 23次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 12次下载 | 免费
- 5ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 11次下载 | 1 积分
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8基于MSP430FR6043的超声波气体流量计快速入门指南
- 2.26MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多