网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月24日漏签0天
蓝桥杯吧 关注:20,303贴子:100,296
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 3 4 下一页 尾页
  • 95回复贴,共4页
  • ,跳到 页  
<<返回蓝桥杯吧
>0< 加载中...

2018年“蓝桥杯”单片机设计与开发组,从入门到精通!

  • 只看楼主
  • 收藏

  • 回复
  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
“蓝桥杯”单片机设计与开发专用开发板知识汇总
各位朋友们,大家好!我是已经报名了2018年3月份蓝桥杯比赛的一名大三学生,在我准备这次比赛的过程中有很多的发现和收获,所以我想把这些经验写下来分享给大家,让后面的朋友们能够有所参考。踩在前人的肩膀上就能看得更高,走得更远。我在本文中的话语简单易懂,不管是才接触51单片机,还是已经有一定基础朋友们在准备这次比赛的过程中都可以参考参考。由于自身水平有限,在文章当中可能会存在一些错误,欢迎大家指正,一起让整个文章变得更好,给后面学习的朋友们留下一份宝贵的参考资料!谢谢大家!同时也预祝大家在这次比赛中取得好成绩!
在我开始分享之前,我想既然你准备参加这个比赛,什么keil的安装,程序的下载等等最基本的知识肯定不用我说了吧!首先你准备比赛肯定得有一块专用的蓝桥杯开发板吧,要不然你也没法去练习。必须有原理图等相关资料吧,如果没有的私我QQ837235143(注明来意“蓝桥杯资料”),我发给你相关资料,下面我将一节一节的更新,从入门到进阶!希望大家共同进步!只要能帮到大家就是我最大的愿望!(第一节:基本IO口的操作)

蓝桥杯板子如图。


  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
第一节:IO口的基本操作!
以蜂鸣器和LED灯为例。
我们这块板子使用的是有源蜂鸣器,(即蜂鸣器的两端为高低电平即可以响)根据原理图,

当蜂鸣器的N BUZZ端为低的时候,蜂鸣器中有电流通过,此时蜂鸣器响,但是根据实际操作发现,N BUZZ为高电平的时候蜂鸣器才响,低电平不响,由图中标识的箭头一步一步推回去,N BUZZ由P0^6控制(可以直接给P0口赋值),但是这个74HC573的使能端由Y5C控制,Y5C连到一个或非门,或非门由WR和Y5控制,若将WR连到GND,即J13的跳线帽连WR和GND,此时,0和任何数相或等于任何数,即该或非门变成了非门,而Y5是74HC138的输出端,由P2^7,P2^6,P2^5控制(这之间涉及到的数电知识我就不仔细讲解了,去看看数电书就知道了),即当P2=0xa0的时候,Y5=0,Y5C=1,使能端使能(你把74hc573的使能端看成一道门,只有门打开了才能传输数据),所以要想蜂鸣器响,先打开使能端,再给P0口赋值,让数据传输过来,最后关闭使能端(为了程序的严谨性,为了防止其他数据进入),程序如下图,已经通过验证。

LED灯也是大同小异:
首先根据原理图:
8个LED灯的一端连接着VCC,P0的8个IO端口控制着8个LED灯的另一端,当P0端口输出为低电平的时候,该LED灯亮,当P0输出为低电平的时候,该LED灯熄灭。我们就控制8个LED灯全部亮,以此为例。还是74hc573(主要是为了节约IO口),使能端为Y4C,同上面一样的回推,当P2=0x80的时候,使能端使能,此时再送入数据P0=0X00,所有的灯就可以亮了,不要忘记关闭使能端喔!这只是最基础的操作,其他各种酷炫叼的点灯方式就是程序的不同了,只要理解了基本原理和基本操作,其他的就都是拓展了,自己仔细想想就能写出来,程序如下图所示:(已验证)


2025-07-24 03:02:47
广告
不感兴趣
开通SVIP免广告
  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
晚上再来更新,希望各位朋友们顶起来,让更多的朋友可以看到,我写出来就是为能帮到大家!有什么问题可以评论或者留言喔,一起交流!


  • 1199580jj
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢楼主分享


  • _外卡
  • 中级粉丝
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
解释上面的一个问题,我上面说在调试蜂鸣器的时候,只有当P0口输入为0xff的时候,蜂鸣器才会响,其实这是有原因的,原理图没有错,是当N BUZZ为低电平的时候,蜂鸣器响,然而蜂鸣器是通过ULN2003连接的,具有驱动能力,且ULN2003每一路输入输出都加有一个非门,所以ULN2003的输入为高电平时,即输出为低电平时,即N BUZZ为低电平时蜂鸣器才响!这才是正确的理解。


  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
第二节:数码管的显示
关于数码管的基本知识我就不说了,什么段选(控制显示哪个数字),位选(控制哪一个数码管进行显示),段码(0-F所对应的P0口的值)的我相信大家都应该有所耳闻了,这些知识到处都可以找到,今天我就让8位数码管显示0-7,并且是流动的。首先,我们来说明一下大概思路,先消隐(也可放在给了段选后面,至于为什么要消影自己到网上去找找,一搜一大堆),然后选中某一位(即给位选),再给段选(即让这位数码管显示什么数字),然后延个时,继续给下一位的位选,段选,延时,如此循环8次,即可实现0-7的动态显示,而延时的时间给大一点,(根据人体的视觉效应来定)数码管看上去就是动态的,如果给小一些,看上去就是静止的,具体多少自己多去试试!下面是我的程序,当然程序的写法有多种,不同的人有不同的写法,根据自己的喜好来定,仅供参考,最重要的是理解!



直接发程序出来的话注释是乱码,所以截图过来让大家理解一下思路,最好自己敲一遍,看一下是什么效果,这样才能达到效果!如果觉得这种方式比较不好理解的话,还可以把位选也写成一个数组,然后用一个for循环,每次一个位选,对应着一个段选,用for里面的变量做数组变量,即像tab[i],每次段选,位选都跟着i变化,控制就在数组里面。大家也可以想想,有什么没理解的在下面留言评论或者私聊我!


  • 淘米水uog
  • 人气楷模
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
可以火前留名


2025-07-24 02:56:47
广告
不感兴趣
开通SVIP免广告
  • 铃木晓
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
码~


  • 天气好晴朗嘿
  • 活跃吧友
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主可以更新一下A/D转换跟串口之类的详细讲解嘛


  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最近有点事,回家继续更


  • 豆豆2014
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
支持楼主


  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前段时间都有事,还在学校,在做个东西,所以没时间更新,也是我自己懒,耍了一下,我还是抽时间更新,谢谢大家


  • wei4zheng
  • 吧主
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
已加精置顶


2025-07-24 02:50:47
广告
不感兴趣
开通SVIP免广告
  • 桃桃709863161
  • 核心吧友
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
本来今天晚上更新了,结果发出去的时候没网了,这就尴尬了,一下子刷新的时候什么都没了,真的无语


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 4 下一页 尾页
  • 95回复贴,共4页
  • ,跳到 页  
<<返回蓝桥杯吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示