技术文档

ACC单片机 单片机C语言之函数

小编 2024-10-17 技术文档 23 0

单片机C语言之函数

函数定义

函数是一个自我包含的完成一定相关功能的执行代码段。通常C语言的编译器会自带标准的函数库,这些都是一些常用的函数。标准函数已由编译器软件商编写定义,使用者直接调用就能了,而无需定义。但是标准的函数不足以满足使用者的特殊要求,因此C语言允许使用者根据需要编写特定功能的函数,要调用它必须要先对其进行定义。

定义的模式如下:

函数类型 函数名称(形式参数表)

函数类型是说明所定义函数返回值的类型。返回值其实就是一个变量,只要按变量类型来定义函数类型就行了。如函数不需要返回值函数类型能写作“void”表示该函数没有返回值。注意的是函数体返回值的类型一定要和函数类型一致,不然会造成错误。

函数名称的定义在遵循C语言变量命名规则的同时,不能在同一程序中定义同名的函数,这将会造成编译错误(同一程序中是允许有同名变量的,因为变量有全局和局部变量之分)。

形式参数是指调用函数时要传入到函数体内参与运算的变量,它可以是一个、几个或没有。当函数不需要形式参数时(即无参函数),括号内为空或写入“void”表示,但括号不能少。

函数体中能包含有局部变量的定义和程序语句,如函数要返回运算值则要使用return语句进行返回。若在函数的{}号中也能什么也不写,这就成了空函数。在一个程序项目中可以写一些空函数,在以后的修改和升级中能方便的在这些空函数中进行功能扩充。

函数的调用

(一)函数调用的一般说明

函数定义好以后,要被其它函数调用了才能被执行。C语言的函数是能相互调用的,但在调用函数前,必须对函数的类型进行说明,就算是标准库函数也不例外。

标准库函数的说明会被按功能分别写在不一样的头文件中,使用时只要在文件最前面用#include预处理语句引入相应的头文件。如前面使用的printf函数的说明是放在文件名为stdio.h的头文件中。

调用就是指一个函数体中引用另一个已定义的函数来实现所需要的功能,这个时候函数体称为主调用函数,函数体中所引用的函数称为被调用函数。主函数只是相对于被调用函数而言。

一个函数体中能调用数个其它的函数,这些被调用的函数同样也能调用其它函数,也能嵌套调用。但是在c51语言中有一个函数是不能被其它函数所调用的,它就是main主函数。

标准库函数只要用#include引入已写好说明的头文件,在程序就能直接调用函数了。如调用的是自定义的函数则要用如下形式编写函数类型说明:

类型标识符 函数的名称(形式参数表);

这样的说明方式是用在被调函数定义和主调函数是在同一文件中。也能把这些写到文件名.h的文件中用#include“文件名.h”引入。

如果被调函数的定义和主调函数不是在同一文件中的,则要用如下的方式进行说明,说明被调函数的定义在同一项目的不一样文件之上,这样说明的函数也能称为外部函数,定义如下:

extern类型标识符 函数的名称(形式参数表);

函数的定义和说明是完全不一样的,在编译的角度上看函数的定义是把函数编译存放在ROM的某一段地址上,而函数说明是告诉编译器要在程序中使用那些函数并确定函数的地址。如果在同一文件中被调函数的定义在主调函数之前,这个时候能不用说明函数类型。也就是说在main函数之前定义的函数,在程序中就能不用写函数类型说明了。能在一个函数体调用另一个函数(嵌套调用),但不允许在一个函数定义中定义另一个函数。还要注意的是函数定义和说明中的“类型、形参表、名称”等都要相一致。

(二)函数调用的一般形式

调用函数的一般形式如下:

函数名 (实际参数表)

“函数名”就是指被调用的函数。

实际参数表能为零或多个参数,多个参数时要用逗号隔开,每个参数的类型、位置应与函数定义时所的形式参数一一对应,它的作用就是把参数传到被调用函数中的形式参数,如果类型不对应就会产生一些错误。调用的函数是无参函数时不写参数,但不能省后面的括号。

下面我们看一下在实际应用中函数不同的调用方式:

1. 函数语句

例如printf(“Hello World!\n”);

它以“Hello World!\n”为参数调用printf这个库函数,在这里函数调用被看作了一条语句。

2. 函数参数

