单片机开发设计,如何通过指针对16位数进行操作

贸泽电子设计圈 2017-09-27 15:21 次阅读

在8位单片机中没有16位数的操作指令,所有的int型数据都要通过两个字节分开操作,使用的方法不用,生成的代码也不相同,当然效率也不一样,通过指针对16位数进行操作可以得到高效的代码。

比如通过串行口接收数据,或者从串行的EEPROM中读取的数据,或者从大于8位的A/D读取的数据,由于8位单片机的数据线是8位的,高于8位的数据都要分成两个字节分别读取,然后写入到RAM中去再进行计算,或者把16位的int型数据从RAM中读出再分别把高低字节存到EEPROM或者送到D/A,或者通过串行口发送出去,方法有很多种,下面用多种方法进行实现该操作,这里只演示写入到16位的情况,读取的情况非常相似,不赘述。

(1)使用联合 (union)

typedef union{unsigned int i;unsigned char c[2];}u_int;unsigned char dH = 0x11, dL=0x22;unsigned int d;u_int ud;ud.c[0] = dH;ud.c[1] = dL;d = ud.i;此时d = 0x1122;

(2) 使用移位指令

数据定义与前面相同d = ((unsigned int)dH) 或者d = dH;d d |= dL; // or: d = d | dL; 后者编译的代码可能不是最简的

(3)使用指针

unsigned char *cptr;cptr = (unsigned char*)(&d);cptr[0] = dH;cptr[1] = dL;

(4)强制指针类型转换

*((unsigned char*)(&d)) = dH;*((unsigned char*)(&d)+1) = dL;或((unsigned char*)(&d))[0] = dH;((unsigned char*)(&d))[1] = dL;

这两种方式看似相同但由Keil编译出的代码是不用的,前都有一次加法运算,而后者没有,后者生成的代码更简洁,这种方式与用联合成生的代码是完全一样的。

在这几种方法中第(1)与第(4)的第二种生成的代码是最乘洁的,是推荐使用的,从软件工程的角度出发,推荐使用方法(1),这样没有强制类型转换,没有用到指针,更不容易出错。从书写的代码来讲,第(4)的第二种方法是最好的,代码简洁而且效率最高,但语法有点儿复杂。

原文标题:8位单片机操作16位INT型数据的方法你想到了几种?

文章出处:【微信号:Mouser-Community,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

用串口控制PWM信号的输出

我想用串口控制PWM信号的输出,比如说:我单片机收到一个数据,我就调整占空比,收到另外一个数据,又调整占空比这样。不知道...

发表于 08-19 12:57 102次 阅读
用串口控制PWM信号的输出

以FPGA为核心控制的电子设计竞赛电路板设计和实现

大学生电子竞赛题目以模拟电子、数字电子、可编程逻辑器件及单片机技术为核心, 涉及电子仪器仪表、通信、....

发表于 08-18 10:03 59次 阅读
以FPGA为核心控制的电子设计竞赛电路板设计和实现

机器学习中如何实现数据转换?数据转化的方法实践详细概述

通常情况下是为了消除量纲的影响。譬如一个百分制的变量与一个5分值的变量在一起怎么比较?只有通过数据标....

的头像 人工智能爱好者社区 发表于 08-18 09:36 185次 阅读
机器学习中如何实现数据转换?数据转化的方法实践详细概述

单片机的40个实验教程让你快速学会单片机的应用详细资料免费下载

如图4.14.2所示,用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以....

发表于 08-17 17:24 62次 阅读
单片机的40个实验教程让你快速学会单片机的应用详细资料免费下载

单片机分类及汇总大全的详细资料免费下载

经典的: 1、MCS-51系列Intel公司生产 2、61单片机 3、AVR单片机 4、MSP 43....

发表于 08-17 17:24 72次 阅读
单片机分类及汇总大全的详细资料免费下载

以C8051F020单片机为系统控制器件的实时检测和记录车辆散热系统动态参数电路设计

该散热系统参数测试电路由上位微型计算机和下位单片机控制系统组成。图1是车辆散热系统参数测点示意图。该....

