张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

单片机开发设计,如何通过指针对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,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不
发表于 05-16 00:00 585次 阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不
发表于 05-16 00:00 585次 阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

使用单片机制作数字可控时钟的程序资料免费下载

本文档的主要内容详细介绍的是使用单片机制作数字可控时钟的程序资料免费下载。
发表于 05-23 17:42 16次 阅读
使用单片机制作数字可控时钟的程序资料免费下载

单片机通讯程序设计

TMOD=0x20;//定时器T1为模式2 TL1=0xfd;//定时器初值 TH1=0....
发表于 05-23 15:32 41次 阅读
单片机通讯程序设计

单片机原理及应用

单片机现已渗透到我们日常生活中的各个领域,小到家用电器、仪器仪表,大到医疗器械、航空航天,无不存在着....
的头像 发烧友学院 发表于 05-23 13:58 69次 阅读
单片机原理及应用

单片机与plc优缺点

PLC是一套比较成熟的控制系统,有相当的通用性,在它内部已经包含了几套单片机。单独的一个单片机就是一....
的头像 发烧友学院 发表于 05-23 13:54 104次 阅读
单片机与plc优缺点

单片机编程步骤

单片机编程该如何进行?有哪些步骤?刚上手的新手大多数都会手忙脚乱,不知该从何入手。这是很正常的,大家....
的头像 发烧友学院 发表于 05-23 13:48 85次 阅读
单片机编程步骤

关于STC8A8K64S4A12开发板外部中断问题

买了一块 STC8A8K64S4A12 开发板,测试外部中断,感觉是不是芯片有些问题? 如图,图片左边是串口输出信息,按理来说 输...
发表于 05-23 10:02 150次 阅读
关于STC8A8K64S4A12开发板外部中断问题

单片机常用的14个C语言算法,看过的都成了大神!

算法(Algorithm): 计算机解题的基本思想方法和步骤。 算法的描述: 是对要解决一个问题或要....
的头像 发烧友实验室 发表于 05-23 09:53 858次 阅读
单片机常用的14个C语言算法,看过的都成了大神!

STC89C52单片机电路原理图免费下载

本文档的主要内容详细介绍的是STC89C52单片机电路原理图免费下载。
发表于 05-23 08:00 27次 阅读
STC89C52单片机电路原理图免费下载

Propel DXP的十个实验指导书资料免费下载

本文档的主要内容详细介绍的是Propel DXP的十个实验指导书资料免费下载包括了:实验一、原理图设....
发表于 05-23 08:00 18次 阅读
Propel DXP的十个实验指导书资料免费下载

请问ads7886的输出接口*CS SDO SCLK可以直接连接到单片机的I/O吗?

请问一下,ads7886的输出接口 *CS  SDO  SCLK 可以直接连接到单片机的I/O上,还是一定要上拉一个...
发表于 05-23 06:25 43次 阅读
请问ads7886的输出接口*CS SDO SCLK可以直接连接到单片机的I/O吗?

AT89S51单片机如何实现按键识别

1. 目标:每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。...
发表于 05-23 06:00 213次 阅读
AT89S51单片机如何实现按键识别

51单片机与HLK—RM04不能通信

单独HLK-RM04串口调试数据正常,单片机与RM04不能正常通信,如果用有CH340的开发板有数据,但数据错误,如单独51单片不...
发表于 05-23 05:55 15次 阅读
51单片机与HLK—RM04不能通信

基于CP2200的嵌入式系统以太网接口

作者:李国 秦培龙 李艳红    由于嵌入式技术和网络技术的迅速发展,以太网接口在嵌入式系统中的应用越来越广泛...
发表于 05-23 05:01 43次 阅读
基于CP2200的嵌入式系统以太网接口

单片机学习方法是不是错了?

请问一下大家,我的单片机学习方法是不是错了? 我讲述一下我的学习过程,我是一名大学生,读的是电子专业,大一下学期就开始自...
发表于 05-23 04:09 11次 阅读
单片机学习方法是不是错了?

[ATMEL TINY13 校验字节]有没有哪位兄弟用过tiny13这款单片机,我想了解一下校验字节的相关特性