“函数参数”这种方式是指被调用函数的返回值当作另一个被调用函数的实际参数,如temp=StrToInt(CharB(16));CharB的返回值作为StrToInt函数的实际参数传递。

3. 函数表达式

例如temp=Count();

这个函数的调用作为一个运算对象出现在表达式中,称为函数表达式。例子中Count()返回一个int类型的返回值直接赋值给temp。注意的是这种调用方式要求被调用的函数能返回一个同类型的值,不然会出现不可预料的错误。

C51常用头文件

下面介绍一些常用的C51头文件:

absacc.h——包含允许直接访问8051不同存储区的宏定义;

assert.h——文件定义assert 宏,可以用来建立程序的测试条件;

ctype——字符转换和分类程序;

intrins.h——文件包含指示编译器产生嵌入式固有代码的程序的原型;

math.h——数学程序;

reg51.h——51的特殊寄存器;

reg52.h——52的特殊寄存器;

setjmp.h——定义jmp_buf类型和setjmp和longjmp程序的原型;

stdarg.h——可变长度参数列表程序;

stdlib.h——存储区分配程序;

stdio.h——标准输入和输出程序;

string.h——字符串操作程序、缓冲区操作程序。

对于常用的MCS-51单片机,必须包含reg51.h的头文件,因为该文件对51单片机的相关寄存器及位进行了定义,这样在程序中才可以使用这些资源。

reg51.h文件的具体内容如下:

#ifndef __REG51_H__

#define __REG51_H__

/* BYTE Register */ //单元定义

sfr P0 = 0x80;

sfr P1 = 0x90;

sfr P2 = 0xA 0 ;

sfr P3 = 0xB0;

sfr PSW = 0xD0;

sfr ACC = 0xE0;

sfr B = 0xF0;

sfr SP = 0x81;

sfr DPL = 0x82;

sfr DPH = 0x83;

sfr PCON = 0x87;

sfr TCON = 0x88;

sfr TMOD = 0x89;

sfr TL0 = 0x8A;

sfr TL1 = 0x8B;

sfr TH0 = 0x8C;

sfr TH1 = 0x8D;

sfr IE = 0xA8;

sfr IP = 0xB8;

sfr SCON = 0x98;

sfr SBUF = 0x99;

/* BIT Register */

/* PSW */ //位定义

sbit CY = 0xD7;

sbit AC = 0xD6;

sbit F0 = 0xD5;

sbit RS1 = 0xD4;

sbit RS0 = 0xD3;

sbit OV = 0xD2;

sbit P = 0xD0;

/* TCON */

sbit TF1 = 0x8F;

sbit TR1 = 0x8E;

sbit TF0 = 0x8D;

sbit TR0 = 0x8C;

sbit IE1 = 0x8B;

sbit IT1 = 0x8A;

sbit IE0 = 0x89;

sbit IT0 = 0x88;

/* IE */

sbit EA = 0xAF;

sbit ES = 0xAC;

sbit ET1 = 0xAB;

sbit EX1 = 0xAA;

sbit ET0 = 0xA9;

sbit EX0 = 0xA8;

/* IP */

sbit PS = 0xBC;

sbit PT1 = 0xBB;

sbit PX1 = 0xBA;

sbit PT0 = 0xB9;

sbit PX0 = 0xB8;

/* P3 */

sbit RD = 0xB7;

sbit WR = 0xB6;

sbit T1 = 0xB5;

sbit T0 = 0xB4;

sbit INT1 = 0xB3;

sbit INT0 = 0xB2;

sbit TXD = 0xB1;

sbit RXD = 0xB0;

/* SCON */

sbit SM0 = 0x9F;

sbit SM1 = 0x9E;

sbit SM2 = 0x9D;

sbit REN = 0x9C;

sbit TB8 = 0x9B;

sbit RB8 = 0x9A;

sbit TI = 0x99;

sbit RI = 0x98;

#endif

而absacc.h为对8051单片机的不同存储区的宏定义,具体如下:

#define CBYTE ((unsigned char volatile code *) 0) //定义程序存储器;

#define DBYTE ((unsigned char volatile data *) 0) //定义片内数据存储区;

#define PBYTE ((unsigned char volatile pdata *) 0) //定义页寻址空间;

#define XBYTE ((unsigned char volatile xdata *) 0) //定义片外数据存储区。

而intrins.h文件对指示编译器产生嵌入式代码,如空操作执行、位指令、栈操作指令等,该文件的具体内容如下:

