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

单片机51 day46

单片机

一:基础概念

一:单片机最小系统

单片机:电源+时钟(晶振)+复位 //实现的最小组件

电源:5V直流

时钟(晶振):决定系统运行的速率 一般12M(不超过50M),因为过快导致稳定性,抗干扰性能下降,

​ 分为分频和倍频,一般都是分频(1/(2*6)分频)

复位:电平信号(高/低) 2种:先上升沿,在下降沿; 先下降沿,后上升沿

原理图:表示器件的逻辑连接关系

PCB:表示器件物理连接关系

二:RAM/ROM 芯片自带

RAM :随机存储器 (访问速度快) 4kb //掉电数据丢失

ROM :只读存储器 (访问速度慢) 100~200kb //掉电数据不丢失

三:发光二极管

单个二极管要求电压:0.5v~0.7v 一般给1v~2v 电流:10mv~MAX

四:流水灯

#include <reg51.h>void delay_ms(unsigned int num)
{unsigned char i,j;while(num--){i = 2;//看具体晶振大小j = 199;}do{while(--j);}while(--i);
}void main(void)
{unsigned char dat = 0;while(1){P2 = 255 - dat++; //共阳极delay_ms(500);};
}

五:显示数字

#include <reg51.h>void delay_ms(unsigned int num)
{unsigned char i,j;while(num--){i = 2;j = 199;}do{while(--j);}while(--i);
}void digit_select(unsigned char digit)
{unsigned char num = P2;num &= ~(0x7 << 2);  //22 23 24 控制num |= (digit << 2);P2 = num;
}unsigned char array[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void digit_show_num(unsigned long num)
{unsigned char digits[8];int i = 0;  for (i = 7; i >= 0; i--) {digits[i] = num % 10;num /= 10;}while(1){for(i=0;i<8;i++){if(digits[i] != 0){digit_select(7 - i);P0 = array[digits[i]]; delay_ms(2);        }}}
}void main(void)
{ digit_show_num(65536);	//51单片机是8位系统,所以要long int	
}

http://www.lryc.cn/news/609550.html

相关文章:

  • 基于单片机智能鱼缸/水族箱/水产养殖系统设计
  • 第二篇:深入解析 FastAPI + LangChain 实现流式对话接口:`chat` 函数详解
  • 嵌入式硬件中三极管推挽电路控制与实现
  • 单片机裸机程序设计架构
  • Ubuntu 下 MySQL 运维自动化部署教程(在线简易版)
  • MLIR Introduction
  • cobalt strike(CS)与Metasploit(MSF)联动
  • Nestjs框架: @nestjs/config 配置模块详解与实践
  • Go 语言模糊测试 (Fuzz Testing) 深度解析与实践
  • 基于鼠标位置的相机缩放和平移命令的实现(原理+源码)
  • Java 17新特性深度解读:Records、Sealed Classes与Pattern Matching
  • 宝塔面板安装WordPress教程:10分钟一键部署搭建个人博客 (2025)
  • Git如何同步本地与远程仓库并解决冲突
  • Linux 用户与组管理全解析
  • 电商系统想撑住大流量?ZKmall开源商城靠微服务 + Spring Boot3 解决单体架构难题
  • JavaScript中的作用域、闭包、定时器 由浅入深
  • 肾上腺疾病AI诊疗一体化系统应用方向探析
  • 机器学习——学习路线
  • 【拓扑序 容斥原理】P6651 「SWTR-5」Chain|省选-
  • 登录验证码功能实现:Spring Boot + Vue 全流程解析
  • Ethereum:智能合约开发者的“瑞士军刀”OpenZeppelin
  • Neo4j 社区版 Mac 安装教程
  • 数据结构---配置网络步骤、单向链表额外应用
  • Vue3核心语法进阶(Hook)
  • 如何使用EF框架操作Sqlite
  • 20250805问答课题-实现TextRank + 问题分类
  • 量子计算接口开发:Python vs Rust 性能对决
  • uniapp快遞上門提貨的時間選擇的插件
  • PyTorch生成式人工智能(25)——基于Transformer实现机器翻译
  • 代码详细注释:(linux)TCP客户端接收服务器端发的信息