AI8051U-学习笔记1
Ai8051U单片机性能总结:
架构与性能优势:32位8051架构,单时钟(1T)设计,在相同工作频率下比传统8051约快70倍,具备宽电压、高速、高可靠、低功耗、强抗静电与较强抗干扰特性,且超级加密。
时钟系统:内部集成高精度R/C时钟,常温下精度达±0.3%,不同温漂范围有精确指标。提供4种时钟源,包括内部高精度IRC时钟(可ISP编程调整频率)、内部32KHz低速IRC、外部4M33M晶振或外部时钟信号以及内部PLL输出时钟,时钟源选定后可经8bit分频器分频后供CPU和外设使用,还可省掉外部晶振与复位电路(内部集成高可靠复位电路,ISP编程时有4级复位门槛电压可选)。
低功耗模式:有IDLE模式和STOP模式。IDLE模式下停止给CPU供时钟,CPU停止执行指令,但外设仍工作,6MHz工作频率时功耗约1.3mA;STOP模式主时钟停振,CPU和全部外设停止工作,功耗可降至1uA以下。
丰富外设:数字外设包含4个串口、6个定时器、2组用于三相电机控制的16位高级PWM定时器以及I2C、SPI、QSPI、USB接口;模拟外设包括超高速12位ADC和比较器,可满足多样化设计需求。
指令集与硬件单元:拥有268条强大指令,涵盖32位加减法指令和16位乘除法指令,硬件扩充32位硬件乘除单元MDU32(支持32位除以32位和32位乘以32位运算)以及硬件三角函数运算单元TFPU。
AI8051U可以在32位和8位指令集之间进行切换,具体方法如下:
使用不同的编译器:
32位指令集编译:使用KeilC251编译器可将AI8051U设置为以32位指令集运行,利用其32位运算扩展部分进行更高效快速的运算。
8位指令集编译:若使用KeilC51/IAR/SDCC编译器,则AI8051U会工作在8位指令集模式下。
AI8051U在32位和8位指令集下并非不同型号,而是同一芯片支持两种不同的工作模式。
准双向口读外部数据时,需要先置1。
在8051单片机的准双向口读取外部数据时,一般需要先将端口引脚置1。这是因为准双向口内部有一个弱上拉电阻。当引脚用于输出时,内部电路可以正常驱动引脚输出高电平或低电平。但是当引脚从输出状态转换为输入状态来读取外部数据时,如果之前输出为低电平,外部设备的信号需要克服内部的下拉电路才能将引脚电平拉高。
而如果先将端口引脚置1,此时内部上拉电阻可以有效地将引脚保持在高电平状态。这样,当外部设备连接到该引脚并输出高电平时,引脚能够正确地读取到高电平;当外部设备输出低电平时,也能够顺利地将引脚电平拉低,从而被单片机正确地读取。
sfr关键字
定义:sfr是“specialfunctionregister”(特殊功能寄存器)的缩写。在8051单片机编程中,它用于声明一个特殊功能寄存器变量。这些特殊功能寄存器用于控制单片机的各种硬件功能,如定时器、串口、中断等。
语法格式:sfr寄存器名=地址;
示例说明:
例如,对于8051单片机的P0口(端口0),它对应的特殊功能寄存器地址是0x80。可以使用以下语句来声明一个代表P0口的特殊功能寄存器变量:sfrP0=0x80;。这样,在程序中就可以通过P0这个变量来访问和操作P0口对应的特殊功能寄存器了。
sbit关键字
定义:sbit是“specialbit”(特殊位)的缩写。用于访问特殊功能寄存器中的单个位。因为在单片机的特殊功能寄存器中,很多时候需要单独对某一位进行操作,比如设置某个中断使能位、某个引脚的方向位等。
语法格式:
方法一:直接位寻址方式:sbit位变量名=寄存器地址^位序号;
方法二:通过已定义的寄存器变量方式:sbit位变量名=寄存器变量名^位序号;
示例说明:
以8051单片机的P0口为例,P0口有8个位(P0.0P0.7)。假设要单独访问P0.0位,P0口对应的特殊功能寄存器地址是0x80,P0.0是该寄存器的第0位。可以使用直接位寻址方式:sbitP0_0=0x80^0;。也可以先定义P0寄存器变量(如前面提到的sfrP0=0x80;),然后通过寄存器变量方式:sbitP0_0=P0^0;。