extern void _nop_ (void); //空操作8051 NOP指令

extern bit _testbit_ (bit); //测试并清零位8051 JBC指令

extern unsigned char _cror_ (unsigned char,unsigned char); //字符循环左移

extern unsigned int _iror_ (unsigned int,unsigned char); //字符循环右移

extern unsigned long _lror_ (unsigned long,unsigned char); //整数循环右移

extern unsigned char _crol_ (unsigned char,unsigned char); //整数循环右移

extern unsigned int _irol_ (unsigned int,unsigned char); //整数循环左移

extern unsigned long _lrol_ (unsigned long,unsigned char); //长整数循环左移

extern unsigned char _chkfloat_(float); //测试并返回源点数状态

extern void _push_ (unsigned char _sfr); //压入堆栈

extern void _pop_ (unsigned char _sfr); //弹出堆栈

AT89S52单片机的LED点阵显示电子钟安装、调试与维修的教学任务

学习目标

1、 了解单片机指令的总体情况

3、掌握LED点阵显示电子钟的工作原理

4、掌握LED点阵显示电子钟的硬件和软件

5、了解LED点阵显示电子钟指令系统中的符号说明

6、会LED点阵显示电子钟数据传送类指令

学习内容:

1、+5V电源原理及设计

2、单片机复位电路工作原理及设计。

3、单片机晶振电路工作原理及设计。

4、按键电路的设计。

5、74LS373锁存驱动器的特性及使用。

6、74LS138译码器的特性及使用

7、AT89S52单片机引脚。

8、单片机汇编语言及程序设计。

本课题建议学时60学时。

本课题的教学步骤可分为:

1、下发任务书。2学时

2、学生根据任务书等资料解决相关问题。20 学时

3、教师对相关知识的疑难问题进行讲解。9学时

4、学生6-7人一组,讨论并确定安装方案,填写工艺卡3学时

5、学生按照工艺卡完成准备工作。1学时

6、学生绘制电原理图、方框图、安装图、元器件明细表。6学时

7、学生自行完成基于AT89S52单片机的LED点阵显示电子钟的安装、调试、维修。15学时

8、对基于AT89S52单片机的LED点阵显示电子钟的制作维修情况进行评价。

2学时

9、工作任务的小结。 1学时

任务书: (2个课时)

一、项目概述

随着科学技术日新月异的发展,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。基于AT89S52单片机的LED点阵显示电子钟具有结构简单,性能可靠、价格低和显示灵活等优点,因此得到了广泛应用。

二、项目要求

设计一种基于AT89S52单片机的LED点阵显示电子钟,具体要求如下:

1. 时钟的显示由LED点阵构成。

2. 能正确显示时间,上电显示为12点。

3. 时间能够由按键调整。

4. 误差小于1s。

三、系统设计

根据设计要求,采用并行方式显示,通过锁存器芯片来扩展I/O口,达到控制LED点阵的40个列线的目的。方案中运用5片锁存器74LS373来组成5组双缓冲寄存器,驱动LED点阵的8组列线,用3/8译码器74LS138对LED点阵的8行进行扫描。在送每一行的数据到LED点阵时,先把数据分别送到5个74LS373,然后再把数据一起输出到LED点阵列中,送出去的时间数据由AT89S52来控制。电子钟由显示电路,行驱动电路、列驱动电路、中央控制器AT89S52、按键电路和复位电路组成。

四、硬件设计

单片机采用AT89S52,系统采用高精度的12MHZ的晶振,以获得较高的刷新频率及较准确的时钟频率使显示稳定和计时准确:采用RC上电加按键复位电路:单片机的P0口和P1口的低5位与列驱动去连接,用来显示数据;P2口的低3位与行驱动器相连,用来送行选信号。

单片机P2口的低3位输出的行信号经74LS138译码生成8条行扫描,这8条信号线所带的驱动能力足以驱动8个LED显示器,因此就不需要额外增加驱动电路。74LS138的其他控制引脚按工作状态分别接入相应的高低电平。

列驱动采用集成电路74LS373构成,它是一个8位并入和8位并出的带一定驱动能力的锁存器。用P1口的低5位分别接到第一脚作为选通用,连接P2口的低5位除了作输出驱动外,主要是起锁存数据的功能,所以11脚全部固定接地。

五、软件设计