发表于 08-17 17:07 69次 阅读
以C8051F020单片机为系统控制器件的实时检测和记录车辆散热系统动态参数电路设计

以AT89C51单片机为智能单元的全自动太阳跟踪系统设计

AT89C51单片机通过P2口输出控制脉冲信号,P2.0~P2.3为一路,P2.4~P2.7为一路,....

发表于 08-17 17:03 59次 阅读
以AT89C51单片机为智能单元的全自动太阳跟踪系统设计

以AT89C51单片机为控制器的LED显示屏控制电路设计

控制电路由AT89C51单片机作控制器,显示屏由4个16×16点阵LED模块组成,每个16×16点阵....

发表于 08-17 17:00 51次 阅读
以AT89C51单片机为控制器的LED显示屏控制电路设计

在航模无刷电调中SH79F168单片机主控芯片有什么应用?

SH79F169片内集成了三通道6路PWM端口,可分别独立配置为PWM输出或者IO输出。将PWM01....

发表于 08-17 16:49 49次 阅读
在航模无刷电调中SH79F168单片机主控芯片有什么应用?

硬件工程师(工作地点:北京)

岗位职责: 根据产品功能描述,设计实现方案,制作智能健身硬件的原型机,并进行调试和优化。 任职要求: 1、学历专业不限...

发表于 08-17 13:38 222次 阅读
硬件工程师(工作地点:北京)

半自动洗衣机改全自动教程

刚到福州,住进了一个套房,虽然有洗衣机,但是是半自动的,每次洗衣服很烦,就跟房东商量一下,然后就有了....

的头像 39度创意研究所 发表于 08-17 10:23 437次 阅读
半自动洗衣机改全自动教程

意法半导体发布即插即用的无线充电套件,为可穿戴设备和物联网设备带来超小体积充电器

中国,2018年8月16日——即插即用的无线充电器开发套件(STEVAL-ISB045V1)让用户用节省空间的20mm直径线圈,快速开发最...

发表于 08-17 09:58 420次 阅读
意法半导体发布即插即用的无线充电套件,为可穿戴设备和物联网设备带来超小体积充电器

单片机原理与应用及C51程序设计(第三版)PPT电子教材详细资料免费下载

单片机原理与应用及C51程序设计(第三版)是清华大学出版社的教材课件,包含各章节PPT、电路图、程序....

发表于 08-17 08:00 43次 阅读
单片机原理与应用及C51程序设计(第三版)PPT电子教材详细资料免费下载

如何以STM32F334单片机设计降压型DC-DC可调压开关电源

 相对于传统的线性稳压电源,开关电源具有效率高、输出功率大、体积小、重量轻、成本低等优点。随着电子元....

发表于 08-17 08:00 36次 阅读
如何以STM32F334单片机设计降压型DC-DC可调压开关电源

请问有没有CC2530的例程可以实现4个针脚输出的无线最小单片机系统

准备做一个可以实现4个针脚输出的无线最小单片机系统,设想使用CC2530,完成后,使用电脑连接SmartRF05 EB板对其进行控制...

发表于 08-17 07:14 46次 阅读
请问有没有CC2530的例程可以实现4个针脚输出的无线最小单片机系统

请问TM4C的JTAG口与单片机怎么连接?

我用的XDS100V2,JTAG与单片机怎么连接?我是这么设计的,ICDI-RST与单片机RESET连接。    &nbs...

发表于 08-17 06:49 44次 阅读
请问TM4C的JTAG口与单片机怎么连接?

以MSP430F449单片机为控制系统核心的悬挂运动控制系统设计

根据设计要求和方案选择,本系统主要由3个模块电路组成:步进电机控制模块、红外传感和人机交互模块。电机....

发表于 08-16 17:44 89次 阅读
以MSP430F449单片机为控制系统核心的悬挂运动控制系统设计

浅析51单片机IO口的四种使用方法

传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管....

的头像 玩转单片机 发表于 08-16 17:43 159次 阅读
浅析51单片机IO口的四种使用方法

以STC89C52单片机为核心的电子密码锁设计

