MSP430初学:MSP430单片机C语言基础(二)

发布者:心灵飞翔最新更新时间:2022-10-17 来源: csdn关键字:MSP430  初学  单片机  C语言基础 手机看文章 扫描二维码
随时随地手机看文章

1.进制转换

作为一名”勤快“少年,我自然是:

2.数值数据的表示

1.储存单位

计算机的数据是以二进制形式存在的,所以它的储存单位也与二进制有关


储存单位:位bit,b,是数据储存的最小单位,表示一位二进制信息


                  字节Byte,B,是信息储存的基本单位,1B由8位二进制数字组成,1B=8b


2.有符号的二进制数


计算机中,无符号位和有符号位的取值范围区别_HD243608836的博客-CSDN博客_符号位


char      8bit  1Byte       2^8=256


C语言各数据类型大小和取值范围_画船听雨眠-CSDN博客_c语言数据类型范围


十进制数有正数和负数之分,二进制数也有正数和负数之分。带有正、负号的二进制数称为真值,如+1101001、-1001011就是真值。为了方便运算,在计算机中约定:在有符号数的前面增加 1 位符号位,用“0”表示正号,用“1”表示负号。这种在计算机中用 0 和 1 表示正负号的数称为机器数。目前常用的机器数编码方法有原码、反码和补码三种。(哈哈,让我想起了数电)


1)原码

正数的符号位用 0 表示,负数的符号位用 1 表示,其余数位表示数值本身。常用[X]原表示X的原码。


在8 位二进制数中,给出十进制数+52 和-52 的原码表示

[+52]原 = 0011 0100

[-52]原  = 1011 0100 

数值位相同,符号位不同


原码表示简单易懂,在计算机中常用于实现乘除运算,但加减运算不方便。例如,遇到两个异号数相加或者两个同号数相减,就要做减法。为了简化运算器的复杂性,提高速度,需要将减法运算转变为加法运算,其优势是在设计电子器件时,只需要设计加法器,不需要再单独设计减法器。因此人们引入了反码表示和补码表示。(msp430有乘法器)


2)反码

正数的反码表示与原码表示相同,最高位为符号位,用0 表示正数,其余各位为数值位。而负数的反码表示,是在原码的基础上保持符号位不变,其他各位按位取反得到的。常用[X]反 表示 X 的反码。


在 8 位二进制数中,给出十进制数+25 和-25 的反码表示。

[+ 25]反 =[+ 25]原= 0001 1001B(B表示二进制)

[-25]反  =                 1110  0110

 


3)补码

正数的补码表示与其原码相同,即最高位为符号位,用0表示正数,其余各位为数值位。而负数的补码表示是在原码的基础上保持符号位不变,其他各数值位按位取反,然后在最低位加 1 运算得到的。常用[X]补表示X的补码。


3.实数的表示


4.进位与溢出


(51单片机)看到的较为巧妙给的寄存器赋值方法:


注意:第写法有BUG!!


921600>65535,溢出了

关于int、short int、long int、long long 的区别_Adrianna的专栏-CSDN博客

 

其中一段

 

在标准中,并没有规定long一定要比int长,也没有规定short要比int短。

标准是这么说的:长整型至少和整型一样长,整型至少和短整型一样长。

这个的规则同样适用于浮点型long double至少和double一样长,double至少和float一样长。

至于如何实现要看编译器厂商.

应该这样写:

要点:unsigned int ---> unsigned char  int到char截断


          解释:


          int是4个字节

          char是1个字节,

          把int赋值给char,就要丢失高3个字节的内容,也就是截断,

          如果你能确定int的内容只有低位一个字节,int不是可以强制转换


       (0-255)unsigned char


int i=97;

char c;

c=(char)i; //不推荐这么用

要点:


unsigned int tmp;

 

T0RH = (unsigned char)(tmp>>8);

T0RL = (unsigned char)(tmp);

         >>对位操作


51可以对寄存器按位赋值,如P0^1=1,但msp430不可以,要对整个寄存器全部重新赋值,只改变需要的位,其他位不变,要注意的是头文件中定义了每位数值的常量。


在引用的头文件右键