关于tiny13这款单片机的校验字节,这两个字节有什么样的作用,或者特性,我想直达搜这两个字节能够修改掉,或者通过软件修改,在...
发表于 05-22 20:07 108次 阅读
[ATMEL TINY13 校验字节]有没有哪位兄弟用过tiny13这款单片机,我想了解一下校验字节的相关特性

dsPIC33FJ32MC204单片机的使用入门教程免费下载

本文档的主要内容详细介绍的是dsPIC33FJ32MC204单片机的使用入门教程免费下载。介绍针对d....
发表于 05-22 17:40 26次 阅读
dsPIC33FJ32MC204单片机的使用入门教程免费下载

FatFs的详细使用说明教程免费下载

随着信息技术的发展, 当今社会的信息量越来越大, 以往由单片机构成的系统简单地对存储媒介按地址、按字....
发表于 05-22 17:40 20次 阅读
FatFs的详细使用说明教程免费下载

常见硬件原理图中的“英文缩写”大全

常用控制接口EN:Enable,使能。使芯片能够工作。要用的时候,就打开EN脚,不用的时候就关闭。
的头像 电子发烧友网 发表于 05-22 17:38 758次 阅读
常见硬件原理图中的“英文缩写”大全

17种常见的单片机电路设计模块

本电路与SD卡的封装有关,注意与封装对应。此电路可以通过端口控制SD卡的电源,比较完善,可以用于5V....
的头像 电子发烧友网 发表于 05-22 17:34 303次 阅读
17种常见的单片机电路设计模块

请问怎么检测单片机电路板

自己做了一块板子,结果LED灯不亮,外控口不工作。请问要如何测量?...
发表于 05-22 16:00 110次 阅读
请问怎么检测单片机电路板

STC11L和STC10LXX系列单片机的数据手册资料免费下载

STC11F/10FXX系列是由STC单片机有限公司生产的基于高性能1T架构80C51 CPU的单片....
发表于 05-22 08:00 27次 阅读
STC11L和STC10LXX系列单片机的数据手册资料免费下载

单片机无线串行接口电路的组成和工作原理

作者:黄智伟 朱卫华 1 概述 单片机无线串行接口电路由MICRF102单片发射器芯片、MICRF007单片接收器芯片组...
发表于 05-22 05:01 21次 阅读
单片机无线串行接口电路的组成和工作原理

220V交流转5V直流的电源给一个不足100mA的单片机系统供电可行吗?

我需要一个220V交流转5V直流的电源给一个不足100mA的单片机系统供电,但是不能用变压器,因为太大了,这个电源需要尽可能的小...
发表于 05-22 04:07 78次 阅读
220V交流转5V直流的电源给一个不足100mA的单片机系统供电可行吗?

单片机学习编程软件Keil4 9.01应用程序和安装说明资料免费下载

本文档的主要内容详细介绍的是单片机学习编程软件Keil4 9.01应用程序和安装说明资料免费下载。 ....
发表于 05-21 17:11 45次 阅读
单片机学习编程软件Keil4 9.01应用程序和安装说明资料免费下载

使用单片机进行24C02记忆开机次数代码的详细资料说明

本文档的主要内容详细介绍的是使用单片机进行24C02记忆开机次数代码的详细资料说明。
发表于 05-21 17:11 27次 阅读
使用单片机进行24C02记忆开机次数代码的详细资料说明

单片机的C语言基础入门和应用知识点教程免费下载

本文档的主要内容详细介绍的是单片机的C语言基础入门和应用知识点教程免费下载包括了:1.进制转换,2.....
发表于 05-21 08:00 23次 阅读
单片机的C语言基础入门和应用知识点教程免费下载

单片机的定时器和计数器的详细资料说明

本文档的主要内容详细介绍的是单片机的定时器和计数器的详细资料说明包括了:1.51定时/计数器简介,2....
发表于 05-21 08:00 28次 阅读
单片机的定时器和计数器的详细资料说明

使用C51单片机和Proteus仿真设计自动换挡电压表的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计自动换挡电压表的应用实例资料说明....
发表于 05-21 08:00 17次 阅读
使用C51单片机和Proteus仿真设计自动换挡电压表的应用实例资料说明

使用C51单片机和Proteus仿真设计自动打铃器的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计自动打铃器的应用实例资料说明免费....
发表于 05-21 08:00 21次 阅读
使用C51单片机和Proteus仿真设计自动打铃器的应用实例资料说明