图2中U1为STC89C52是个系统的核心,编写的程序以二进制的文件导入其中;U2为AT24C02,....

发表于 08-16 17:38 98次 阅读
以STC89C52单片机为核心的电子密码锁设计

以单片机为主控制器的垃圾分类计量收费设备控制装置设计

非接触式IC卡又称射频卡,与接触式IC卡相比,解决了无源和免接触的问题,具有可靠性高、操作方便的优点....

发表于 08-16 17:27 75次 阅读
以单片机为主控制器的垃圾分类计量收费设备控制装置设计

请问单片机串口如何接收上位机不断发送的数据帧并将该帧的有效数据提取出来?

各位大虾:本人菜鸟请教一个问题,单片机如何接送串口不断发送的数据帧,并将该帧的有效数据提取出来,请赐教一个完整程序。 注...

发表于 08-16 17:19 96次 阅读
请问单片机串口如何接收上位机不断发送的数据帧并将该帧的有效数据提取出来?

SYSCLK时钟源三个来源:HSI RC、HSE OSC、PLL

ARM公司只生产内核标准,不生产芯片。ST、TI这样的公司从ARM公司那里购买内核,然后外加自己的总....

的头像 电子发烧友网 发表于 08-16 10:11 243次 阅读
SYSCLK时钟源三个来源:HSI RC、HSE OSC、PLL

请问单片机进入休眠状态前gpio引脚怎么处理?

最近在做微功率无线通信的项目,那肯定得低功耗了,那么在单片机进入休眠前 gpio 引脚该怎么处理呢? 分 以下几种情况: 1.&...

发表于 08-16 07:46 329次 阅读
请问单片机进入休眠状态前gpio引脚怎么处理?

智能无人驾驶汽车的计算机控制系统详细介绍和要求及设计资料概述

智能无人驾驶汽车是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,对车辆的操作实质上....

发表于 08-15 17:56 41次 阅读
智能无人驾驶汽车的计算机控制系统详细介绍和要求及设计资料概述

以AT89C2051单片机为控制核心的数字温度计设计

由AT89C2051构成的温度计主要由三部分组成:DSl8B20温度传感器、单片机AT89C2051....

发表于 08-15 17:20 55次 阅读
以AT89C2051单片机为控制核心的数字温度计设计

以AT89S51单片机为主控芯片的密码锁设计

密码锁主控部分电源需要用5 V 直流电源供电, 其电路图如图2 所示。它可以把频率为50 Hz、有效....

发表于 08-15 17:16 61次 阅读
以AT89S51单片机为主控芯片的密码锁设计

以89C51单片机为核心控制器件的液体点滴速度监控系统设计

液体点滴速度控制系统对于大型医院来说是一套能够提高效率和服务质量的控制设备,特别是远程监控功能能使护....

发表于 08-15 17:12 67次 阅读
以89C51单片机为核心控制器件的液体点滴速度监控系统设计

以C8051F023单片机为控制核心的OLED显示方案设计

VGG12864G内置128×64 bits的显示存储器,用于存储显示数据,图5为RAM的地址结构。....

发表于 08-15 17:06 69次 阅读
以C8051F023单片机为控制核心的OLED显示方案设计

在汽车的动力总成系统中单片机有什么应用?

当前,全球汽车工业面临的重要课题是如何不断地降低汽车油耗、减少排放以及进一步提高其驾驶性能。要做到这....

发表于 08-15 17:03 206次 阅读
在汽车的动力总成系统中单片机有什么应用?

四路控制开关程序的详细资料免费下载

本文档的主要内容详细介绍的是四路控制开关程序的详细资料免费下载

发表于 08-15 16:38 33次 阅读
四路控制开关程序的详细资料免费下载

STC8系列单片机技术参考数据手册和详细资料免费下载

STC8系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为目标的8....

发表于 08-15 16:38 41次 阅读
STC8系列单片机技术参考数据手册和详细资料免费下载

TX1C学习板:示例程序和自己写的程序显示下载程序成功,单片机没有运行

示例程序和自己写的程序显示下载程序成功,单片机没有运行。但是测试程序,单片机可以运行...