这样使用时就容易多了,不用一位一位的自己写了,使用位运算


     P5DIR  = P5DIR |BIT4;//打开VCC

     P5OUT  =P5OUT| BIT4;

C语言位运算


位运算(二):8bit数据指定位置0或置1操作_XHfight的博客-CSDN博客


位操作---置位(置1)、清除和取反_chengwei1128的博客-CSDN博客


C语言位操作_无界编程-CSDN博客(嵌入式)


& 按位与

| 按位或

^ 按位异或

~按位取反


//某一位1

P5DIR  = P5DIR |BIT4;

//某一位0

ADC12CTL0 &= ~ADC12ENC;

//某一位取反

P5OUT ^= BIT4;

注意观察,0x0001u,u是什么意思?


       首先,前面加0x或者0X表示这个数的表示形式是16位

       其次,末尾加u表示无符号


溢出


CY 位是进位位,用来表示本次无符号数运算结果的溢出。由于无符号数的最高有效位只有数位意义而无符号意义,所以该位所产生的进位应该是本次运算结果的实际进位值。

所以说:进位位 CY 是在给定二进制数的位数范围内,代表了本次运算结果的溢出情况。另一方面,它所保存的进位值有时也是有用的。例如,双字长运算时,可以利用进位值把低位字的进位计入高位字。

OV 位表示溢出。溢出位是用来表示带符号数的运算结果超出有限字长的表示范围的标志。它是根据两个操作数的符号及其变化来设置的。例如,两个操作数符号相同而运算

结果的符号与之相反时 OV=1,反之,OV=0。

51单片机,定时器寄存器溢出中断


5.符号扩展问题


8bit --> 16bit --->32bit


3.计算机的码制

ASCII码


UART串口通讯   以16进制发送数据


关键字:MSP430  初学  单片机  C语言基础 引用地址:MSP430初学:MSP430单片机C语言基础(二)

上一篇:MSP430初学:MSP430单片机C语言基础(一)
下一篇:MSP430开发环境配置

推荐阅读最新更新时间:2024-11-12 17:27