LED点阵电子钟程序主要功能是屏幕显示时间稳定、精确。所以按照分块设计的方法可以把程序分为主程序、计时程序、显示程序、调时程序。主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。由于计时需要精确,所以我们直接用T0计时器来产生一个20ms的中断程序,在计时中断程序中完成对时、分、秒的调整,而调时程序采用了两个外部中断来完成。

程序清单:

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP PINT0

ORG 000BH

LJMP INTT0

ORG 0013H

LJMP PINT1

ORG 0030H

MAIN: MOV SP,#60H

MOV TMOD,#01H

MOV TL0,#0e0H

MOV TH0,#0b1H

MOV IE,#87H

MOV 30H,#01H ;时十位

MOV 31H,#02H ;时个位

MOV 32H,#0AH ;光标点位

MOV 33H,#00H ;分十位

MOV 34H,#00H ;分个位

MOV 35H,#00H ;秒十位

MOV 36H,#00H ;秒个位

SETB IT0

SETB IT1

SETB PT0

SETB TR0

LOOP: LCALL DISP

LJMP LOOP0

INTT0 MOV TL0,#0e0H

MOV TH0,#0b1H

PUSH ACC

PUSH PSW

INC 36H

MOV A,36H

CJNE A,#25,PLL

MOV 32H,#0BH

PLL CJNE A,#50,ENDD

MOV 32H,#0AH

MOV 36H,#00H

INC 35H

MOV A,35H

CJNE A,#60,ENDd

MOV 35H,#00H

INC 34H

MOV A,34H

CJNE A,#0AH,ENDd

MOV 34H,#00H

INC 33H

MOV A,33H

CJNE A,#06H,ENDd

MOV 33H,#00H

INC 31H

MOV A,30H

CJNE A,#02H,END1

MOV A,31H

CJNE A,#04H,END1

MOV 31H,#00H

MOV 30H,#00H

END1: MOV A,31H

CJNE A,#0AH,ENDd

MOV 31H,#00H

INC 30H

ENDd:POP PSW

POP ACC

RET1

DISP: PUSH ACC

PUSH PSW

MOV A,30H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP00:MOV A,3BH

MOV DPTR,#TABE

MOVC A,@A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0FEH

INC 3BH

INC R4

LCALL DELAY

DJNZ R5,LOOP00

MOV A,31H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP11: MOV A,3BH

MOV DPTR,#TABE

MOVC A,@A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0FDH

INC 3BH

INC R4

LCALL DELAY

DJNZ R5,LOOP11

MOV A,32H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP22: MOV A,3BH

MOV DPTR,#TABE

MOVC A, @A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0FBH

INC 3BH

INC R4

LCALL DELAY

DJNE R5,LOOP22

MOV A,33H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP33: MOV A,3BH

MOV DPTR,#TABE

MOVC A, @A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0F7H

INC 3BH

INC R4

LCALL DELAY

DJNE R5,LOOP33

MOV A,34H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP44: MOV A,3BH

MOV DPTR,#TABE

MOVC A, @A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0EFH

INC 3BH

INC R4

LCALL DELAY

DJNE R5,LOOP44

POP PSW

POP ACC

RET

DELAY: MOV 37H,#50

DEL: MOV 38H#4

DJNE 38H,$

DJNE 37H,DEL

RET

TABE: ;0

DB 00H,18H,24H,24H,24H,24H,18H,00H

;1

DB 00H,10H,30H,10H,10H,10H,38H,00H

;2

DB 00H,18H,24H,04H,18H,20H,3CH,00H

;3

DB 00H,18H,24H,18H,04H,24H,18H,00H

;4

DB 00H,08H,18H,28H,7CH,08H,08H,00H

;5

DB 00H,1CH,10H,18H,04H,24H,18H,00H

;6

DB 00H,18H,24H,38H,24H,24H,18H,00H

;7

DB 00H,3CH,28H,08H,10H,10H,10H,00H

;8

DB 00H,18H,24H,18H,24H,24H,18H,00H

;9

DB 00H,18H,24H,24H,1CH,24H,18H,00H

DB 00H,00H,18H,18H,00H,18H,18H,00H

DB 00H,00H,00H,00H,00H,00H,00H,00H

RET

PINT0:MOV 4AH,#20

DJNE 4AH,$

JB P3.2,END-DD

MOV 36H,#00H

INC 34H

MOV A,34H

CJNE A,#0AH,END-DD

MOV 34H,#00H

INC 33H

