微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新人疑问:DS1302时钟芯片程序中的ACC

新人疑问:DS1302时钟芯片程序中的ACC

时间:10-02 整理:3721RD 点击:
本人初学单片机,在DS1302时钟芯片程序中出现的ACC表示什么意思呢?
ACC在程序中代表什么呢?是DS1302的一个缓存数据的东西吗?
为什么能像单片机I/O口一样进行位声明?
谢谢大家的回答
程序如下
/********************************************************************
* 文件名  : 时钟DS1302LCD.c
* 描述    :  该文件实现用DS1302来实现日历和时钟功能,液晶1602上显示出来。
* 创建人  : 东流,2009年4月10日
* 版本号  : 2.0
***********************************************************************/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
sbit ACC0 = ACC^0;                 //只问ACC代表什么意思,这个语句我懂
sbit ACC7 = ACC^7;
sbit T_CLK = P1^6; /*实时时钟时钟线引脚 */
sbit T_IO = P3^5; /*实时时钟数据线引脚 */
sbit T_RST = P1^7; /*实时时钟复位线引脚 */

累加器(ACC)是8位寄存器,常用于进行算术或逻辑操作的输入和运算结果的输出。在指令累加器的助记符为A,作为直接地址时助记符为ACC。所以ACC0、ACC7为累加器的位定义ACC0为ACC寄存器的D0位
定义ACC7为ACC寄存器的D7位或者说:ACC累加器=A
ACC.0=E0H

ACC.0就是ACC的第0位。Acc可以位寻址。
累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,常用A来表示累加器。但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。一般的说法,A代表了累加器中的内容、而 ACC代表的是累加器的地址。

累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,常用A来表示累加器。但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。一般的说法,A代表了累加器中的内容、而 ACC代表的是累加器的地址。
谢谢管理员,明白了。

学习了谢谢谢谢谢谢谢谢

我有點疑問,A好像是在匯編中用的,C中也可以用嗎?
請教!

好的

学习了

累加器

查手册

学习了

学习了,谢谢

当然,单片机所以寄存器都能够在C语言中使用(除了pc寄存器)。你可以打开头文件,reg52.h。如下图,sfr P0    = 0x80;
sfr P1    = 0x90;
sfr P2    = 0xA0;
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;
/*  8052 Extensions  */
sfr T2CON  = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2    = 0xCC;
sfr TH2    = 0xCD;

学习了,谢谢了

什么手册?大神!

学习了,O(∩_∩)O谢谢!

学习了,谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top