单片机I2C驱动程序
void delay() {; ;} void delay1ms ( uint z ) { uint x, y; for ( x = z; x 0; x -- ) for ( y = 110; y 0; y -- ); } I2C启动:在SCL为高电平期间,SDA出现下降沿 void start_I2C ( ) / { sda = 1; delay (); scl = 1; delay (); sda = 0; delay (); } I2C停止:在SCL高电平期间,SDA上产生一上升沿 void stop_I2C () //停止 { sda = 0; delay (); scl = 1; delay ();
[单片机]
<font color='red'>单片机</font>I2C驱动程序
STM32F103单片机JTAG端口重映射
STM32单片机复位后,JTAG口默认是被占用的。如果想将JTAG占用的几个IO口设置为普通IO口,就需要进行端口重映射。 复位后端口默认功能可以在STM32参考手册上看到 要将JTAG占用的这些口设置为普通IO口时,需要用复用功能重映射,在程序开始执行时将JTAG口重映射为普通IO口。 将JTAG要设置为普通 IO口时,需要设置AFIO_MAPR寄存器的SWJ_CFG位。如果用寄存器操作的话,就直接设置这个寄存器的值就行。如果用库函数操作的话,可以直接调用库函数void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState)。 这个库函
[单片机]
STM32F103<font color='red'>单片机</font>JTAG端口重映射
基于MSP430F149单片机的直流电子负载设计
摘要鉴于电子负载在电源设备测试中的广泛应用,研制了一台以MSP430F149单片机为核心处理器的直流电子负载。单片机MSP430F149内设ADC12模块对负载电压、电流信号实时采样,并外设10位D/A转换芯片TLC5615输出模拟电压信号驱动MOS管,内部控制采用BP神经网络算法,实现定电流、定电压、定电阻和定功率4种工作模式。经安装测试,系统调整时间 3 s,电压电流测量误差均 ±0.5%,且跟踪速度快、测量精度高,并具有一定的经济实用价值。 在电子、通信、能源等领域中,需要对电源稳压器、蓄电池和功率电子元件等设备进行测试。在进行传统的负载测试时,需要用电阻、电容和电感或是其串并联组合来模拟实际负载情况,该测试方法其负载调
[单片机]
基于<font color='red'>MSP430</font>F149<font color='red'>单片机</font>的直流电子负载设计
单片机端口输入输出阻抗
之前有读者大概问了这么一个问题:单片机PWM输出时,引脚的低电平有1.2v左右,正常吗? 这个问题就可能牵涉到上下拉和单片机端口输入输出阻抗的问题。 你知道单片机端口的输入输出阻抗吗,下面通过过实验测量的方法,给大家分析一下相关内容。 ➤ 01 概述 本文利用在 ATMEGA8 DIP-28面包板实验 中可以下载程序的实验方式,对于ATmega8单片机搭建在面包板上的测试芯片。通过实验来测量对应的IO端口在作为输出端时相对于GND,VCC的电阻阻抗。 ▲ ATMEGA单片机IO口等效电路 ➤ 02 测量方案 1.测量端口电阻 测量电阻阻抗的方式可以通过以下三种方式来进行: 通过V-A方法检测,也就是通过
[单片机]
Keil C51破解版(c语言单片机编程软件) v9.0 免费汉化版
软件介绍 keil c51汉化包旨在带来单片机的各类编程操作,让你能够轻松的进行所需的编辑服务,拥有c语言编程辅助功能,为你带来免费的各类操作效果! 官方介绍 是一款破解过的C语言单片机编程软件!这款软件主要为编程学员们提供c语言服务。绿色资源网小编提供的这款软件完全免费,大家下载后即可使用! eil C51简介: eil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 可以使用以前的注册文件如果全新安装,在VISTA或者WIN 7系统下,请使用管理员
[单片机]
Keil C51破解版(<font color='red'>c语言</font><font color='red'>单片机</font>编程软件) v9.0 免费汉化版
PIC单片机boot loader 设计
第一步 当串口倒计时 发送任意字符 Rx: HI-TECH Software (C)2008 Download-5 Download-4 Download-3 Download-2 Download-1 Tx c 第二步 发送应用程序 “xx.hex”文件 第三步 复位单片机 首先进入bootloader— 进入应用程序 注意点:应用层从0x300开始 需要掌握:中断地址重映射 pic单片机flash擦写,熔断丝配置
[单片机]
PIC<font color='red'>单片机</font>boot loader 设计
基于单片机设计的便携式语音环境参数测试仪
1 引言   人们健康意识和环保意识的逐渐增强使环境参数及其对身体的影响日益受到关注。然而现实生活中人们常常身处煤气、香烟、酒精等有害气体的包围之中,但因没有合适的测量仪器或因专业的测量仪器过于昂贵而不能方便地得知身边环境中的各种参数值,因而无法知晓环境参数是否会对身体或环境构成危害。这里介绍一种多功能环境测量仪的设计方法,该测量仪廉价、实用、便携,并有语音播报测量值及有害气体越限报警等多种功能。   2 总体结构与工作原理   该测量仪以凌阳16位单片机SPCE061A为控制核心,光线、温度、湿度、气体传感器将获得的环境信息量转换为模拟电信号,经A/D转换器转换为对应的数字信号后交由CPU处理;CPU实时计算测量值并将
[单片机]
单片机经典实验实例精华详解(附源程序)(一)
     自学单片机心得体会   无论是作为一名业余的电子爱好者还是一名电子行业的相关从业人员,掌握单片机技术无疑可以使您如虎添翼,为您的电子小制作或者开发设计电子产品时打开方便的大门!   而且现在学习单片机技术的热潮正在不断升温,电子发烧友网开设了详细的单片机学习专栏和人气非常旺的论坛讨论组,对于想学习单片机的朋友来说帮助很大,可以说现在的单片机学习环境是最好的,经过一段时间的努力,采用单片机来开发设计电子产品已经不再是专业电子工程师的“专利”!作为一个普通的电子爱好者完全可以通过一番努力后熟练掌握!国外的电子爱好者采用单片机来设计小制作非常普及,一些智能机器人、智能自动装置内部都离不开单片机的身影~~~   学习单片
[模拟电子]
<font color='red'>单片机</font>经典实验实例精华详解(附源程序)(一)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved