0

主题

0

好友

78

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
23822
帖子
76
精华
0
经验
78 点
金钱
78 ¥
注册时间
2007-6-20
发表于 2007-7-7 19:24 | 显示全部楼层

STC的单片机制要买个片子就可以学了。

电平转换电路两个三极管就可以了。

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-7 21:28 | 显示全部楼层
原帖由 locky_z 于 2007-7-7 16:23 发表
看到LZ说STC的51这么好,特到宏晶网站上看了一下,好像说传真就可以免费拿编程器/试验板,于是传真一份过去,很快就有MM打电话过来,知道我是业余的,不能免费,没办法,只好购买。
  编程、试验合一板才50块 ...



其实我没有说它好,只是觉得它很适合入门,因为这个IC下载程序是用串口的,可在线下载程序,对于初学者来说很方便

我只用过它的STC89C系列,带AD的用过STC12C2051,是8位AD,用来做了个电压表,不过后面出问题了,开机显示一段时间就灭掉了
也不知道是什么问题

申请它的样片需要以公司的名义,个人来说一般申请不到的!

初学者如果觉得40个脚太麻烦了的话可以用STC12C2051系列,是20个脚和,和AT的2051兼容的。

166

主题

0

好友

1545

积分
     

侠之大者 当前离线

烧无止境

Rank: 6Rank: 6

UID
9171
帖子
3374
精华
1
经验
1545 点
金钱
1314 ¥
注册时间
2006-5-5
发表于 2007-7-7 21:37 | 显示全部楼层
好帖!!好好学习

5

主题

1

好友

2751

积分

罗宾汉 当前离线

☆☆高烧不退☆☆

Rank: 7Rank: 7Rank: 7

UID
21382
帖子
3041
精华
0
经验
2751 点
金钱
2785 ¥
注册时间
2007-4-7
发表于 2007-7-7 22:11 | 显示全部楼层
看看

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-7 23:33 | 显示全部楼层
先写一下自己一开始学单片机的困惑吧!

我是计算机专业的,不过还在大二的时候就听师兄们说单片机很难,到大三选课的时候,在班上大部分同学反对下,很遗憾的没有选这门课,直到后面我才发现我错失了一个多么大的机会,接触单片机还是大四上学期的时候,当时记得是看到论文题目里唯一跟电子有关的课题就是:“单片机智能温度测量报警系统”于是毫不犹豫的选了这个课题,当时班上只有我一个人选了

知道隔壁班开过这个课,就去借了一本基础书,然后去长运电子市场买了AT89S51,但并不知道从何下手,这时候遇到了狂兄,在他的一步一步的指导下,终于做好了并口下载线,还有做了一个最小系统板,然后也烧录了第一个程序,就是一个秒闪的简单的程序,当时真的觉得很高兴,因为觉得它的潜力太大了,以前就想过,如果有种IC可以让我来定制它的功能那是多么好的事情

之后开始了慢慢的探索的过程,因为没有自己的电脑,每次都得等同学去睡觉了我再用,基本上是从12点到四五点!

对于编程语言,当时并没有考虑太多,书上一开始介绍的硬件自己也是一知半解,什么串口,定时器之类的以前都没接触过,书上介绍的是汇编指令,因为以前也有学过宏汇编,虽然90%都回到老师那去了,但凭着一股冲劲,还有强记强理解!而对指令最好的理解就是把它放到实际的环境中去运行。完成一个完整的程序!

之后也丢过一段时间,大四上学期结束后就一直没接触了,直到要做论文的时候又开始学了,当第一次测出DS18B20的温度时,真的也兴奋,基本上睡不着,而这个过程基本上都是天天凌晨在电脑前奋斗的过程,因为当时对它实在是太感兴趣了,所以我现在也强调兴趣是最好的老师,如果你不感兴趣就不要强迫自己去学了,你可以先去了解它,对它的潜能做一个展望,也许你会发现它实在是很不错的东西。

