手把手教你看懂51单片机原理图

article/2025/6/22 14:05:30

最近当了单片机课设的助教,又再次接触了51单片机。发现初学者还看不太原理图,不能理解单片机 led灯,蜂鸣器,数码管是怎么操作的。现在结合原理图讲解一下怎么操作这些外设模块!我们就以一些初始化代码进行讲解。

注:这里使用的是蓝桥杯51单片机的板子!

1.我们看一下这段关闭蜂鸣器代码:
    P2=P2&0x1f|0xa0; //选择蜂鸣器模块
    P0=0x00;         //关闭蜂鸣器

  P2&0x1f  ----是P2的高三位置0,低5位保持不变(任何数&0等于0,任何数&1保存不变)--只想     控制高三位,再或上0xa0 是选择蜂鸣器 ----看图蜂鸣器是Y5(图一所示),而5对应的二进制是101从而P2^7=1, P2^6=0,P2^5=1 (图二可见) 其他没选择的都为0. 所以P2=1010 0000 =0xa0。选择蜂鸣器这个功能     后, P0=0x00(P0是数据),即关闭蜂鸣器。总结一下,先P2=P2&0x1f|0xa0选中蜂鸣器,再   P0=0x00给蜂鸣器模块赋值关闭蜂鸣器

                                            图一 

       

                                         图二

2.关闭led灯代码

   P2=P2&0x1f|0x80; //选择led灯模块
   P0=0xff;             //关闭所有led灯

 和上面思路差不多,P2&0x1f是高三位,置0 ,低5位,不变。然后我们看原理图led模块是Y4,而4对应的二进制 是100 ,(图 三),所以我们对应的P2^7=1,P2^6=0,P2^5=0(图二);对应的P2=1000 0000 =0x80; 所以我们这里是或上0x80.然后我们再看led模块的原理图,是共阳极(所有led灯都一起接了VCC高电平),我们另外一端也就是P0端口,给0才能亮,给1就灭,所以我们P0=0xff就是关闭所有led灯。

                                              图三 

 3.关闭所有数码管

    P2=P2&0x1f|0xc0;P0=0xff;  //位选,选中8跟数码管。
    P2=P2&0x1f|0xe0; P0=0xff;//段选,熄灭数码管

     这里有4句代码,我逐一讲解----首先第一句代码就是选中数码管位选功能---数码管位选为Y6(图四)所以P2=P2&0x1f|0xc0 选中数码管位选功能。第二句代码P0=0xff,即8位全给高电平,选中8根数码管。第三句代码P2=P2&0x1f|0xe0 选中Y7即选中数码管段选功能(图五),P0=0x00即都给高电平,因为这款单片机是共阳极数码管所以给高电平没有数据显示(都处于熄灭状态)这样数码管就初始化成功了。

                                                                图四

 

                                                               图五 

最后给大家附一个这款单片机的原理图http://链接:https://pan.baidu.com/s/1PZ1PuM7DuiakobC7JfLGiw?pwd=6666 提取码:6666


http://chatgpt.dhexx.cn/article/2eYji5ED.shtml

相关文章

51单片机电路原理图_51单片机入门(第1篇):纯干货,单片机最小系统

当我们了解了什么是单片机,以及单片机有什么用之后,是否要考虑我们怎么去学习单片机呢?学习单片机其实很简单,需要的起步知识并不需要多少,接下来跟随我的步伐,一步一步的去了解单片机。本文将讲解单片机最小系统和仿真软件以及编程软件的选择。 0. 51单片机最小系统 先来…

理解51单片机最小系统的工作原理

51单片机最小应用系统 概述 要想使用单片机,第一个要搭建的电路就是单片机的最小系统,有了这个最小系统单片机就可以去正常的工作,即使没有其他的外围电路(显示器啥的),也可以对单片机进行程序的编写&…

51单片机原理与设计方案(包含原理图与PCB)

一、单片机简介 单片机:在一片集成电路芯片上集成微处理器(CPU)、存储器(ROM和RAM)、I/O接口电路,从而构成了单芯片微型计算机,即单片机(single chip Microcomputer)也叫…

如何获得海量的RoboCode代码

