#申请原创# @21ic小管家
新定义NBK-RD8x3x核心开发板+1、环境搭建和GPIO实现呼吸灯效果 1、NBK-RD8x3x核心开发板简介
新定义NBK-RD8x3x核心开发板用于新定义增强型的高速1T8051内核工业级集成触控按键功能的Flash微控制器RD8T36P48RJ的开发。
- 型号:RD8T36系列
- 内核:增强型高速1T8051
- 功能:集成触控按键功能
- 指令系统:完全兼容传统8051产品系列
- 运行频率:最高32MHz
- 执行速度:相同工作频率下约为其他1T8051的2倍
- 内部硬件资源:
- 硬件乘除法器
- 硬件CRC
- 双DPTR数据指针,加速数据存储和移动
- 高灵敏度隔空电容触控电路:内置31路
- 存储器:
- 64Kbytes Flash ROM
- SRAM:内部256bytes,外部8Kbytes,PWM&LCD80bytes
- 6Kbytes EEPROM
- GPI0:最多46个(部分可分级控制)
- 外部中断:16个10级可外部中断
- 定时器:5个16位定时器
- PWM:共14路16bit PWM
- 8路带死区互补的多功能PWM
- 6路由Timer输出的PWM
- 通信接口:
- 1个UART
- 6个UART/SPI/IC三选一通信口USCI
- 内置LCD/LED硬件驱动
- 内部振荡器:2%高精度高频32/16/8/4MHz振荡器,4%精度低频32KHz振荡器
- 可外接32.768kHz晶体振荡器(开发板上没有)
- 模拟比较器:1个
- ADC:17路12位高精度ADC
2、环境搭建
Step1:NBK-RD8x3x核心开发板需要使用C51开发环境,需要自行百度。
Step2:需要安装插件----RD_KEIL_Setup V1.30(LIB0D08)。
Step3:使用UV4打开例程,就可以开始使用啦。例程里有丰富的资源:
Step4:稍作修改程序:
修改delay函数:
void Delay_US(unsigned int time)
{
unsigned int Single_Time;
while(time--)
{
Single_Time = 4;
while(Single_Time --);
}
}
实现呼吸灯子函数
void ledbreath(uint16_t t,uint16_t i)
{
GPIO_WriteLow(GPIO0, GPIO_PIN_1);
GPIO_WriteHigh(GPIO0, GPIO_PIN_1);
Delay_US(i);
GPIO_WriteHigh(GPIO0, GPIO_PIN_1);
GPIO_WriteLow(GPIO0, GPIO_PIN_1);
Delay_US(t-i);
}
主函数
uint16_t breathTime=1000,stopTime;
void main(void)
{
SC_Init();
while(1)
{
//WDT_SetReload(); //看门狗喂狗
for(stopTime=1;stopTime<breathTime;stopTime+=1)//????????,?????????,???i????????
{
ledbreath(breathTime,stopTime);
}
Delay(1);
for(stopTime=breathTime;stopTime>1;stopTime-=1)//????????
{
ledbreath(breathTime,stopTime);
}
Delay(1);
}
}
3、呼吸灯效果
|