MOV A,33H

CJNE A,#06H,END-DD

MOV 33H,#00H

END-DD:RET1

PINT1: MOV 4AH,#20

DJNE 4AH,$

JB P3.3,END-DD

INC 31H

MOV A,30H

CJNE A,#02H,END-1

MOV A,31H

CJNE A,#04H,END-1

MOV 31H,#00H

MOV 30H,#00H

END1: MOV A,31H

CJNE A,#0AH,END-d

MOV 31H,#00H

INC 30H

END-D: RETI

END

流程卡: (2个课时)

操作流程卡

课题 基于AT89S52单片机的LED点阵显示电子钟设计

序号

操作内容

工作时间

学生: 日期: 教师:

基于AT89S52单片机的LED点阵显示电子钟设计: (15个课时)

1、 准备本项任务所需的材料、工具,

2、 如果不全,缺哪些?

3、 根据上一项目的制作步骤进行操作。

材料明细卡

代号

名称

型号

数量

用途

R1

排阻

10KΩ*8

1

LED限流

R2

碳膜电阻

10KΩ

1

复位电路

C1

电容

33PF

1个

晶振电路

C2

电容

33PF

1个

晶振电路

C3

电解电容

10vF/10V

1个

复位电路

单片机

AT89S52

1个

控制核心

晶振

12MHZ

1个

晶振电路

驱动器

74LS244

1个

数码管驱动

数码管

4位共阳

1个

显示装置

电源

+5V /0.5A

1个

提供+5V

按键

按键

2个

1个

分时调节

复位电路

驱动器

74LS07

1个

数码管驱动

D

LED

8*8

5个

显示电路

集成块

74LS373

5个

驱动锁存

集成块

74LS138

1个

行扫描

课题 基于AT89S52单片机的LED点阵显示电子钟设计

参考资料提示

序号

书名

出版社

1

电工基础

中国劳动社会保障出版社

2

电子电路基础

中国劳动社会保障出版社

3

数字逻辑电路

中国劳动社会保障出版社

4

电子技术工艺基础

电子工业出版社

5

电子专业技能训练

中国劳动社会保障出版社

基本操作技能

中国劳动社会保障出版社

单片机应用技术

中国劳动社会保障出版社

平分卡: (2个课时)

基于AT89S52单片机的LED点阵显示电子钟设计(满分100分)

评分页

姓名

学号

序号

项目及配分

工艺标准

扣分标准

学生自评分

教师评分

1

作图

30分

1. 布局合理\紧凑

2. 导线横平\竖直\转角成直角,无交叉

3. 元件间连接关系和电原理图一致

1. 布局不合理,每处扣5分

2. 导线不平直\转角不成直角, 每处扣2分,出现交叉, 每处扣5分

3. 连接关系错误, 每处扣10分

2

基于AT89S52单片机的LED点阵显示电子钟设计安装45分

1. 电阻器\二极管水平安装,离万能电路板间距5mm,色标电阻的色环标志方向一致

2. 三极管、可控硅、电解电容垂直安装,元件底部离电路板间距8mm

3. 按图装配,元件的位置\极性正确

4. 焊点光亮\清洁\焊料适量

5. 布线平直

6. 无漏焊\虚焊\假焊\搭焊\溅锡等现象

7. 焊接后元件引脚剪脚留头长度小于1 mm

1. 元件安装歪斜\不对称\高度超差\色环电阻标志不一致, 每处扣1分

2. 错装\漏装, 每处扣5分

3. 焊点不亮\焊料过多过少\布线不平直, 每处扣0.5分

4. 漏焊\虚焊\假焊\搭焊\溅锡, 每处扣3分

5.

6. 剪脚留头长度大于1 mm, 每处扣0.5分

3

基于AT89S52单片机的LED点阵显示电子钟设计调试25分

1.按调试要求和步骤正确测量

2.正确使用万用表

3.正确使用示波器观察波形

1.调试步骤错误,每次扣3分

2.测量结果错误, 每次扣5分误差大, 每次扣2分

3.万用表\示波器使用错误, 每次扣3分

4

安全文明操作

1. 安全用电,不人为损坏元器件\加工件和设备等

2. 保持操作环境整洁,秩序井然,操作习惯良好

1. 发生安全事故,扣总分20分

2. 违反文明操作规程,视情况扣总分5---20分

5

工时: min

超5min扣10分

6

合计