使用C51单片机和Proteus仿真设计远程仓库湿度监测系统的应用实例

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计远程仓库湿度监测系统的应用实例资....
发表于 05-21 08:00 11次 阅读
使用C51单片机和Proteus仿真设计远程仓库湿度监测系统的应用实例

使用C51单片机和Proteus仿真设计桥式起重机控制系统的应用实例资料

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计桥式起重机控制系统的应用实例资料....
发表于 05-21 08:00 17次 阅读
使用C51单片机和Proteus仿真设计桥式起重机控制系统的应用实例资料

使用C51单片机和Proteus仿真设计数字时钟的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计数字时钟的应用实例资料说明免费下....
发表于 05-21 08:00 4次 阅读
使用C51单片机和Proteus仿真设计数字时钟的应用实例资料说明

使用C51单片机和Proteus仿真设计手机拨号模块的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计手机拨号模块的应用实例资料说明。....
发表于 05-21 08:00 11次 阅读
使用C51单片机和Proteus仿真设计手机拨号模块的应用实例资料说明

使用C51单片机和Proteus仿真设计跑步机启停速度控制模块的应用实例

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计跑步机启停速度控制模块的应用实例....
发表于 05-21 08:00 5次 阅读
使用C51单片机和Proteus仿真设计跑步机启停速度控制模块的应用实例

使用C51单片机和Proteus仿真设计模拟时钟的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计模拟时钟的应用实例资料说明。 ....
发表于 05-21 08:00 9次 阅读
使用C51单片机和Proteus仿真设计模拟时钟的应用实例资料说明

STC ISP一款好用的单片机程序烧录软件应用程序合集免费下载

本文档的主要内容详细介绍的是STC ISP一款好用的程序烧录软件应用程序合集免费下载。
发表于 05-21 08:00 28次 阅读
STC ISP一款好用的单片机程序烧录软件应用程序合集免费下载

单片机的硬件结构详细资料说明

本文档的主要内容详细介绍的是单片机的硬件结构详细资料说明包括了:1.逻辑结构及信号引脚,2.并行输入....
发表于 05-21 08:00 70次 阅读
单片机的硬件结构详细资料说明

常用辅助开发软件资料合集免费下载

本文档的主要内容详细介绍的是常用辅助开发软件资料合集免费下载包括了:PCtoLCD2002完美版,串....
发表于 05-21 08:00 31次 阅读
常用辅助开发软件资料合集免费下载

单片机音乐程序的设计原理解析

我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则....
发表于 05-20 16:08 111次 阅读
单片机音乐程序的设计原理解析

单片机系统的EMC测试设计

EMC是电磁兼容(Electro- Magnetic Compatibility)的缩写,它包括电磁....
发表于 05-20 15:39 73次 阅读
单片机系统的EMC测试设计

集成电路 | 基于深度学习和低频通信阵列的无线面隔离装置设计

近年来,我国建筑在规模和层次上都发展到了一个新的高度,同时建筑施工安全管理也越发受到人们重视。
的头像 集成电路应用杂志 发表于 05-20 14:18 258次 阅读
集成电路 | 基于深度学习和低频通信阵列的无线面隔离装置设计

基于単片机室内照明智能控制系統