毕业论文的时候拿着做好的板和演示程序,答辩老师说我是我们院第一个把硬件做出来的(可以理解)当然毕业论文也得了优!

而从事单片机工作也是巧遇,就自己那时候的水平,真的不敢拿出来,找的第一份工作是汽车上移动播放器维修(其实是电脑了)一个月后,被同学介绍进江门一个厂里,而那个同学也是因为我的影响改了和我一样的毕业论文题目,也因此喜欢上了单片机,在那个厂里老板很信任,也给了我们很大的空间,而网络也真的很强大,我们学到了好多,而在这时候再回过头去看论文,觉得那时候的编程真的很糟,这是能理解的。现在来深圳后,又发现在江门时候自己的编程一点都不规范,在那里因为没人带,一切都得自己去摸索。

其实我也很菜,现在用过的就51单片机和义隆的,不过想学的真的很多,AVR,MSP430,CPLD,DSP和ARM也是一个长远的计划!现在工作有点忙,写得有点多了

其实我说这么大段的意思就是想大家对学习单片机最好有一个明确的目的,或是要培养一个兴趣,这样才有动力学,如果没有动力,三天打鱼,二天晒网,前天学到说不定过二天又忘光了

好了,就说这么多吧,罗嗦了!!

还是那句话,希望想学的找些基础的内容来看一下,对单片机有个了解,今天去赛格,本来想把元件都买回来开始做实验的,不过工作上有些事,先缓一缓吧。不好意思了

13

主题

4

好友

1198

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
11935
帖子
1233
精华
0
经验
1198 点
金钱
937 ¥
注册时间
2006-9-1
发表于 2007-7-7 23:35 | 显示全部楼层
先顶下!
好几年前就想学了.就是学不进.
如果通俗易懂.他奶奶的看这次能不能搞得掂.
先告诉我们要准备些什么材料.我们好准备下.
再开讲容易懂点.也容易上手.
进度一定要慢点.
他奶奶的跟单片机拼了!!
明天就去赛格瞧瞧!!
头像被屏蔽

100

主题

0

好友

4380

积分

禁止访问 当前离线

UID
6233
帖子
4488
精华
0
经验
4380 点
金钱
2995 ¥
注册时间
2005-11-8
发表于 2007-7-7 23:37 | 显示全部楼层
用2051搞过个电子钟,走得还算可以,可惜程序不是我的.

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-8 00:03 | 显示全部楼层
原帖由 浩浩 于 2007-7-7 23:35 发表
先顶下!
好几年前就想学了.就是学不进.
如果通俗易懂.他奶奶的看这次能不能搞得掂.
先告诉我们要准备些什么材料.我们好准备下.
再开讲容易懂点.也容易上手.
进度一定要慢点.
他奶奶的跟单片机拼了!!
明天 ...

准备材料   
电脑一台  带com口(串口)如无,请买一个USB转串口线

单片机   STC89C52(大概6元钱)  深圳塞格一楼小门进去有,还有电梯上二楼往右转即可  也有买

串口线一条      串口9脚座一个(孔的)

万用板若干

二脚普通晶振   12M   11.0592M各备一个

5v电源    可从电脑USB口接出   也可用5V稳压供给

其他杂元件  led若干   数码管(共阳)四个(多买几个也可以)

40脚IC座一个

MAX232(大概3元钱)

74HC595(串转并口的IC  大概1.5或2块)可买二三个

红外一体化接收头

如果你平时备有元件的话  其他阻容之类普通三极管就不介绍了

注:常用电阻10K,三极管8550,8050之类的

到时候先用这些做几个简单的实验吧

116

主题

0

好友

1676

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
4698
帖子
1609
精华
0
经验
1676 点
金钱
1458 ¥
注册时间
2005-6-22
发表于 2007-7-8 08:22 | 显示全部楼层

回复dmqq

老兄是从哪里看出我不是学单片机的?果然高.

116

主题

0

好友

