找回密码
 立即注册
查看: 342|回复: 0

AI8051U-学习笔记1

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:139
  • 最近打卡:2025-05-06 23:37:45

12

主题

0

回帖

209

积分

中级会员

积分
209
发表于 2024-12-21 20:58:48 | 显示全部楼层 |阅读模式

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;。

回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-7 02:29 , Processed in 0.111345 second(s), 47 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表