原文地址:如何获得海量的RoboCode代码 作者:胡泊1982 很多对人工智能感兴趣的朋友受限于资金和场地的限制,只能转向虚拟平台发展。我们机器人天空网站也曾经做过专门的专题介绍了几种常见的虚拟机器人竞赛平台(http://www.robotsk…

Robocode 参数大揭密

Robocode 参数大揭密 文档选项 将此页作为电子邮件发送 最新推荐 Java 应用开发源动力 - 下载免费软件,快速启动开发 级别: 初级 天翼.李Skyala.Li, 2002 年 12 月 02 日 下面天翼.李(Skyala.Li)就和大家一起来看看Robocode中重要的参数并分析分析…

在IDEA上部署Robocode

Robocode的下载和安装 下载网址:https://robocode.sourceforge.io/ 下载Robocode 解压,点击运行压缩包中的jar包完成安装,安装完成后得到肉搏code的文件夹 在Idea上部署robocode 打开IDEA,新建Java项目,注意项目的…

教你玩Robocode(4)——规则系统

理解Robocode的规则系统,你才能写出更好的坦克。许多规则在Robotcode的Roles类中进行了描述。为了便于大家理解,本文对各种规则参数进行详细叙述。 时间 robocode的时间单位为”轮”(turn)。因此,在描述移动速度时,单位为”像素每…

RoboCode的Intellij环境搭建

2019独角兽企业重金招聘Python工程师标准>>> RoboCode自带的源码编辑器十分不便,本次参考youtube上的教程搭建Intellij的roboCode开发环境,最终实现能够编写、编译、运行、调试机器人。 创建项目 首先,用Intellij IDEA新建一个pro…

利用Jython开发Robocode机器人

(转载请注明来源于 金庆的专栏)先用Python写个简单的机器人: from robocode import * class SampleBlaze(Robot): def run(self): while 1 : self.ahead( 100 ) self.back( 100 ) 编译为jar包,注意…

Robocode Rumble: 冠军的技巧

Robocode Rumble: 冠军的技巧 Rumble 冠军揭示胜利的机器人背后的策略 文档选项 将此页作为电子邮件发送 最新推荐 Java 应用开发源动力 - 下载免费软件,快速启动开发 级别: 初级 Dana Triplett Barrow, 自由技术撰稿人 2002 年 12 月 03 日 Roboc…

Robocode教程7——雷达锁定

在这次教程中,我们要写这样一个代码,它将让敌人逃不出我们的眼睛。雷达锁定是一个高效战斗机器人的基础,因为robot只有执行onScannedRobot方法,我们才能够获取敌人的信息,而onScannedRobot方法只有在我们的雷达扫描到敌…

robocode 安装 使用

记录一下 环境: Windows 7 64 JDK 1.8.0_131 一、安装 1、下载 https://robocode.sourceforge.io/ 当前最新版本:robocode-1.9.3.6-setup.jar 2、安装 双击 robocode-1.9.3.6-setup.jar 默认安装在C盘,并创建桌面快捷方式&#xff1b…

robocode java_IBM Robocode Java学习利器(1)Robocode 入门

编程肯定要学语言,相信很多人都会选java,无论什么书千篇一律都是从语法讲起,语法的枯燥反正我是深有体会的,但不先学语法还能学什么?编程的成就感来源于能做出什么东西,能实现什么,在没有做出实际的东西之前…

智能机器人编程游戏robocode的运行代码简析

智能机器人编程游戏robocode的运行代码简析金庆2007.6.1阅读robocode1.3的源代码,查看运行的原理。 (转载请注明来源于 金庆的专栏) 主线程Battle.run()-------------------主线程是Battle.run(), 循环进行多局的较量。每一局初始化后&…

Robocode

原文地址:Robocode 作者:麦麦和阿纳内 什么是Robocode? 其实我对机器人一直很感兴趣。我记得在我还是初中的时候,就知道 AplleⅡ上有一个程序,用它来编写简单的机器人程序,然后相互作战。当时自己还完全不懂编程&…

教你玩Robocode(1)

最近在上网时发现了一个叫做Robocode的游戏。最近我已经对它上瘾了。Robocode官方网站上对Robocode的介绍: Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are runni…

Robocode:基础知识及入门示例

文章目录 参考定义坐标系简单的API可Overwrite的方法一个简单示例 参考 百度文库-Robocode 定义 机器人:一些可以旋转、移动、射击、侦测的小型坦克。 机器人的底盘、火炮和雷达系统都可以独立运动,也可以相互“锁定”,一起移动。换句话说…

robocode 相关的总结

基础知识 1. heading 角度系 如图所示,所谓heading角,即从Y轴出发,然后顺时针绕回Y轴的这么个角度区间,取值范围: [0,360] 2. bearing角度系 所谓bearing 角,即从Y轴顺、逆时针出发,绕半圈回到…

世界robocode机器人的四大运动方式分析

摘要:前言Robocode在短短的时间内风靡全球,全世界的robocode爱好者设计出了大量的优秀智能机器人,他们都拥有各自的运动方式,有的很轻易被击中,有的却很难射击。设计一个好的运动方式是优秀robocode机器人取胜的要害。上届世界中级组冠军Fermat就是靠他让敌人难以琢…