1676

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
4698
帖子
1609
精华
0
经验
1676 点
金钱
1458 ¥
注册时间
2005-6-22
发表于 2007-7-8 08:28 | 显示全部楼层

在杭州的朋友

本人很讨厌邮寄,在杭州的朋友可以送他一套STC的编程下载器.MEGA16,32,64,128的JTAG仿真器.

63

主题

0

好友

986

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1657
帖子
612
精华
4
经验
986 点
金钱
199 ¥
注册时间
2004-9-21
发表于 2007-7-8 08:44 | 显示全部楼层
我杭州的呀....

116

主题

0

好友

1676

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
4698
帖子
1609
精华
0
经验
1676 点
金钱
1458 ¥
注册时间
2005-6-22
发表于 2007-7-8 08:52 | 显示全部楼层

怎么联系

给个联系方式

4

主题

0

好友

1070

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
1825
帖子
963
精华
1
经验
1070 点
金钱
680 ¥
注册时间
2004-10-13

社区贡献

发表于 2007-7-8 11:43 | 显示全部楼层
嘿嘿,来得晚了,还收学徒吗?

128

主题

4

好友

5474

积分

贵宾 当前离线

农夫,山前有点田!

Rank: 3Rank: 3

UID
17787
帖子
6485
精华
4
经验
5474 点
金钱
3816 ¥
注册时间
2007-1-21

社区贡献 论坛贵宾

发表于 2007-7-8 14:29 | 显示全部楼层
呵呵,单片机哦,顶一顶先!

0

主题

0

好友

93

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
20446
帖子
32
精华
0
经验
93 点
金钱
35 ¥
注册时间
2007-3-19
发表于 2007-7-8 15:57 | 显示全部楼层
晕哦,我这居然没用MAX232这个IC卖
头像被屏蔽

40

主题

0

好友

1474

积分

禁止发言 当前离线

UID
3028
帖子
1367
精华
0
经验
1474 点
金钱
1269 ¥
注册时间
2005-2-15
发表于 2007-7-8 19:06 | 显示全部楼层
我有SST单片机做的MON51仿真电路板,有谁要啊?因为我所剩不多了。大家登记一下。如果人多,我可以去代大家重新去做板。USB供电,本身有8个LED,可以做一些简单实验。空板如下图,大片的是仿真器,小片的是2051转接器。STCB也有一款CPU也支持仿真功能,也能用。如果需要的朋友多,我可以改成用USB转串口的模式,那样可以做到更小。

4

主题

0

好友

489

积分

业余侠客 当前离线

专业吹水

Rank: 4

UID
485
帖子
650
精华
0
经验
489 点
金钱
235 ¥
注册时间
2004-4-28
发表于 2007-7-8 19:36 | 显示全部楼层
楼上的是活雷锋呀!

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-8 19:44 | 显示全部楼层
有仿真器还是比较方便的,调试比较方便,比较容易发现隐含的错误在哪里!不过说起来惭愧,我51还没用过仿真器,以前买过一个套件,带有仿真芯片,不过都不知道怎么用,看个人习惯吧!对于在线可下载程序的单片机来说,到了一定熟练程序的话我觉得不用仿真器也可以!


回magicview 兄,如果没有MAX232,可用三极管焊个电路,昨二天还见论坛有人贴图出来问的
兄弟在哪呢?如果方便的话到时候送你一片也无妨

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-8 19:54 | 显示全部楼层
下面先给出一下51单片机的指令集,51单片机是集中指令集(CISC)单片机,所以指令比较多,带来的好处是功能丰富,很多指令也不是经常用到,下面的是按照首字母顺便排列的指令表,可以方便的查找需要的指令,后面将给出分类的指令集

助记符是就是指令对应的符号,为了方便记忆,操作符是指令十六进制表示形式,说明里有该条指令的功能,字节是该条指令在内部ROM中占用的空间,振荡周期是执行完该条指令所需的时间,这里是以振荡周期为基准的,一般的是以指令周期来计算的。

