【单片机】51单片机,晨启科技,板子引脚对应关系

在这里插入图片描述

在这里插入图片描述

一般引脚:

sbit beep=P2^4;	   //将单片机的P2.4端口定义为beep.本口用于屏蔽上电后蜂鸣器响
sbit led=P1^0;	   //将单片机的P1.0端口定义为led,用于点亮LED-D1
sbit DIG1=P0^0;					//数码管位选1
sbit DIG2=P0^1;					//数码管位选2P1=0xFF;//初始化P1引脚全部置高,LED全灭beep=0;	//蜂鸣器不响DIG1=0;	//禁止数码管个位亮DIG2=0;	//禁止数码管十位亮sbit key1=P3^2;	 	 //摇杆A按键
sbit key2=P3^3;      //摇杆B按键if(key1==0)		     //检测摇杆A按键是否按下{	delay(1000);     //消除抖动 一般大约10msif(key1==0)	 //再次判断按键是否按下{			LED=~LED;	 //每按下一次,P1口状态求反一次}while(!key1);	 //等待按键松开				}sbit beep=P2^4;	   	   //该口接蜂鸣器驱动三极管b极,1导通,0截断
beep=1;		//蜂鸣器响#define SEG P1					//将P1口定义为SEG 后面就可以使用SEG代替P1口  数码管段选/*口袋板OLED电路引脚定义*/
sbit OLED_SCL=P4^3;//SCL-D0
sbit OLED_SDA=P4^1;//SDA-D1
sbit OLED_RES =P3^6;//RES
sbit OLED_DC =P3^7;//DC
sbit OLED_CS=P2^7; //CSsbit CLOCK=P3^5; 	/*2543时钟*/ 
sbit D_IN=P4^0; 	/*2543输入*/ //【注意:此处是口袋实验室连接引脚】
//sbit D_IN=P1^7; 	/*2543输入*/ //【注意:此处是仿真连接引脚,仿真时请使用本行定义并注释掉上一行】
sbit D_OUT=P0^2; 	/*2543输出*/ 
sbit _CS=P3^4; 		/*2543片选*/ sbit  DIN=P2^0;
sbit  SCLK=P1^6; 
sbit  CS=P1^7;
```数码管显示程序:```go
/**************************************************************************************
——晨启科技——
实验现象:两位数码管的个位数位(或十位数位,由学员自己选择)显示数字***************************************************************************************/#include "STC89C5xRC.h"		    //STC89C52RC的头文件
typedef unsigned int u16;	 	//对数据类型进行声明定义
typedef unsigned char u8;sbit beep = P2^4;			 	//蜂鸣器引脚
sbit DIG1=P0^0;					//数码管位选1
sbit DIG2=P0^1;					//数码管位选2u8 seg7_table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};	  //共阳数码管0~9段码
#define SEG P1					//将P1口定义为SEG 后面就可以使用SEG代替P1口/*******************************************************************************
* 函 数 名         : delay
* 函数功能		   : 大致延时函数
* 输    入         : ms		(ms=1时,大约延时了1ms)
* 输    出         : 无
*******************************************************************************/
void delay(int ms)
{int ii,jj;if (ms<1) ms=1;for(ii=0;ii<ms;ii++)for(jj=0;jj<500;jj++);}/*******************************************************************************
* 函 数 名         : Seg_Display_Left()
* 函数功能		   : 数码管显示函数。数码管十位数位置显示一个数字
* 输    入         : x		(x为0~9任何一个整数,它会显示在数码管上)
* 输    出         : 无
*******************************************************************************/
void Seg_Display_Left(u8 x)
{DIG2=0;			  		 //个位数 数位 位选禁止(共阳数码管的共阳供电脚)DIG1=1;					 //十位数 数位 位选允许SEG=seg7_table[x];	     //【举例】例如个位数需要显示4,seg7_table[4]对应0x99,数码管会显示“4”//事实上每个时刻只有一位数码管会亮,利用人眼视觉残留效果delay(4);					 //给一个合适的延时,人眼看不出闪动即可}/*******************************************************************************
* 函 数 名         : Seg_Display_Right()
* 函数功能		   : 数码管显示函数。数码管个位数位置显示一个数字
* 输    入         : y      (y为0~9任何一个整数,它会显示在数码管上)
* 输    出         : 无
*******************************************************************************/
void Seg_Display_Right(u8 y)
{DIG2=1;					 //个位数数位位选允许DIG1=0;					 //十位数数位位选禁止SEG=seg7_table[y];	     //【举例】例如个位数需要显示4,seg7_table[4]对应0x99,数码管会显示“4”delay(4);					 //事实上每个时刻只有一位数码管会亮,利用人眼视觉残留效果
}							 ///*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{beep=0;		   //不允许蜂鸣器蜂鸣delay(500);    //等待上电稳定while(1){/*方法一:数码管左边那一位(十位)显示数字6*///Seg_Display_Left(6);/*方法二:数码管右边那一位(个位)显示数字8*/Seg_Display_Right(7);//方法一和方法二任选一种。另一种请屏蔽掉。否则就是显示两位数了}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第一阶段】kotlin的when表达式

1.Java 的if /when是语句 kotlin的if/when是表达式&#xff0c;表达式是有返回值的 java中void是个关键字&#xff0c;Unit在kotlin中是个类 2.当使用when语句的时候必须有一个不满足的值即else: fun main() {var week:Int5val info when(week){1->"今天是星期一"…

Transformer学习笔记

Transformer学习笔记 前言前提条件相关介绍Transformer总体架构编码器&#xff08;Encoder&#xff09;位置编码&#xff08;Positional Encoding&#xff09;get_attn_pad_mask函数&#xff08;Padding Mask&#xff09;EncoderLayerMultiHeadAttentionScaledDotProductAttent…

项目出bug,找不到bug,如何拉回之前的版本

1.用gitee如何拉取代码 本文为转载于「闪耀太阳a」的原创文章原文链接&#xff1a;https://blog.csdn.net/Gufang617/article/details/119929145 怎么从gitee上拉取代码 1.首先找到gitee上想要拉取得代码URL地址 点击复制这里的https地址 1 ps:&#xff08;另外一种方法&…

xcode打包导出ipa

转载&#xff1a;xcode打包导出ipa 目录 转载&#xff1a;xcode打包导出ipa 第一步&#xff1a;注册苹果开发者账号 第二步&#xff1a;下载APP Uploader 第三步&#xff1a;使用xcode打包导出ipa文件&#xff0c;供其他人内测 众所周知&#xff0c;在开发苹果应用时需要使…

Leetcode31 下一个排列

解题思路&#xff1a; 算法过程的第二步&#xff0c;可以变为将[j,end]排序&#xff0c;然后从[j,end)和i进行比较&#xff0c;在区间j,end区间第一个大于nums[i]后&#xff0c;交换即可 public void nextPermutation(int[] nums) {int len nums.length - 1;for(int i len;i…

【电机绘图】:插补算法(一)—直线插补—逐点比较法

今日介绍学习一种使用电机作画、绘图、加工零件时需要使用的算法 &#xff1a; 插补算法 本文提供直线插补的概念基础&#xff0c;基本思路分析&#xff0c;C语言实现等&#xff0c;代码会直接贴出&#xff01; 插补算法是指在数值计算或数据处理中&#xff0c;根据已有的数据…

单例模式(C++)

定义 保证一个类仅有一个实例&#xff0c;并提供一个该实例的全局访问点。 应用场景 在软件系统中&#xff0c;经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例&#xff0c;才能确保它们的逻辑正确性、以及良好的效率。如何绕过常规的构造器&#xff0c;提供一种…

Babel编译与Webpack

目录 Babel初识BabelBabel 使用方式使用 Babel 前的准备工作 WebpackWebpack介绍Webpack初体验Webpack核心概念入口&#xff08;entry&#xff09;出口&#xff08;output&#xff09;加载 (loader)插件&#xff08;plugins&#xff09; Babel Babel官网: https://babeljs.io/…

【Hystrix技术指南】(6)请求合并机制原理分析

[每日一句] 也许你度过了很糟糕的一天&#xff0c;但这并不代表你会因此度过糟糕的一生。 [背景介绍] 分布式系统的规模和复杂度不断增加&#xff0c;随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中&#xff0c;【熔断、隔离、降级、限流】是经常被使…

小白到运维工程师自学之路 第六十四集 (dockerfile构建tomcat、mysql、lnmp、redis镜像)

一、tomcat&#xff08;更换jdk&#xff09; mkdir tomcat cd tomcat/ tar xf jdk-8u191-linux-x64.tar.gz tar xf apache-tomcat-8.5.40.tar.gzvim Dockerfile FROM centos:7 MAINTAINER Crushlinux <syh163.com> ADD jdk1.8.0_191 /usr/local/java ENV JAVA_HOME /us…

国内大模型在局部能力上已超ChatGPT

中文大模型正在后来居上&#xff0c;也必须后来居上。 数科星球原创 作者丨苑晶 编辑丨大兔 从GPT3.5彻底出圈后&#xff0c;大模型的影响力开始蜚声国际。一段时间内&#xff0c;国内科技公司可谓被ChatGPT按在地上打&#xff0c;毫无还手之力。 彼时&#xff0c;很多企业…

怎么快速搭建BI?奥威BI系统做出了表率

搭建BI系统有两大关键&#xff0c;分别是环境搭建和数仓建设。这两点不管是哪一个都相当地费时费力&#xff0c;那要怎么才能快速搭建BI平台&#xff0c;顺利实现全企业数字化运营决策&#xff1f;奥威BI系统方案&#xff0c;你值得拥有&#xff01; 奥威BI系统方案&#xff0…

三种方法实现tab栏切换(CSS方法、JS方法、Vue方法)

一、需求 给下图的静态页面添加tab栏切换效果 二、CSS方法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"v…

云知识库软件的推荐清单,你看看你喜欢哪一个?

在选择云知识库软件时&#xff0c;有很多因素需要考虑&#xff0c;如功能、易用性、可定制性、安全性、价格等。下面是一些我喜欢的云知识库软件推荐清单&#xff1a; Confluence&#xff1a; Confluence是一款由Atlassian开发的知识管理和协作工具。它提供了强大的编辑和协作…

Go微服务实践 - Rpc核心概念理解

概述 从0研究一下Golang已经Golang的微服务生态体系&#xff0c;Golang的微服务首先要从Rpc开始&#xff0c;在升级到Grpc&#xff0c;详细介绍这些技术点都在解决什么技术问题。 Rpc Rpc (Remote Procedure Call) 远程过程调用&#xff0c;简单的理解是一个节点请求另一个节…

【果树农药喷洒机器人】Part4:果树冠层图像实例分割模型优化

文章目录 一、引言二、数据集制作2.1图像采集2.2图像标注与增强 三、构建柑橘树冠实例分割模型结构3.1优化特征提取网络3.2U-Net替换FCN 一、引言 为准确获取柑橘树冠的生长信息&#xff0c;实现果树喷药机器人的精准喷施&#xff0c;对处于多种生长阶段的柑橘树冠进行图像分割…

AI和ChatGPT:人工智能的奇迹

AI和ChatGPT&#xff1a;人工智能的奇迹 引言什么是人工智能&#xff1f;ChatGPT&#xff1a;AI的语言之王ChatGPT的工作原理ChatGPT的优势和挑战AI和ChatGPT的未来展望结论 引言 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一项令人兴奋的…

IAR开发环境的安装、配置和新建STM32工程模板

IAR到环境配置到新建工程模板-以STM32为例 一、 简单介绍一下IAR软件1. IAR的安装&#xff08;1&#xff09; 下载IAR集成开发环境安装文件&#xff08;2&#xff09; 安装 2. 软件注册授权 二、IAR上手使用(基于STM32标准库新建工程)1、下载标准库文件2、在IAR新建工程&#x…

ImageNet Classification with Deep Convolutional Neural Networks

&#xff08;一&#xff09;Some Words: 这里主要是通过记录一些笔记来阅读这篇 Paper&#xff0c;它的产生跟 ImageNet LSVRC-2010 竞赛有关&#xff0c;通过训练一个大的、深的卷积网络来将 1.2 million 的 HR 图像分成 1000 类 &#xff0c;这个网络实现了 top-1 37.5% 和 …

GPU显存泄露/显存溢出/显存爆炸 解决方案

问题描述 最近在跑一个基于pytorch的强化学习代码&#xff0c;在训练过程中显存增大非常明显&#xff0c;迭代不到200个iteration就可以占据70G的显存。由于博主是第一次在pytorch实现的强化学习算法上加入自己的实现&#xff0c;很没有应对经验&#xff0c;现将调试过程记录下…