0000
0000
0000H到0111
1111
1111
1111这个区间的数
也就是说从你原理图的连接就可以确定你连接芯片的地址查看单片机地址是8位还是16位,只能用指令实现:
16位的单片机地址,向DPTR里边传送数据,不论NUM有多小,肯定是16位的数据传送,如下:
MOV DPTR, #NUM
8位的单片机地址,向DPTR里边传送数据,则肯定是8位的数据传送,如下:
MOV DPH, #NUM,
或:
MOV DPL, #NUM,
对大于8位而小于等于16位的数据进行加法运算,16位处理器可以一次完成,8位的则要拆分成多步来运算,即使二者的运算速度相同,处理16位数据8位处理器也会比16位处理器慢多了。
8位单片机,典型的是51系列的,再高级点用AVR、pic的,功能方面,似乎都不会很复杂,一般可能是控制类的多一下。一般不跑嵌入式OS。
16位的单片机,16位的单片机比较尴尬,高不成低不就,要求低一点,8位MCU就够,高级点不如用32位MCU。
32位的,就高级点了,一般能跑嵌入式OS,例如ucos2,ucos3,uclinux等等,能做更多复杂的功能。用OS和不用OS的话,编程的思路差异比较大。功能一般有面向控制的,也有简单消费类电子的。;十六进制--->十进制
MM:
MOV A,30H
ANL A,#0F0H
SWAP A
MOV R0,A
CLR A
CLR CY
CJNE R0,#00H,L1
AJMP L3
L1: ADD A,#16H
DA A
JC L2
DJNZ R0,L1
AJMP L3
L2: INC B
DEC R0
CLR CY
CJNE R0,#00H,L1
L3: ANL 30H,#0FH ;30H存放转速十六进制的低字节
ADD A,30H
DA A
JC L4
AJMP L5
L4: INC B
CLR CY
L5: ANL 31H,#0FH ;31H存放转速十六进制的高字节
MOV R0,31H
MOV R1,31H
CJNE R0,#00H,L6
AJMP L10
L6: ADD A,#56H
DA A
JC L7
DJNZ R0,L6
AJMP L8
L7: INC B
DEC R0
CLR CY
CJNE R0,#00H,L6
L8: MOV 44H,A ;44H存放转化成的十进制的低字节
MOV A,B
CLR CY
L9: ADD A,#02H
DA A
DJNZ R1,L9
MOV 45H,A ;45H存放转化后的十进制的高字节
AJMP L
L10: MOV 44H,A
MOV 45H,B
L: END请问数码管是共阳极还是共阴极?
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
0, 1 , 2 , 3 , 4 , 5 , 6 , 7, 8 ,9
上面对应的是16进制;
二进制:
1:11111001
3:10110000
4:10011001
6:10000010
8:10000000
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)