大家不要看到这么多指令就头晕,不用强记,开始的话可以用到了再去找,这个都没关系的!

助记符  操作码  说明  字节  振荡周期  
ACALL  addrll  X1*  绝对子程序调用  2  24  
ADD  A,Rn  28~2F  寄存器和A相加  1  12  
ADD  A,direct  25  直接字节和A相加  2  12  
ADD  A,@R  26,27  间接RAM和A相加  1  12  
ADD  A,#data  24  立即数和A相加  2  12  
ADDC  A,Rn  38~3F  寄存器、进位位和A相加  1  12  
ADDC  A,dircet  35  直接字节、进位位和A相加  2  12  
ADDC  A,@R  36,37  间接RAM、进位位和A相加  1  12  
ADDC  A,dircet  34  立即数、进位位和A相加  2  12  
AJMP  addrll  Y1**  绝对转移  2  24  
ANL  A,Rn  58~5F  寄存器和A相”与”  1  12  
ANL  A,direct  55  直接字节和A相”与"  2  12  
ANL  A,@Ri  56,57  间接RAM和A相"与"  1  12  
ANL  A,#data  54  立即数和A相"与"  2  12  
ANL  direct,A  52  A和直接字节相"与"  2  12  
ANL  direct,#data  53  立即数和直接字节相"与"  3  24  
ANL  C,bit  82  直接位和进位相"与"  2  24  
ANL  C,/bit  B0  直接位的反和进位相"与"  2  24  
CJNE  A,dircet,rel  B5  直接字节与A比较,不相等则相对转移  3  24  
CJNE  A,#data,rel  B4  立即数与A比较,不相等则相对转移  3  24  
CJNE  Rn,#data,rel  B8~BF  立即数与寄存器相比较,不相等则相对转移  3  24  
CJNE  @R,#data,rel  B6,B7  立即数与间接RAM相比较,不相等则相对转移  3  24  
CLR  A  E4  A清零  1  12  
CLR  bit  C2  直接位清零  2  12  
CLR  C  C3  进位清零  1  12  
CPL  A  F4  A取反  1  12  
CPL  bit  B2  直接位取反  2  12  
CPL  C  B3  进位取反  1  12  
DA  A  D4  A的十进制加法调整  1  12  
DEC  A  14  A减1  1  12  
DEC  Rn  18~1F  寄存器减1  1  12  
DEC  direct  15  直接字节减1  2  12  
DEC  @Ri  16,17  间接RAM减1  1  12  
DIV  AB  84  A除以B  1  48  
DJNE  Rn,rel  DB~DF  寄存器减1,不为零则相对转移  3  24  
DJNE  direct,rel  D5  直接字节减1,不为零则相对转移  3  24  
INC  A  04  A加1  1  12  
INC  Rn  08~0F  寄存器加1  1  12  
INC  direct  05  直接字节加1  2  12  
INC  @Ri  06,07  间接RAM加1  1  12  
INC  DPTR  A3  数据指针加1  1  24  
JB  bit;rel  20  直接位为1,则相对转移  3  24  
JBC  bit,rel  10  直接位为1,则相对转移,然后该位清0  3  24  
JC  rel  40  进位为1,则相对转移  2  24  
JMP  @A+DPTR  73  转移到A+DPTR所指的地址  1  24  
JNB  bit,rel  30  苯游晃?,则相对转移  3  24  
JNC  rel  50  进位为0,则相对转移  2  24  
JNZ  rel  70  A不为零,则相对转移  2  24  
JZ  rel  60  A为零,则相对转移  2  24  
LCALL  addr16  12  长子程序调用  3  24  
LJMP  addr16  02  长转移  3  24  
MOV  A,Rn  E8~EF  寄存器送A  1  12  
MOV  A,direct  E5  直接字节送A  2  12  
MOV  A,@Ri  E6,E7  间接RAM送A  1  12  
MOV  A,#data  74  立即数送A  2  12  
MOV  Rn,A  F8~FF  A送寄存器  1  12  
MOV  Rn,direct  A8~AF  直接字节送寄存器  2  24  
MOV  Rn,#data  78~7F  立即数送寄存器  2  12  
MOV  direct,A  F5  A送直接字节  2  12  
MOV  direct,Rn  88~8F  寄存器送直接字节  2  24  
MOV  direct,direct  85  直接字节送直接字节  3  24  
MOV  direct,@Ri  86,87  间接RAM送直接字节  2  24  
MOV  direct,#data  75  立即数送直接字节  3  24  
MOV  @Ri,A  F6,F7  A送间接RAM  1  12  
MOV  @Ri,direct  A6,A7  直接字节送间接RAM  2  24  
MOV  @Ri,#data  76,77  立即数送间接RAM  2  12  
MOV  C,bit  A2  直接位进位  2  12  
MOV  bit,C  92  进位送直接位  2  24  
MOV  DPTR,#data16  90  16位常数送数据指针  3  24  
MOVC  A,@A+DPTR  93  由A+DPTR寻直的程序存储器字节送A  1  24  
MOVC  A,@A+PC  83  由A+PC寻址的程序存储字节送A  1  24  
MOVX  A,@Ri  E2,E3  外部数据存储器(8位地址)送A  1  24  
MOVX  A,@DPTR  E0  外部数据存储器(16位地址)送A  1  24  
MOVX  @Ri,A  F2,F3  A送外部数据存储器(8位地址)  1  24  
MOVX  @DPTR,A  F0  A送外部数据存储器(16位地址)  1  24  
MUL  AB  A4  A乘以B  1  48  
NOP  00  空操作  1  12  
ORL  A,Rn  48~4F  寄存器和A相"或"  1  12  
ORL  A,direct  45  直接字节和A相"或"  2  12  
ORL  A,@Ri  46,47  间接RAM和A相"或"  1  12  
ORL  A,#data  44  立接数和A相"或"  2  12  
ORL  direct,A  42  A和直接。字节"或"  2  12  
ORL  dircect,#data  43  立即数和直接字节相"或"  3  24  
ORL  C,bit  72  直接位和进位相"或"  2  24  
ORL  C,/bit  A0  直接位的反和进位相"或"  2  24  
POP  direct  D0  直接字节退栈,SP减1  2  24  
PUSH  direct  C0  SP加1,直接字节进栈  2  24  
RET  22  子程序调用返回  1  24  
RETI  32  中断返回  1  24  
RL  A  23  A左环移  1  12  
RLC  A  33  A带进位左环移  1  12  
RR  A  03  A右环移  1  12  
RRC  A  13  A带进位右环移  1  12  
SETB  bit  D2  直接位置位  2  12  
SETB  C  D3  进位置位  1  12  
SJMP  rel  80  短转移  2  24  
SUBB  A,Rn  98~F  A减去寄存器及进位位  1  12  
SUBB  A,direct  95  A减去直接字节及进位位  2  12  
SUBB  A,@Ri  96,97  A减去间接RAM及进位位  1  12  
SUBB  A,#data  94  A减去立即数及进位位  2  12  
SWAP  A  C4  A的高半字节和低半字节交换  1  12  
XCH  A,Rn  C8~CF  A和寄存器交换  1  12  
XCH  A,direct  C5  A和直接字节交换  2  12  
XCH  A,@Ri  C6,C7  A和间接RAM交换  1  12  
XCHD  A,@Ri  D6,D7  A和间接RAM的低四位交换  1  12  
XRL  A,Rn  68~6F  寄存器和A相"异或"  1  12  
XRL  A,direct  65  直接字节和A相"异或"  2  12  
XRL  A,@Ri  66,67  间接RAM和A相"异或"  1  12  
XRL  A,#data  64  立即数和A相"异或"  2  12  
XRL  direct,A  62  A和直接字节相"异或"  2  12  
XRL  direct,#data  63  立即数和直接字节相"异或"  3  24

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-8 20:00 | 显示全部楼层
下面给出是以指令功能为分类的功能指令表
51单片机指令按照功能分就是五大类,所以实际上可以把这些指令缩小为五部分,用到时候再从某一部分扩展过去,这里是以指令周期来算执行时间的,传统51单片机是12分频,即指令周期为振荡周期的1/12,如果晶振为12M的话,一个指令周期就是1US