发表于 08-15 15:46 131次 阅读
TX1C学习板:示例程序和自己写的程序显示下载程序成功,单片机没有运行

30例51单片机汇编实例程序的详细资料免费下载

第一例,了解单片机及单片机的控制原理和DX516 的用法,控制一个LED 灯的亮和灭 本章学习内容....

发表于 08-15 08:00 42次 阅读
30例51单片机汇编实例程序的详细资料免费下载

请问TM4C123单片机的Brown Reset的门限电平可不可以设置?

请问TM4C123单片机的Brown Reset的门限电平VVDD_BOR0、VVDD_BOR1是否可以修改?比如VVDD_BOR0为3.02V...

发表于 08-15 06:38 44次 阅读
请问TM4C123单片机的Brown Reset的门限电平可不可以设置?

以C8051F020单片机为控制核心的人机交互系统设计

该LCM 的FS1 引脚用于控制显示字符的字体。FS1 为高时,LCD 显示6×8 字符;FS1 为....

发表于 08-14 17:25 83次 阅读
以C8051F020单片机为控制核心的人机交互系统设计

为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

FPGA 即现场可编程门阵列, 它是作为专用集成电路(ASIC) 领域中的一种半定制电路, 既解决了....

发表于 08-14 17:21 60次 阅读
为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

如何制作一个用单片机驱动的LED旋转球?

如何制作一个用单片机驱动的LED旋转球?

的头像 39度创意研究所 发表于 08-14 17:12 311次 阅读
如何制作一个用单片机驱动的LED旋转球?

单片机常用术语解释

[table] [tr][td] Microchip公司的模拟器,在MPLAB? IDE下使用。 MPLIB? Librarian(MPLIB?库管理员) ...

发表于 08-14 08:15 206次 阅读
单片机常用术语解释

单片机开发板典型应用案例106个经典案例资料合集包括程序

本文档的主要内容详细介绍的是单片机开发板典型应用案例106个经典案例资料合集包括程序案例包括了:点亮....

发表于 08-14 08:00 62次 阅读
单片机开发板典型应用案例106个经典案例资料合集包括程序

怎么编写一个最简单的单片机程序?

在以上汇编程序中,延时子程序每一行的具体含义先不管他,以后慢慢学到,上面的程序需要在一个名为“Kei....

的头像 畅学单片机 发表于 08-13 17:56 414次 阅读
怎么编写一个最简单的单片机程序?

以SPCE061A单片机为核心的红外测温计设计

SPCE061A是台湾凌阳公司生产的性价比很高的一款十六位单片机,使用它可以非常方便的实现控制和语音....

发表于 08-13 17:29 63次 阅读
以SPCE061A单片机为核心的红外测温计设计

物联网全栈教程-从云端到设备(十三)所需软件的详细资料免费下载

 硬件是实现设备功能的躯壳,软件才是设备的灵魂!今天就教你安装一下编写单片机程序需要的软件,并示范一....

发表于 08-13 16:49 38次 阅读
物联网全栈教程-从云端到设备(十三)所需软件的详细资料免费下载

物联网全栈教程从云端到设备(十二)设备端的开发详细资料免费下载

经过前面的铺垫,你已经学会了在linkDevelop 上新建一个项目,然后通过使用MQTT 电....

发表于 08-13 16:49 37次 阅读
物联网全栈教程从云端到设备(十二)设备端的开发详细资料免费下载

物联网全栈教程从云端到设备(1到11)资料免费下载

使用NB-IOT 技术做一个小的模块,可以直接接到挖掘机的电器盒里,那么我们就可以制作几百个几千个这....

发表于 08-13 16:48 43次 阅读
物联网全栈教程从云端到设备(1到11)资料免费下载

基于ldc1000的单片机测试数据程序

在传感技术领域,不管是高端灵敏度、高精度的超声传感器,或者是低端、低成本的开关式传感器,这些工作LD....

发表于 08-13 09:50 46次 阅读
基于ldc1000的单片机测试数据程序

MSP430单片机详细资料原理和基本实践实验的资料免费下载

