导航:首页 > 操作系统 > 单片机2CF

单片机2CF

发布时间:2025-07-14 14:21:57

1. 单片机 psw是什么

程序状态寄存器PSW。
程序状态寄存器是计算机系统的核心部件——运算器的一部分,PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(CY位),有无溢出(OV位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(P位)等。
另一类是存放控制信息,如允许中断(IF位),跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag
Register)。
51单片机的PSW是一个8位寄存器,用来存放指令执行后的一些的状态,通常由CPU来填写,但是用户也可以改变各状态位的值。
(1)单片机2CF扩展阅读
单片机技术的开发:
1、CPU开发。开发单片机中的CPU总线宽度,能够有效完善单片机信息处理功能缓慢的问题,提高信息处理效率与速度,开发改进中央处理器的实际结构,能够做到同时运行2-3个CPU,从而大大提高单片机的整体性能。
2、程序开发。嵌入式系统的合理应用得到了大力推广,对程序进行开发时要求能够自动执行各种指令,这样可以快速准确地采集外部数据,提高单片机的应用效率。
3、存储器开发。单片机的发展应着眼于内存,加强对基于传统内存读写功能的新内存的探索,使其既能实现静态读写又能实现动态读写,从而显着提高存储性能。
参考资料来源:网络-psw

2. tms320f28335片内存储器一般包括哪些种类

tms320f28335片内存储器一般包括SARAM,FLASH和OTP。

1、 TMS320F28335片上SARAM:

(1)在TMS320F28335芯片中,有34k×16位的单周期单址ram,分为M0、M1和l0-l7 10个块。

(2)Mo和M1块中的saram大小为1K×16位。重置后,堆栈指针指向M1块的起始地址,堆栈指针向上增长。M0和M1段都可以映射到程序和数据区域。

(3)l0-l7块中Salam的大小为4K×16位,可以映射到程序空间和数据空间,L0—L3可以映射到两个不同的地址空间,并通过芯片上的Flash密码保护,从而避免上述程序或数据的存在和其他人的非法复制。

2、TMS320F28335片上FLASH和OTP:

在TMS320F28335芯片上有256K×16位的嵌入式闪存和1K×16位的可编程EEPROM主存储器,它们受片上闪存的密码保护,闪存由8个32K×16位扇区组成,用户可以擦除、编程和验证任何扇区,而其他扇区保持不变,但是,不能在一个扇区上执行程序来擦除和编程其他扇区。

3、TMS320F28335外部存储器接口:

(1)TMS32 F2335的外部存储器接口包括:20位地址线、16位(最大32位)数据线、3条芯片选择控制线和读写控制线,这3个剪辑映射到3个存储区域zone0、zone6和zone7,这三个存储器可以分别设置不同的等待时间。

(2)分区0存储区:0x004000-0x004fff,4K×16位,可编程至少一个等待周期。6区存储区:0x1000000-0x1fff,1m×16位,10ns,至少一个等待周期,7区存储区:0x200000-0x2fff,1m×16位,70ns,至少一个等待周期。

(2)单片机2CF扩展阅读:

TMS320F28335主要特点:

1、基于TMS320F28335的浮点DSP控制器。

2、Ti公司主要推出高性能TMS320C28X系列DSP控制器,主频可达150MHz。

3、具有I2C、SPI、ECAN、epwm等总线接口,适用于各种工业控制设备。

4、体积小,性能强,便携性高,适用于各种手持设备。

5、满足高低温、振动和工业环境应用的要求。

3. 单片机指令

