当前位置: 首页 > news >正文

STC89C52RC/LE52RC

STC89C52RC

  • 芯片手册
  • 原理图
    • 扩展版原理图
  • 功能示例
    • 闪烁的LED灯
    • 动态数码管

芯片手册

STC89C52

原理图

扩展版原理图

扩展版原理图

功能示例

闪烁的LED灯

LED灯的常亮效果

# include <STC89C5xRC.H>
void main(){//将LED连接的P00端口设置为0P00 =0;while(1);
}

LED灯的闪烁

# include <STC89C5xRC.H>typedef unsigned char u8;
typedef unsigned int u16;void Delayms(u16 count);void main() {//将LED连接的P00端口设置为0P00=1;while(1) {P00 =~P00;Delayms(1000);};
}void Delayms(u16 count)
{u8 data i, j;while (count){_nop_();i = 2;j = 199;do{while (--j);} while (--i);count--;}
}

LED灯的跑马灯效果

#include <STC89C5xRC.H>
#include <INTRINS.H>typedef unsigned char u8;
typedef unsigned int u16;void Delayms(u16 count);void main()
{u8 temp = 0x01;bit is_left = 1;while (1){P0 = ~temp;if (is_left){temp <<= 1;}else{temp >>= 1;}if (temp == 0x80){is_left = 0;}if (temp == 0x01){is_left = 1;}Delayms(100);}
}void Delayms(u16 count)
{u8 data i, j;while (count){_nop_();i = 2;j = 199;do{while (--j);} while (--i);count--;}
}

动态数码管

#include <STC89C5xRC.H>
#include <INTRINS.H>typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;void DigitalTube_setBuffer(u32 number);
void DigitalTube_Single(u8 pos, u8 number);
void DigitalTube_Refresh();
void Delayms(u16 count);// 定义数组,保存吗u8 number_codes[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,
};u8 digital_buffer[8];void main()
{// 打开数码管P36 = 0;// 关掉流水灯P34 = 0;DigitalTube_setBuffer(250);while (1){DigitalTube_Refresh();};
}void DigitalTube_setBuffer(u32 number)
{u8 i;for (i = 0; i < 8; i++){digital_buffer[i] = 0;}for (i=7; ; i--){digital_buffer[i] = number_codes[number % 10];number = number / 10;if (number == 0||i==0){break;}}
}void DigitalTube_Single(u8 pos, u8 number)
{pos <<= 3;P1 &= 0xC7;P1 |= pos;P0 = number_codes[number];
}void DigitalTube_Refresh()
{u8 i = 0;while (i <= 7){DigitalTube_Single(i, digital_buffer[i]);Delayms(1);i++;}
}void Delayms(u16 count)
{u8 data i, j;while (count){_nop_();i = 2;j = 199;do{while (--j);} while (--i);count--;}
}
http://www.xdnf.cn/news/621361.html

相关文章:

  • 嵌入式Openharmony系统应用开发与实现方法
  • (已开源-CVPR2024) RadarDistill---NuScenes数据集Radar检测第一名
  • TypeScript 和 JavaScript核心关系及区别
  • 最大似然估计(Maximum Likelihood Estimation, MLE)详解
  • 机器学习课程设计报告 —— 基于二分类的岩石与金属识别模型
  • PHP SPL 自动加载机制详解与实战应用:spl_autoload_register 使用指南
  • BLIP论文笔记
  • 使用 CodeBuddy 实现视频合并工具:解决本地视频处理痛点
  • 【RabbitMQ运维】集群搭建
  • 【强化学习】#7 基于表格型方法的规划和学习
  • 力扣 283.移动零 (双指针)
  • SQL语句的执行流程
  • C++搜索二叉树
  • Java语言快速排序和堆排序(优先队列)介绍,附demo代码
  • C# 深入理解类(析构函数和this关键字)
  • 【RK3588新品】嵌入式人工智能实验箱EDU-AIoT ELF 2发布
  • 【萤火工场GD32VW553-IOT开发板】ADC电压的LabVIEW采集
  • 【漫话机器学习系列】275.GrabCut 算法——用于去除图片背景(Grabcut For Removing Image Backgrounds)
  • SpringBoot项目配置文件、yml配置文件
  • 大厂缓存架构方案-Caffeine+Redis双层缓存架构
  • 织梦dedecms登录后台出现Safe Alert Request Error step 2
  • 企业级单元测试流程
  • BLIP3-o:一系列完全开源的统一多模态模型——架构、训练与数据集
  • 深入理解 JVM 运行时数据区
  • 让MySQL更快:EXPLAIN语句详尽解析
  • 如何设计Agent的记忆系统
  • Cmake编译gflags过程记录和在QT中测试
  • std::thread的说明与示例
  • Linux中的文件描述符
  • 毕业论文格式(Word)