MSP430 单片机的程序设计可以使用汇编语言,也可以使用 C 语言,这一部分将讲述这 些内容。如果....

发表于 08-13 08:00 37次 阅读
MSP430单片机详细资料原理和基本实践实验的资料免费下载

如何精确设计三极管开关电路?

对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行....

的头像 电子发烧友网 发表于 08-12 08:56 315次 阅读
如何精确设计三极管开关电路?

《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

《STM32物联网实战教程》集成了单片机教学、计算机网络以及物联网实战这三部分。配合着风媒电子出品的....

发表于 08-10 17:41 196次 阅读
《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

基于单片机控制系统的远程数据传输系统设计

对MODEM的性能要求为:有电话号码参数存储器;有自动拨号功能、自动应答功能;可进行速度缓冲和流量控....

发表于 08-10 17:16 103次 阅读
基于单片机控制系统的远程数据传输系统设计

利用单片机远程控制设计的无线温度监测系统

该模块的主要功能是接收和处理数据,由单片机控制无线模块接收数据,同时控制USB模块将数据发送到PC机....

发表于 08-10 17:11 95次 阅读
利用单片机远程控制设计的无线温度监测系统

以AT89C52单片机控制系统为核心的备料机械手控制系统设计

机械手的工作方式分为手动或自动状态。手动由本工作站的控制按钮控制,自动采用串行通信接收上位机命令,并....

发表于 08-10 17:03 127次 阅读
以AT89C52单片机控制系统为核心的备料机械手控制系统设计

以单片机控制为中心的高精度PWM式12位D/A电路设计

在用单片机制作的变送器类和控制器类的仪表中,需要输出1—5V或4—20mA的直流信号的时候,通常采用....

发表于 08-10 16:59 113次 阅读
以单片机控制为中心的高精度PWM式12位D/A电路设计

告诉你怎么编写一个最简单的单片机程序

这样还不够,单片机工作还需要两个条件,一是需要加上一定的工作电压,AT89S51工作电压为5V,第2....

的头像 玩转单片机 发表于 08-10 16:22 376次 阅读
告诉你怎么编写一个最简单的单片机程序

教你如何玩转STM8单片机!

最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。因为直到今天,计算机系统的那些事,也没逃离....

的头像 玩转单片机 发表于 08-10 15:46 283次 阅读
教你如何玩转STM8单片机!

以单片机为主控中心的高精度温度测量显示系统设计

整个系统主要由主控中心(单片机)、温度传感器DS18B20、数码管显示及开关控制等功能模块组成。可以....

发表于 08-09 17:06 107次 阅读
以单片机为主控中心的高精度温度测量显示系统设计

如何设计一个以单片机为核心的继电器控制电路?

现代自动化控制设备都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电气电....

发表于 08-09 16:59 187次 阅读
如何设计一个以单片机为核心的继电器控制电路?

以单片机为核心的频率响应测试仪方法设计

本设计中的单片机C8051F060可控制扫频信号源, 以产生一系列不同频率的正弦信号, 然后将这些信....

发表于 08-09 16:55 312次 阅读
以单片机为核心的频率响应测试仪方法设计

如何设计一个以单片机为核心的线阵CCD驱动电路?

通常时钟脉冲可取自以下途径:单片机XTAL端、ALE端、独立脉冲源。其中取自XTAL端时,经分频电路....

发表于 08-09 16:46 103次 阅读
如何设计一个以单片机为核心的线阵CCD驱动电路?

如何使用单片机设计数字密码锁(掉电时可记忆密码)的资料免费下载

大家好,我今年暑假初学单片机,还是一名小白,最近看了郭天祥老师写的一个密码锁项目,觉得很有趣,但觉得....

发表于 08-09 08:00 66次 阅读
如何使用单片机设计数字密码锁(掉电时可记忆密码)的资料免费下载

以16位单片机SPCE061A为控制核心的智能温度计系统设计

可供选择的主控芯片比较多,如使用面最广的MCS-5l系列、资源丰富的ARM7TDMI-S系列微控制器....

发表于 08-08 17:33 212次 阅读
以16位单片机SPCE061A为控制核心的智能温度计系统设计