单片机指令功能一览表
助记符 代码 说明
MOV A,Rn E8~EF 寄存器A
MOV A,direct E5 dircet 直接字节送A
MOV A,@Ri ER~E7 间接RAM送A
MOV A,#data 74 data 立即数送A
MOV Rn,A F8~FF A送寄存器
MOV Rn,dircet A8~AF dircet 直接字节送寄存器
MOV Rn,#data 78~7F data 立即数送寄存器
MOV dircet,A F5 dircet A送直接字节
MOV dircet,Rn 88~8F dircet 寄存器送直接字节
MOV dircet1,dircet2 85 dircet1 dircet2 直接字节送直接字节
MOV dircet,@Ro 86~87 间接RAM送直接字节
MOV dircet,#data 75 dircet data 立即数送直接字节
MOV @Ri,A F6~F7 A送间接RAM
MOV @Ri,#data 76~77 data 直接字节送间接RAM
MOV @Ri,#data 76~77 data 立即数送间接RAM
MOV DPTR,#data16 90 data 15~8 16位常数送数据指针
data7~0
MOVC A,@A+DPTR 93 由((A)+(DPTR))寻址的程序存贮
器字节选A
MOVC A,@A+PC 83 由((A)+(PC));寻址的程序存贮器字节送A
MOVX A,@Ri E2~E3 送外部数据(8位地址)送A
MOVX A,@DPTR E0 送外部数据(16位地址)送A
MOVX @Ri,A F2~F3 A送外部数据(8位地址)
MOVX @DPTR,A F0 A送外部数据(16位地址)
PUSH dircet C0 dircet 直接字节进栈,SP加1
POP dircet D0 dircet 直接字节退栈,SP减1
XCH A,Rn C8~CF 交换A和寄存器
XCH A,dircet C5 dircet 交换A和直接字节
XCH A,@Ri C6~C7 交换A和间接RAM
XCH A,@Ri D6~D7 交换A和间接RAM的低位
SWAP A C4

算术操作 (A的二个半字节交换)
ADD A,Rn 28~2F 寄存器加到A
ADD A,dircet 25 dircet 直接字节加到A
ADD A,@Ri 26~27 间接RAM加到A
ADD A,#data 24data 立即数加到A
ADD A,Rn 38~3F 寄存器和进位位加到A
ADD A,dircet 35dircet 直接字节和进位位加到A
ADD A,@Ri 36~37 间接字节和进位位加到A
ADD A,data 34 data 立即数和进位位加到A
ADD A,Rn 98~9F A减去寄存器和进位位
ADD A,dircet 95 dircet A减去直接字节和进位位
ADD A,@Ri 36~37 间接RAM和进位位加到A
ADD A,data 34 data 立即数和进位位加到A
SUBB A,Rn 98~9F A减去寄存器和进位位
SUBB A,dircet 95 dircet A减去直接字节和进位位
SUBB A,@Ri 96~97 A减去间接RAM和进位位
SUBB A,#data 94 data A减去立即数和进位位
INC A 04 A加1
INC Rn 08~0F 寄存器加1
INC dircet 05 dircet 直接字节加1
INC @Ri 06~07 间接RAM加1
DEC A 14 A减1
DEC Rn 18~1F 寄存器减1
DEC dircet 15 dircet 直接字节减1
DEC @Ri 16~17 间接RAM减1
INC DPTR A3 数据指针加1
MUL AB A4 A乘以B
DIV AB 84 A除以B
DA A D4 A的十进制加法调整

逻辑操作
ANL A,Rn 58~5F 寄存器“与”到A
ANL A,dircet 55 dircet 直接字节“与”到A
ANL A,@Ri 56~57 间接RAm“与”到A
ANL A,#data 54 data 立即数“与”到A
ANL dircet A 52 dircet A“与”到直接字节
ANL dircet,#data 53 dircet data 立即数“与”到直接字节
ORL A,Rn 48~4F 寄存器“或”到A
ORL A,dircet 45 dircet 直接字节“或”到A
ORL A,@Ri 46~47 间接RAM“或”到A
ORL A,#data 44 data 立即数“或”到A
ORL dircet,A 42 dircet A“或”到直接字节
ORL dircet,#data 43 dircet data 立即数“或”到直接字节
XRL A,Rn 68~6F 寄存器“异或”到A
XRL A,dircet 65 dircet 直接字节“异或”到A
XRL A,@Ri 66~67 间接RAM“异或”到A
XRL A,#data 64 data 立即数“异或”到A
XRL dircet A 62 dircet A“异或”到直接字节
XRL dircet,#data 63 dircet data 立即数“异或”到直接字节
CLR A E4 清零
CPL A F4 A取反
RL A 23 A左环移
RLC A 33 A通过进位左环移
RR A 03 A右环移
RRC A 13 A通过进位右环移

