1、C504单片机1 介绍C504是C501微控制器经修正和延伸的版本。它在功能上有了很大的提高,尤其是捕捉比较单元(CCU),它能是MCU运用在电动机控制中。而且,C504与SAB 80C52/C501微控制器兼容,并且在现有的应用中可以替代它。C504-2R包含一个16K8只读程序存储器,一个5128读写数据存储器,4个8位宽端口,3个16位定时器/计数器,1个16位捕捉/比较单元,一个10位比较定时器,12个中断源,2个优先级中断结构,1个串行端口,片内仿真支持逻辑和1个10位A/D转换器。C504-2E是C504微控制器OTP版本,它具有16K8一次性可编程程序存储器。除非在其他情况特别指
2、出,“C504”指本文中提到的所有版本。片内仿真支持模式振荡器看门狗XRAM2568RAM2568端口0I/O8位数字I/O4位模拟输入10位ADC定时器2T0C504核心8位USART端口116位比较/捕捉单元10位比较单元T1端口2I/O看门狗定时器ROM/OTP168端口38位数字I/O4位模拟输入下表是C504的主要特征:与标准8051微控制器完全兼容高达40MHZ外部工作频率16K字节片内程序存储器2568RAM2568XRAM4个8位端口(2个端口具有模拟/数字信号混合I/O功能)3个16位定时器/计数器(定时器2具有向上/向下记数功能)捕捉/比较单元,可产生PWM信号和捕捉信号
3、通道3,16位捕捉/比较单元 通道1,10位比较单元USART,能完成异步通信的硬件电路,通用异步接受器/发送器具有8输入的10位A/D转换器12个中断源,2个优先级片内仿真支持逻辑可编程15位看门狗定时器振荡器看门狗快速复位节能模式M-QFP-44 包装工作温度范围: SAB-C504: TA:070 SAF-C504: TA:-4085 SAH-C504: TA:-40 110(最大工作频率:TBD) SAK-C504: TA:-40 125(最大工作频率:12MHZ)C504外部信号及其功能:端口1: 8位双向端口,可作为数字量输入/输出端口。P1.0P1.3也可用作A/D转换器的模拟量
4、输入端.作为辅助的数字的功能时,端口1包含定时器2口线,以及捕捉/比较输入/输出。通过寄存器P1ANA可把端口1设定为模拟量输入。复位RESET:在该口线持续两个机器周期的高电平将使单片机复位。端口3:8位双向端口,P3.0(RXD)和P3.1(TXD)按照C501定义的工作。P3.2P3.7包含外部中断输入,定时器输入,另4个模拟量输入通道。通过SFR P3ANA 中的几位可将端口3设定为模拟量输入。P3.6/WR 可作为第3个中断信号输入端。XTAL2:反向晶振放大器的输出端。XTAL1:反向晶振放大器的输入,和内部时钟产生电路的输入。当采用外部振荡器时,要驱动XTAL1,XTAL2要悬空
5、。端口2:双向I/O口,内部具有上拉电阻。P2口作为输入口时,应向引脚写1,该引脚有内部上拉电阻拉成高电平。作为输入端,由于内部上拉电阻的关系,被外部电路将电平拉低的端口2引脚上将有电流产生(IIL,根据直流特性)。当寻址外部程序存储器和16位地址的外部数据存储器时,端口2输出高8位地址。PSEN:程序存储器使能。当读取外部指令时,该端输出外部程序存储器读选通指令。除了访问外部数据存储器外,每6个振荡周期出现1次PSEN信号。ALE: 地址锁存使能。该端输出用于正常操作时将低8位地址信息锁存到外部存储器。除了访问外部数据存储器外,每6个振荡周期出现一次有效信号。当程序由内部ROM执行是,可通过
6、设定SFR SYSCON中EALE取消ALE信号的产生。COUT3:10位比较通道输出。该引脚用于10位计较定时器2单元的输出。它可被禁止也可设定为高或低电平状态。EA :外部访问使能信号。当为高电平时,且PC值小于4000H时,指令将从内部ROM中获取。当它为低电平时,C504从外部程序存储器获取所有指令。端口0:端口0是一个8位漏极开路型双向I/O口。在访问外部存储器时可作为地址(低8位)/数据分时复用总线使用。当P0作为地址/数据分时复用总线使用时,在访问存储器期间它能激活内部的上拉电阻。VAREF:A/D转换的参考电压VAGND:A/D转换的参考地VSS:地(0V)VCC:电源电压(+
7、5V)2. CPU C504是有效的控制器和算法处理器。它具有广泛的处理二进制和BCD算法的装置,并且具有优秀的位处理能力。程序存储器的有效使用源自44%单字节,41%双字节,15%三字节指令的指令设置。由于使用12MHZ晶振,58%的指令在1us内执行完毕(40MHZ:300ns)。C504的CPU由指令解码器、算法部分、程序控制部分组成。每个程序的指令由指令解码器解码。这个单元产生控制CPU内各个单元功能的内部信号。它们将影响数据传输的数据源和目的单元,并控制ALU过程。处理器的算法部分执行大量的数据处理。它由算术/逻辑单元(ALU),A寄存器,B寄存器和PSW寄存器组成。程序控制部分控制
8、程序存储器内执行指令的顺序。16位程序计数器记录下一条指令的地址。3. 存储器C504在以下四个地址空间执行操作:高达64KB内/外部程序存储器高达64KB外部数据存储器256字节内部数据存储器256B内部XRAM数据存储器128B特殊功能寄存器区域3.1 程序存储器C504-2R具有16KB只读程序存储器,而C504-L无内部程序存储器,C504-2E提供16KB OTP程序存储器.程序存储器可向外扩展到64KB。EA引脚是高电平时,C504从内部ROM获取指令。PC值超过3FFFH时,C504从外部程序存储器地址从4000H到FFFFH内取指令。如EA为低电平,C504从外部程序存储器获取
9、全部指令。3.2数据存储器数据存储器地址空间有内、外部存储器空间。内部数据存储器可从物理分为3个不同的块:00H07FH单元组成的低128字节的RAM块,80H0FFH单元组成的高128字节的RAM块,以及80H0FFH高128字节的专用寄存器块(SFR)。高128字节的RAM块与专用寄存器块的地址是重合的。访问高128字节RAM时采用寄存器间接寻址方式,访问SFR块时则只能采用直接寻址方式。访问低128字节RAM时,两种寻址方式都可以采用。4个寄存器区(每个区由8个8位多功能寄存器组成),占据了低128字节RAM从0到1FH的地址。接下来的16个字节,地址从20H2FH,包含128个可直接寻
10、址位地址区。堆栈区可位于内部数据存储器地址空间的任何位置,也可扩展到256字节。外部数据存储器可扩展到64K字节,也可被16位或8位地址的指令访问。3.3通用工作寄存器区内部RAM的低32字节是4个寄存器区,每个含有8个通用工作寄存器。一次只能激活一个工作区。程序状态字中的两位PSW.3(RS0) 和PSW.4(RS1)决定了使用哪一个工作区。选定的寄存器区内的8个通用工作寄存器可通过寻址寄存器被访问。寻址寄存器,指令OP码将显示哪个寄存器正被使用。间接寻址时,R0,R1就作为寻址内部或外部存储器的指示寄存器。复位是,堆栈指针指向07H,并从08H(区1的第一个寄存器R0地址)向上自加。所以,
11、如果要使用1个以上寄存器区,SP必须初始化为指向不用于数据储存的RAM中另外的区域。3.4 XRAMC504中XRAM是逻辑上位于外部存储空间最上部分的存储区域。但它是集成在片上的。因为XRAM和外部数据存储器一样使用,所以访问XRAM的指令类型与访问外部数据存储器相同。特殊功能寄存器 SYSCON (地址B1H) EALERMAPXMAP XMAP:XRAM使能信号。XMAP=0时,XRAM被禁止使用;XMAP=1时,XRAM可被使用,8位使用Ri的MOVX指令访问片内XRAM而不会访问外部扩展的寄存器;16位使用DPTR的MOVX指令将访问地址范围为FF00HFFFFH的XRAM,而不会访
12、问该地址范围的外部扩展寄存器。3.5 特殊功能寄存器区除了程序计数器PC和4个通用工作寄存器区外,所有寄存器都位于特殊功能寄存器区。它有两部分区域:标准特殊功能寄存器区和影射特殊功能寄存器区。C504的3个特殊功能寄存器(PCON1,P1ANA,P3ANA)位于影射特殊功能寄存器区。要访问影射特殊功能寄存器区,SYSCON中的RMAP位需置位。C504的其它特殊功能寄存器都位于标准特殊功能寄存器区。特殊功能寄存器 :SYSCON (地址B1H)RMAP:特殊功能寄存器影射位RMAP=0时,可访问标准特殊功能寄存器区;RMAP=1时,可访问影射特殊功能寄存器区。RMAP位不会自动被硬件清0,所以
13、当影射/标准寄存器被访问时,RMAP位必须由软件置位/清0。在标准/影射特殊功能寄存器区也有128个可直接寻址的位。所有地址为80H,88H,90H,F8H,FFH的SFRS的位都可寻址。C504共有63个特殊功能寄存器(SFR),包括指针寄存器以及向CPU与其它片上外围设备提供界面的寄存器。4. 10位A/D转换器C504含有一个高性能离速的10位A/D转换器,带有8个输入通道。A/D转换器有以下特征: 8模拟/数字输入通道(端口1,3),该两端口也可作为数字输出/输入通道。 10位输出结果。 单次或连续转换模式。 每次转换结束产生中断请求信号。 外部应用的参考电压范围必须稳定在说明书内指定
14、的值。4.1 A/D转换器的运行对ADDATL的写指令是启动一次A/D转换的内部开始信号。开始的这个步骤是与写入ADDATL的值无关的。当单一转换模式中,(ADM位=1)一次A/D转换结束后一次新的A/D转换会自动开始直到ADM被复位。忙标志位BSY(ADCON0.4)会自动置位当某个A/D转换在进行时。转换结束后它会被硬件复位。该标志位只可读,写是不起作用的。一次A/D转换结束后,中断请求标志IADC(IRCON0.0)被置位。特殊功能寄存器ADCON0和ADCON1中的MX0到MX2位是用来选择模拟输入通道的。MX0到MX2在ADCON0和ADCON1中都有,但他们是一致的。所以哟有两种选
15、择模拟输入通道的方法:如果在ADCON1中选择了新的通道,那么在ADCON0中相应的MX0到MX2会自动改变,端口1和端口3,每个端口的4个引脚都是双向输入/输出端口。他们既可以作数字量输入/输出功能使用又可以作模拟量输入。如果模拟输入量少于8个,那端口1和3的多余的不用于模拟输入的引脚就可以用于数字输入/输出。4.2 A/D转换寄存器特殊功能寄存器 ADDATH (地址D9H) ADDATL (地址DAH)ADDATH MSB .9.8.7.6.5.4.3.2ADDATL.1 LSB .0寄存器ADDATH和ADDATL存放的是正式数据形式的10位A/D转换的结果。该结果中最重要的一位是ADDAT
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1