MC51单片机指令功能表

指令格式        功能简述                               字节数       周期


一、数据传送类指令
MOV   A, Rn              寄存器送累加器                  1          1
MOV   Rn,A               累加器送寄存器                  1          1
MOV   A ,@Ri            内部RAM单元送累加器             1          1
MOV   @Ri ,A            累加器送内部RAM单元             1          1
MOV   A ,#data           立即数送累加器                  2          1
MOV   A ,direct          直接寻址单元送累加器            2          1
MOV   direct ,A          累加器送直接寻址单元            2          1
MOV   Rn,#data           立即数送寄存器                  2          1
MOV   direct ,#data      立即数送直接寻址单元            3          2
MOV   @Ri ,#data        立即数送内部RAM单元             2          1
MOV   direct ,Rn         寄存器送直接寻址单元            2          2
MOV   Rn ,direct         直接寻址单元送寄存器            2          2
MOV   direct ,@Ri       内部RAM单元送直接寻址单元       2          2
MOV   @Ri ,direct       直接寻址单元送内部RAM单元       2          2
MOV   direct2,direct1    直接寻址单元送直接寻址单元      3          2
MOV   DPTR ,#data16      16位立即数送数据指针            3          2
MOVX  A ,@Ri            外部RAM单元送累加器(8位地址)    1          2
MOVX  @Ri ,A            累加器送外部RAM单元(8位地址)    1          2
MOVX  A ,@DPTR          外部RAM单元送累加器(16位地址)   1          2
MOVX  @DPTR ,A          累加器送外部RAM单元(16位地址)   1          2
MOVC  A ,@A+DPTR        查表数据送累加器(DPTR为基址)    1          2
MOVC  A ,@A+PC          查表数据送累加器(PC为基址)      1          2
XCH   A ,Rn              累加器与寄存器交换              1          1
XCH   A ,@Ri            累加器与内部RAM单元交换         1          1
XCHD  A ,direct          累加器与直接寻址单元交换         2          1
XCHD  A ,@Ri            累加器与内部RAM单元低4位交换    1          1
SWAP  A                   累加器高4位与低4位交换          1          1
POP   direct              栈顶弹出指令直接寻址单元        2          2
PUSH  direct              直接寻址单元压入栈顶            2          2

