新人疑问: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谢谢!
学习了,谢谢!