控制程序转移
ACALL addr 11 *1 addr(a7~a0) 绝对子程序调用
LCALL addr 16 12 addr(15~8) 长子程序调用
addr(7~0)
RET 22 子程序调用返回
RETI addr 11 32 中断调用返回
AJMP addr 11 △1 addr(a7~a6) 绝对转移
LJMP addr 16 02addr(15~8) 长转移
addr(7~0)
SJMP rel 80 rel 短转移,相对转移
JMP @A+DPTR 73 相对于DPTR间接转移
JZ rel 60 rel A为零转移
JNZ rel 70 rel A为零转移
CJNE A,dircet,rel B5 dircet rel 直接字节与A比较,不等则转移
CJNE A,#data,rel B4 data rel 立即数与A比较,不等则转移
CJNE A,Rn,#data,rel B8~BF data rel 立即数与寄存器比较,不等则转移
CJNE @Ri,#data,rel B6~B7 data rel 立即数与间接RAM比较,不等则转移
DJNZ Rn,rel D8~DF rel 寄存器减1,不为零则转移
DJNZ dircet,rel B5 dircet rel 直接字节减1,不为零则转移
NOP 00 空操作
*=a10a9a8l
△=a10a9a80

布尔变量操作
CLR C C3 清零进位
CLR bit C2 清零直接位
SETB C D3 置位进位
SETB bit D2 置位直接位
CPL C B3 进位取反
CPL bit B2 直接位取反
ANL C,bit 82 dit 直接数“与”到进位
ANL C,/bit B0 直接位的反“与”到进位
ORL C,bit 72 bit 直接位“或”到进位
ORL C,/bit A0 bit 直接位的反“或”到进位
MOV C,bit A2 bit 直接位送进位
MOV bit,C 92 bit 进位送直接位
JC rel 40 rel 进位位为1转移
JNC rel 50 rel 进位位为0转移
JB bit,rel 20 bit rel 直接位为1相对转移
JNB bit,rel 30 bit rel 直接位为0相对转移
JBC bit,rel 10 bit rel 直接位为1相对转移,然后清零该位

4. 单片机三种烧录方式ISP,IAP和ICP的区别详解