二、算术运算类指令
ADD   A, Rn              累加器加寄存器                  1          1
ADD   A, @Ri            累加器加内部RAM单元             1          1
ADD   A, direct          累加器加直接寻址单元            2          1
ADD   A, #data           累加器加立即数                  2          1
ADDC  A, Rn              累加器加寄存器和进位标志        1          1
ADDC  A, @Ri            累加器加内部RAM单元和进位标志   1          1
ADDC  A, #data           累加器加立即数和进位标志        2          1
ADDC  A, direct          累加器加直接寻址单元和进位标志  2          1
INC   A                   累加器加1                       1          1
INC   Rn                  寄存器加1                       1          1
INC   direct              直接寻址单元加1                 2          1
INC   @Ri                内部RAM单元加1                  1          1
INC   DPTR                数据指针加1                     1          2
DA    A                   十进制调整                      1          1
SUBB  A, Rn              累加器减寄存器和进位标志        1          1
SUBB  A, @Ri            累加器减内部RAM单元和进位标志   1          1
SUBB  A, #data           累加器减立即数和进位标志        2          1
SUBB  A, direct          累加器减直接寻址单元和进位标志  2          1
DEC   A                   累加器减1                       1          1
DEC   Rn                  寄存器减1                       1          1
DEC   @Ri                内部RAM单元减1                  1          1
DEC   direct              直接寻址单元减1                 2          1
MUL   AB                  累加器乘寄存器B                 1          4
DIV   AB                  累加器除以寄存器B               1          4