很多元件之间可能会互相影响,比如蜂鸣器会影响声控开关、热释电模块会影响红外通信(遥控,不过概率比较低....
的头像 电子发烧友网工程师 发表于 05-20 11:16 208次 阅读
基于単片机室内照明智能控制系統

R7F0C807单片机在直流无刷电机控制中的应用介绍和控制源码资料说明

本篇应用说明介绍了 R7F0C807 单片机在直流无刷电机控制中的应用。 本篇应用说明介绍了使用 ....
发表于 05-20 08:00 28次 阅读
R7F0C807单片机在直流无刷电机控制中的应用介绍和控制源码资料说明

使用C51单片机和Proteus仿真设计密码保险箱的应用实例资料免费下载

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计密码保险箱的应用实例资料免费下载....
发表于 05-20 08:00 13次 阅读
使用C51单片机和Proteus仿真设计密码保险箱的应用实例资料免费下载

使用C51单片机和Proteus仿真设计简易频率计的应用实例资料合集

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计简易频率计的应用实例资料合集。
发表于 05-20 08:00 15次 阅读
使用C51单片机和Proteus仿真设计简易频率计的应用实例资料合集

使用C51单片机和Proteus仿真设计简易电子琴的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计简易电子琴的应用实例资料说明。
发表于 05-20 08:00 15次 阅读
使用C51单片机和Proteus仿真设计简易电子琴的应用实例资料说明

使用C51单片机和Proteus仿真设计简易波形发生器的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计简易波形发生器的应用实例资料说明....
发表于 05-20 08:00 16次 阅读
使用C51单片机和Proteus仿真设计简易波形发生器的应用实例资料说明

使用C51单片机和Proteus仿真进行货车超重监测系统的应用实例资料

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真进行货车超重监测系统的应用实例资料。
发表于 05-20 08:00 12次 阅读
使用C51单片机和Proteus仿真进行货车超重监测系统的应用实例资料

使用C51单片机和Proteus仿真进行呼吸灯的设计程序和资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真进行呼吸灯的设计程序和资料说明。
发表于 05-20 08:00 21次 阅读
使用C51单片机和Proteus仿真进行呼吸灯的设计程序和资料说明

使用C51单片机和Proteus仿真设计负载平衡监控系统的应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计负载平衡监控系统的应用实例资料说....
发表于 05-20 08:00 23次 阅读
使用C51单片机和Proteus仿真设计负载平衡监控系统的应用实例资料说明

使用C51单片机和Proteus仿真设计多功能电子钟的应用实例资料合集

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真设计多功能电子钟的应用实例资料合集。
发表于 05-20 08:00 26次 阅读
使用C51单片机和Proteus仿真设计多功能电子钟的应用实例资料合集

使用C51单片机和Proteus仿真进行俄罗斯方块的设计应用实例资料说明

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真进行俄罗斯方块的设计应用实例资料说明....
发表于 05-20 08:00 21次 阅读
使用C51单片机和Proteus仿真进行俄罗斯方块的设计应用实例资料说明

使用C51单片机和Proteus仿真进行多点温度采集系统的应用实例资料合集

本文档的主要内容详细介绍的是使用C51单片机和Proteus仿真进行多点温度采集系统的应用实例资料合....
发表于 05-20 08:00 24次 阅读
使用C51单片机和Proteus仿真进行多点温度采集系统的应用实例资料合集

MCS51单片机的结构与原理的详细资料说明

本文档的主要内容详细介绍的是MCS51单片机的结构与原理的详细资料说明包括了:1. MCS-51单片....
发表于 05-20 08:00 28次 阅读
MCS51单片机的结构与原理的详细资料说明

单片机的定时和计数功能设计的详细资料说明

本文档的主要内容详细介绍的是单片机的定时和计数功能设计的详细资料说明包括了:1.定时/计数器的功能,....
发表于 05-20 08:00 42次 阅读
单片机的定时和计数功能设计的详细资料说明

有关单片机的汇编语言程序设计教程资料免费下载

本文档的主要内容详细介绍的是有关单片机的汇编语言程序设计教程资料免费下载包括了:1.汇编语言语句格式....
发表于 05-20 08:00 33次 阅读
有关单片机的汇编语言程序设计教程资料免费下载

两个51单片机实现串口通讯的详细资料合集免费下载

本文档的主要内容详细介绍的是两个51单片机实现串口通讯的详细资料合集免费下载。
发表于 05-20 08:00 29次 阅读
两个51单片机实现串口通讯的详细资料合集免费下载

STC89C52单片机的内部组织结构及特点的详细资料说明

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传....
发表于 05-20 08:00 91次 阅读
STC89C52单片机的内部组织结构及特点的详细资料说明

智能分拣机器人系统设计的流程原理图免费下载

本文档的主要内容详细介绍的是智能分拣机器人系统设计的流程原理图免费下载。
发表于 05-20 08:00 52次 阅读
智能分拣机器人系统设计的流程原理图免费下载

如何进行数控直流稳压电源的设计详细毕业设计论文资料免费下载

电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。电力电子技术是电能的最佳应用技....
发表于 05-20 08:00 62次 阅读
如何进行数控直流稳压电源的设计详细毕业设计论文资料免费下载