单片机ISP、IAP和ICP几种烧录方式的区别
玩单片机的都应该听说过这几个词。一直搞不太清楚他们之间的区别。今天查了资料后总结整理如下。
ISP:In System Programing,在系统编程
IAP:In applicaTIng Programing,在应用编程
ICP:In Circuit Programing,在电路编程
ISP是指可以在板级上进行编程,也就是不用拆芯片下来,写的是整个程序,一般是通过ISP接口线来写。
IAP虽然同样也是在板级上进行编程,但是是自已对自已进行编程,在应用中进行编程,也即可以只是更改某一部分而不影响系统的其它部分,另外接口程序是自已写的,这样可以进行远程升级而不影响应用。
打个比喻吧:
1、ISP是把房子拆了再重造一间,那么在造好之前当然是不能住人的啦!
2、IAP是在造好的房子里边进行一些装修,当然人可以继续住啦!
ICP是在电路编程,是LPC芯片的编程方式,相当于ATMEL的ISP,而LPC的ISP就相当于ATMEL的IAP了。
ISP与IAP的区别
ISP:in system programming, 在系统编程
IAP: in applicaTIn programming 在应用编程
但两者的操作方式,结果和应用场合有什么区别
什么是ISP:
用写入器将code烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫“在系统编程”,即不用脱离系统;
什么是IAP:
在应用编程,有芯片本身(或通过外围的芯片)可以通过一系列操作将code写入,比如一款支持Iap的单片机,内分3个程序区,1作引导程序区,2作运行程序区,3作下载区,芯片通过串口接收到下载命令,进入引导区运行引导程序,在引导程序下将new code内容下载到下载区,下载完毕并校验通过后再将下载区内容复制到2区,运行复位程序,则Iap完成;
应用场合:
1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了;
2,IAP 如果有网管系统的话,用网管下载一切搞定,人不用跑来跑去,
这可能是他们的优点或应用吧
在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般是通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。 ISP和IAP很相似,都是不需要把芯片从板子上拔出来,就达到了用PC-MCU的编程接口(JTAG、串口、双绞线、SPI等)搞定新版本的升级的目的。MCU内部都是首先执行一段独立的Boot代码(这段Boot代码一般是出厂预置,或使用编程器烧录的,通常只有1k或4k,SST通常是占用一块独立的Block,Philips通常是让BootROM地址与其他Flash重叠,以达到隐藏的效果),Boot负责控制擦除程序存储器及给程序存储器编程的代码(或是处理器外部提供的执行代码),然后通过某种与PC计算机的通信方式(如,ether网口),将用户指定的某个在PC上编译完成的MCU可运行的二进制代码文件编程入MCU内的程序存储器。
ISP和IAP最大的不同是:由谁来触发。
ISP有4种触发方式:
1.由外部硬件电路:如VDD保持高电平,给RST连续3个脉冲;
2.检测状态位:如ISPEN,为0时PC指针从0000H开始执行;为1时,通过“引导向量”计算出“ISP代码”的位置。每次复位后都会检测该状态位;
3.中止控制符信号触发芯片复位:中止控制符信号就是指在异步串行口的接收脚上出现长 达一帧长度的低电平,这里一帧的长度与异步串行口的工作模式有关。
4.直接调用ISP:用户程序也可以调用,但是很危险。
4种方式的目的是相同的——进入ISP子程序,比如Philips出厂的ISP子程序在1E00H-1FFFH,只要能引导PC指针指向1E00H就可以了。
而进入ISP代码的目的是:进入BootROM。
IAP的触发比较简单一些,没有外部触发。通过一些指示位(SST为SC0/SC1、SFCF;Philips为一段IAP子程序,保存在FF00H~FFFFH地址空间中),达到引导到BootROM的目的。
殊途同归,ISP、IAP所进入的BootROM里面驻留的Boot代码,才是最终目标。
最后一种:并行编程模式。不需要BootROM,直接设置芯片的多个引脚来让芯片识别命令(如:擦除、写入、验证等),从P口传地址、数据,就可以写入Flash
用LPC2000的IAP,你自己分配好FLASH空间,指定一个BLOCK用来存放你的数据,然后通过IAP进行写操作。每次开机后,从这个BLOCK读你的数据。

5. 为什么单片机中CJNE,JNB,JB这几条指令可实现的转移范围是负的128到127

单片机跳转指令解析

控制转移类指令

条件转移指令Jcc根据指定的条件确定程序是否发生转移。如果满足条件则程序转移到目标地址去执行程序;不满足条件,则程序将顺序执行下一条指令。

其通用格式为:

Jcc LABEL ;条件满足,发生转移:IP?IP+8位位移量

;否则,顺序执行:IP?IP+2 其中,LABEL表示目标地址(8位位移量)。因为Jcc指令为2个字节,所以顺序执行就是指令偏移指针IP加2。条件转移指令跳转的目标地址只能用前面介绍的段内短距离跳转(短转移),即目标地址只能是在同一段内,且在当前IP地址-128~+127个单元的范围之内。这种寻址方式由于是相对于当前IP 的,所以被称为相对寻址方式。条件转移指令不影响标志,但要利用标志。条件转移指令Jcc中的cc表示利用标志判断的条件,共16种。如下图:

1、判断单个标志位状态

这组指令单独判断5个状态标志之一,根据某一个状态标志是0或1决定是否跳转。

(1)JZ/JE和JNZ/JNE利用零标志ZF,判断结果是否为零(或相等)

JE指令(相等时转移)

JZ指令(等于0时转移)

这是当ZF=1时转移到目标地址的条件转移指令的两种助记符。这条指令既适用于判断无符号数的相等,又适用于判断带符号数的相等。

JNE指令(不相等转移)

JNZ指令(不等于0转移)

这是当ZF=0时能转移到目标地址的条件转移指令的两种助记符。这条指令也是既适用于判断无符号数,又适用于判断带符号数。

(2)JS和JNS利用符号标志SF,判断结果是正是负。

JS指令(为负转移)——当满足SF=1时,转移到目标地址

JNS指令(为正转移)——满足SF=0时,转移到目标地址

(3)JO和JNO利用溢出标志,判断结果是否产生溢出

JO指令(溢出转移)——OF=1时,转移到目标地址 JNO指令(未溢出转移)——OF=0时,转移到目标地址

