十六进制设备我怎么去控制
⑴ 请问:PLC中的十进制和十六进制怎么用多谢
你些数复据进去就是制了啊,1就是1,2就是2的写进去,除了要求必须用16进制的其他都可以直接用十进制常数。16#08E,16#A0这样就是16进制数了。在数的前面加“16#”后面的就用电脑自带的计算器计算,你先把计算器显示为科学型的就可以任意转换了。
⑵ 关于串口的问题,我记得串口都是几位几位发送的,怎么设备上的数据包都是 一组16进制数,我想用单片
单片机都有一个uart接口模块,已经实现标准的协议,通信参数有波特率、数据位等,输入输出接口都是以字节为单位,编写时可以参考你选择mcu的例子。
调试时可以用格西烽火、sscom等软件。
⑶ 急问,怎么通过linux串口发送16进制数据现有串口驱动只支持字符方式,而控制设备 要求 16进制数据帧
机器不认识所谓十六进制所谓十进制
你所谓的十六进制序列,就是字节序列,就是字符序列。
A5等于165,unsigned char CH=165
⑷ 我想用串口调试助手发送30指令给89C51,控制30路灯光的亮与灭,程序要怎么样写呀十六进制的。 急。。。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint flag;
uchar a;
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
ES=1;
SM0=0;
SM1=1;
REN=1;
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
}
}
}
void chuankou() interrupt 4
{
RI=0;
P0=SBUF;//控制led灯的端口
a=SBUF;
flag=1;
}
发送0x30,接受区也能显示出回你发送的是答不是0x30
⑸ 请问:PLC中的十进制和十六进制怎么用多谢,多谢
现在搞什么!十进制数和十六进制数只是在表示形式上不一样,在PLC的寄存器中还是成了二进制来反映你所要的十进制!来达到你所要达到控制的位!
⑹ 单片机编程中十六进制控制数码管的问题
0x7e,0x7d,0x7b是3个数码管的来位选源码,也可称为地址码.
其对应的2进制为:1111110,1111101,1111011, 分别为百\十\个.
看这3个数中都有1位为0.
在时间上分开,分别送出3个中的1个地址,再送要显示的数值,则该位就按要求亮了.
同理,在显示其他2位...
⑺ 哪位单片机大神能给我讲讲二极管怎么用十六进制数控制亮灭,比如流水灯的程序(AT89C52)。
加入程序中有P1=0xff,就表示P1端口所有的输出都是高电平,因为这个十六进制数字换算成二级制就是1111 1111,
具体的操作,课本上有。
没有课本的话网络文库搜索“protues仿真”
⑻ 在51单片机中,为什么一定要用十六进制的数去控制数码管,led灯等的电压,难道十进制的数转换为二进制以后
当然你也可以使用十进制或者二进制,表达的方法有些不同而已。
比如送专数到P1口用十进制属:MOV P1,#15相当于16进制:MOV P1,#0FH也相当于二进制:MOV,P1,#00001111B一样的效果。 明白吗
⑼ 怎么把16进制的字符串转换成16进制数从串口发出去
帮你写了个子程序,输入一个1或2字节的字符串,输出对应的十进制值。如回a=hex2dec("FF")返回255给a。然后mscomm1.output=chr(a)就把答255发送出去了。
Private Function hex2dec(ByVal hex As String) As Byte
Dim a, d As Byte
hex = UCase(hex)
If Len(hex) = 1 Then hex = "0" & hex
a = Asc(Left(hex, 1))
d = IIf(a <= &H39, a - &H30, a - 55) * 16
a = Asc(Right(hex, 1))
d = d + IIf(a <= &H39, a - &H30, a - 55)
hex2dec = d
End Function
⑽ bacnet协议的设备,用软件扫出数据后,是否能转换成16进制的代码,怎么转
关于到代码之间的转换,可以参考一下相关的资料