基于AT89S52单片机的LED点阵显示电子钟的维修(满分100分)

评分页

姓名

学号

序号

项目及配分

工艺标准

扣分标准

学生自评分

教师评分

1

查找故障

正确使用电烙铁、万用表、示波器等

电烙铁、万用表\示波器使用错误, 每次扣3分

2

排除故障

1.元件的位置\极性正确

2.焊点光亮\清洁\焊料适量

3.布线平直

4.无漏焊\虚焊\假焊\搭焊\溅锡等现象

5.焊接后元件引脚剪脚留头长度小于1 mm

6.正确使用电烙铁、万用表、示波器等

1.元件安装歪斜\不对称\高度超差\色环电阻标志不一致, 每处扣1分

2.焊点不亮\焊料过多过少\布线不平直, 每处扣0.5分

3.漏焊\虚焊\假焊\搭焊\溅锡, 每处扣3分

7.

4.剪脚留头长度大于1 mm, 每处扣0.5分

5. 电烙铁、万用表、示波器、直流稳压电源、毫伏表、信号发生器使用错误, 每次扣3分

3

安全文明操作

3. 安全用电,不人为损坏元器件\加工件和设备等

4. 保持操作环境整洁,秩序井然,操作习惯良好

3. 发生安全事故,扣总分20分

4. 违反文明操作规程,视情况扣总分5---20分

4

工时: min

超5min扣10分

5

合计

工作小结: (1个课时)

工作任务小结表

日期:

1:你所在的小组从接受任务到完成共用了多少时间?

2:你认为此基于AT89S52单片机的LED点阵显示电子钟设计的制作可以在哪些方面进行改进?

3:对你造成最大困难的是哪些工作?

4:你通过此基于AT89S52单片机的LED点阵显示电子钟仪设计制作在哪些方面得到了提高?

5:你认为在今后的教学中是否还应按照这种教学方法来安排?

相关问答

单片机acc 原理?

1.单片机ACC原理是指单片机中的ACC寄存器的工作原理。2.ACC寄存器是单片机中的累加器,用于存储和操作数据。它可以进行加法、减法、逻辑运算等操作。ACC寄存...

单片机 程序里的指令PUSH DPH和POP ACC 是什么意思啊?

难道你一点儿不懂汇编?PUSHDPH是将原DPH中的数据压进堆栈缓存。PUSHACC是将堆栈中的数据送回到ACC寄存器。在程序嵌套调用过程或者中断处理过程中,进行的...

51 单片机acc ,0什么意思?

ACC累加器=AACC.0=E0HACC.0就是ACC的第0位。Acc可以位寻址。累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,是单片机...

单片机 MCS-51汇编语言中的 ACC .7?

ACC就是A,是8位累加器,要具体对A上的每一位操作的时候,就要用ACC.*。ACC.7就是ACC的第七位,比如说A的值是11011010,那么ACC.7就等于1(第七位就是左数第二位...

acc 是什么寻址?

Acc是位寻址。累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行...

单片机 ACC =0xFE;if( ACC 4==0);啥意思?

地址映射。在数字芯片中,所谓的“地址”实际上是对内部资源的编码。在传统的51单片机(如AT89C51)中内部寻址范围是0~FFH,共256个地址,但实际上RAM只有128字...

电动车 acc 原理?

自适应巡航控制系统(以下简称ACC)是一种基于传感器识别技术而诞生的智能巡航控制,自适应巡航系统的组成及原理1、雷达传感器...3.其余组成部分:巡航控制开...

单片机 运算前PSW=80H,MOVA,#0ABHSUBBA,#0C3H求 ACC =CY=AC=OV=...

[最佳回答]1、由于是用0ABH-0C3H=0E8H(也就是十进制的-24,补码表示),因此ACC=0E8H;2、由于AB比C3小,因此运算时必然借位,因此CY=1;3、由于AB=10101011,C3=1100...

单片机 的CPU有哪两部分?

单片机的CPU由运算器ALU和控制器EU两部分组成。ALU进行算术逻辑运算,实现加减乘除移位等运算,操作结果大部分送往ACC累加器,同时修改状态寄存器PSW的值。EU...

单片机 里面的DA A指令用法。求教?

daa是16进制转换10进制的指令防止出现字母LCD无法显示例:mova,33hmovr1,amova,39hadda,r1;此时结果在ACCdaar1;这样结果转换1...

猜你喜欢