三、逻辑运算类指令
ANL   A, Rn              累加器与寄存器                  1          1
ANL   A, @Ri            累加器与内部RAM单元             1          1
ANL   A, #data           累加器与立即数                  2          1
ANL   A, direct          累加器与直接寻址单元            2          1
ANL   direct, A          直接寻址单元与累加器            2          1
ANL   direct, #data      直接寻址单元与立即数            3          1
ORL   A, Rn              累加器或寄存器                  1          1
ORL   A,@Ri             累加器或内部RAM单元             1          1
ORL   A,#data            累加器或立即数                  2          1
ORL   A,direct           累加器或直接寻址单元            2          1
ORL   direct, A          直接寻址单元或累加器            2          1
ORL   direct, #data      直接寻址单元或立即数            3          1
XRL   A, Rn              累加器异或寄存器                1          1
XRL   A,@Ri             累加器异或内部RAM单元           1          1
XRL   A,#data            累加器异或立即数                2          1
XRL   A,direct           累加器异或直接寻址单元          2          1
XRL   direct, A          直接寻址单元异或累加器          2          1
XRL   direct, #data      直接寻址单元异或立即数          3          2
RL    A                   累加器左循环移位                1          1
RLC   A                   累加器连进位标志左循环移位      1          1
RR    A                   累加器右循环移位                1          1
RRC   A                   累加器连进位标志右循环移位      1          1
CPL   A                   累加器取反                      1          1
CLR   A                   累加器清零                      1          1

四、控制转移类指令类
ACCALL addr11             2KB范围内绝对调用               2          2
AJMP   addr11             2KB范围内绝对转移               2          2
LCALL  addr16             2KB范围内长调用                 3          2
LJMP   addr16             2KB范围内长转移                 3          2
SJMP   rel                相对短转移                      2          2
JMP    @A+DPTR           相对长转移                      1          2
RET                       子程序返回                      1          2
RET1                      中断返回                        1          2
JZ     rel                累加器为零转移                  2          2
JNZ    rel                累加器非零转移                  2          2
CJNE   A ,#data ,rel    累加器与立即数不等转移          3          2
CJNE   A ,direct ,rel   累加器与直接寻址单元不等转移    3          2
CJNE   Rn,#data ,rel    寄存器与立即数不等转移          3          2
CJNE   @Ri ,#data,rel  RAM单元与立即数不等转移         3          2
DJNZ   Rn ,rel           寄存器减1不为零转移             2          2
DJNZ   direct  ,rel      直接寻址单元减1不为零转移       3          2
NOP                       空操作                          1          1

五、布尔操作类指令
MOV    C, bit            直接寻址位送C                   2          1
MOV    bit, C            C送直接寻址位                   2          1
CLR    C                  C清零                           1          1
CLR    bit                直接寻址位清零                  2          1
CPL    C                  C取反                           1          1
CPL    bit                直接寻址位取反                  2          1
SETB   C                  C置位                           1          1
SETB   bit                直接寻址位置位                  2          1
ANL    C, bit            C逻辑与直接寻址位               2          2
ANL    C, /bit           C逻辑与直接寻址位的反           2          2
ORL    C, bit            C逻辑或直接寻址位               2          2
ORL    C, /bit           C逻辑或直接寻址位的反           2          2
JC     rel                C为1转移                        2          2
JNC    rel                C为零转移                       2          2
JB     bit,rel           直接寻址位为1转移               3          2
JNB    bit,rel           直接寻址为0转移                 3          2
JBC    bit,rel           直接寻址位为1转移并清该位       3          2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部