⑴ 单片机C语言 P3 &= 0x57;
&在这里是位与的意思,如果你不知道什么意思,建议你先学学c语言的‘位运算’,网上搜索这些关键字,你可以得到很多相关视频或资料。
按位与的盯哪悔凯正意思就是逐个位缓迅相与,得到逐个位的结果,这么说吧,你可以理解为加法或减法相类似的一种运算方法,逐位相与
举例,
位运算符及位运算
1.按位与——&
(1)格式:x&y
(2)规则:对应位均为1时才为1,否则为0:3&9=1。
例如,3&9=1:
0011
& 1001
————
0001=1
(3)主要用途:清0或取 1个数的某些指定位
该题目中
P3 &= 0x57即是P3=P3&0x57的缩写
而0x57即是01010111
它的结果就是将第五位P3.5和第七位P3.7清零,其它位保留不变
作用的话你综合考虑一下就知道了
⑵ 单片机标识符的规则
1.bit和sbit都是C51扩展的变量类型。 bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。
2.bit位标量 bit位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似一些高级语言中的Boolean类型中的True和False。
3.sfr特殊功能寄存器 sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们用以用P1 = 255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。 sfr P1 = 0x90; //定义P1 I/O 口,其地址90H sfr 关键定后面是一个要定义的名字,可任意选取,但要符合标识符的命名规则,名字最好有一定的含义如P1 口可以用P1 为名,这样程序会变的好读好多.等号后面必须是常数,不允许有带运算符的表达式,而且该常数必须在特殊功能寄存器的地址范围之内(80H-FFH),具体可查看附录中的相关表. sfr 是定义8 位的特殊功能寄存器而sfr16 则是用来定义16 位特殊功能寄存器, 如8052 的T2 定时器,可以定义为: sfr16 T2 = 0xCC; //这里定义8052 定时器2,地址为T2L=CCH,T2H=CDH
⑶ 单片机进位标志位C的问题
既然 ADD 会影响 C 标志,那么执行 ADD 后 C 就必须反映出计算结果,所以 C = 0 。
⑷ 单片机语言中C和CY分别表示什么,有什么区别
汇编语言才用到C和CY,是进位标志和辅助进位标志,多字节运算时要考虑进位和借位,C语言编程用不到。
⑸ 一个完整的单片机c语言程序包含哪几个部分
个人觉得,一个完整C程序至少应该包含头文件、初始化、主程序四个部分,头文件是程序编译预处理的重要组成部分,缺了它就无法生成目标代码;初始化部分包含变量初始化和端口初始化;主程序是一个C程序的核心代码,由此执行或调用一些具有特定功能的函数模块以完成程序的预设功能。
⑹ 单片机STC12C4052AD中的字母数字各代表什么
STC公司的单片机命名规则如袭纤下:让拆
因此,对于STC12C4052AD单片机
STC:宏坦禅枣晶科技公司单片机
12:12系列单片机,1T单片机
C:工作电压是5.5V~3.5V
40:内部程序存储器空间是4KB
52:内部RAM是256B,PCA/PWM是2路
AD:有A/D转换功能
⑺ 在单片机汇编语言中c是什么意思
C为进借位标志位,就是CY
意思是两数相加(ADDC指令)有进位就置C为1,两数减(SUBB指令)有借位就置C为1,
上面两种请况C的置1是系迟销统自动的。
另外还可以自己对C进行操作
指令如下:
MOV
C,
bit
将bit位地址中的值送PSW中的进位标志位CY
MOV
bit,
C
将PSW中的进位标志位CY的值送bit位地址中
CLR
C
将进位标志位CY清0
SETB
C
将进位标志位CY置1
ANL
C,
bit
将Cy和bit位地址中的值进行与操作后,结果送Cy
ANL
C,
/bit
bit位地址中的值取反后再与Cy进行与操作,结构送Cy
ORL
C,
bit
将Cy和bit位地址中的值进行或操作后,结果送Cy
ORL
C,
/bit
bit位地址中的值取反后再与Cy进行或操作,结构送Cy
CPL
C
将Cy取反
还可以根据C的状态分别执行转移指令,如下
JC
rel
If(歼缓C=1)转移到rel处执行指令
JNC
rel
If(氏旦模C=0)转移到rel处执行指令。
⑻ 单片机80C51中的C指的是CMOS还是说用C语言进行编程
片机80C51中的C指的是CMOS。用什么语言编程和单片没有关系,编程语言和编译器有关,不管用什么语言编程,最后都会编译成机器码即二进制码烧写到单片机里面。
CMOS single-chip 8-bit microcontrollers。
The Philips 80C31/80C51/87C51 is a high-performance
microcontroller fabricated with Philips high-density CMOS
technology. The CMOS 8XC51 is functionally compatible with the
NMOS 8031/8051 microcontrollers. The Philips CMOS technology
combines the high speed and density characteristics of HMOS with
the low power attributes of CMOS. Philips epitaxial substrate
minimizes latch-up sensitivity.
⑼ 单片机程序的“.c”和“.h”格式都有什么区别
.c文件是整个程序中的一个或几个函数组成,在别的.C文件里可以调用它,不只是在主函数中。这样做可以增强程序的模块化,提高程序的可读性。当编制好一个模块时你可以保存在一个工程下,文件名改为**.C。这样在另一个.C文件中的文件头处只要你对它进行说明就可以调用它。比如#include string.cx0dx0a那么你就可以在你说明了的.C文件中调用它,这样枝陪仔一个模块可以在很多处调用,使得编程复杂度降低。程序编译时把你所说明的文件复制到你调用处程序就可以运行猛汪了。x0dx0a.H文件是对单片机一些端口及一些常用的程序的库说明,x0dx0a比如我们在程序中用到端口一即P1,我们能够用它是因为在库中已对它进行了说明乱腊,对P1赋予了一个端口地址,这样程序编译是才不会出错,不然会提示你UNDIFINEDx0dx0a.C文件一般是自己创建的。而.H文件是系统自带,不过自己也可以创建.H文件,主要对用到的一些标号进行说明,其中也可以包括一些常用的函数x0dx0a用户自己创建的.C文件是放在工程目录下,.H文件一般放在编译器的某个目录下,程序编译的时候从默认目录中搜索,如果找到则复制到程序开头处。