(4)JP/JPE和JNP/JPO利用奇偶标志PF,判断结果中“1”的个数是偶是奇

JP/JPE指令(为偶转移)——满足PF=1时转移 JNP/JPO指令(为奇转移)——满足PF=0时转移 数据通讯为了可靠常要进行校验。常用的校验方法是奇偶校验,即把字符ASCII码的最高位用作校验位,是包括校验位在内的字符中为“1”的个数恒为奇数(奇校验),或恒为偶数(偶校验)。若采用奇校验,在字符ASCII中为“1”的个数已为奇数时,则令其最高位为“0”;否则令最高位为“1”。

(5)JC/JB/JNAE和JNC/JNB/JAE,利用进位标志CF,判断结果是否进位或借位,CF标志是比较常用的一个标志。 JC——满足CF=1时转移 JNC——满足CF=0时转移

JB(低于转移) JNB(不低于转移) JNAE(不高于等于转移) JAE(高于等于转移) 2、用于比较无符号数高低为区别有符号数的大小,无符号数的大小用高(Above)、低(Below)表示,它需要利用CF确定高低、利用ZF标志确定相等(Equal)。两数的高低分成4种关系:低于(不高于等于)、不低于(高于等于)、低于等于(不高于)、不低于等于(高于);也就分别对应4条指令:JB(JNAE)、 JNB(JAE)、JBE(JNA)、JNBE(JA)。 JA/JNBE

JA即高于转移,JNBE即不低于且不等于转移,高于则没有进位产生,即CF=0,不等于则ZF=0,所以这两条指令满足CF=0且ZF=0时转移

JAE/JNB

高于或等于转移/不低于转移是当CF=0(高于就不产生进位)或ZF=1(等于)时转移。

JB/JNAE

即低于/不高于且不等于转移,是当CF=1(产生借位)且ZF=0(不相等)时转移。

JBE/JNA

即低于或等于/不高于转移,是当CF=1(借位产生)或ZF=1(相等)时转移。

3、用于比较有符号数大小

判断有符号数的大(Greater)、小(Less),需要组合OF、SF标志、并利用ZF标志确定相等与否。两数的大小分成4种关系:小于(不大于等于)、不小于(大于或等于)、小于等于(不大于)、不小于等于(大于);也就分别对应4条指令:JL(JNGE)、JNL(JGE)、JLE(JNG)、 JNLE(JG)。

由上可见,条件转移指令之前常有CMP、TEST、加减运算、逻辑运算等影响标志的指令,利用这些指令执行后的标志或其组合状态形成条件。

JG/JNLE

大于/不小于且不等于转移,是当标志SF与OF同号(即<SF异或OF>=0)且ZF=0时转移

JGE/JNL大于或等于/不小于转移,是当标志SF与OF同号(即<SF异或OF>=0)或ZF=0时转移

JL/JNGL

小于/不大于也不等于时转移,是当标志SF与OF异号(即<SF异或OF>=1)且ZF=0时转移

JLE/LNG

小于或等于/不大于转移,是当标志SF与OF异号(即<SF异或OF>=1)或ZF=1时转移

4、判断计数器CX是否为0

JCXZ LABEL ;CX=0,则转移;否则顺序执行

阅读全文

与单片机2CF相关的资料

热点内容
iphone如何开启gps定位服务器 浏览:797
魔兽世界改服务器怎么进去 浏览:925
为什么连接服务器没有应答 浏览:389
程序员为何被开除 浏览:864
手机论坛网站源码 浏览:589
快递柜锁控板源码 浏览:352
阿里巴巴农业云服务器 浏览:518
android多行注释的快捷键 浏览:866
java环境变量的作用 浏览:526
phpwebsocket扩展 浏览:17
会玩app怎么把猪头弄掉 浏览:93
战地3怎么换服务器地址 浏览:474
qq邮箱app怎么导出通讯录 浏览:704
命令女主身体 浏览:969
java的注释规范 浏览:862
华为mt40e怎么删app 浏览:91
java用到的技术 浏览:618
农行手机app怎么更新版本 浏览:538
初中生程序员职业生涯道路 浏览:930
linux部署常用命令 浏览:386