登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] C51单片机第2课—硬件基础知识学习(2)

[复制链接]
发表于 2023-1-6 22:04:26 | 显示全部楼层 |阅读模式
学习笔记
学习科目: C51单片机第2课—硬件基础知识学习(2)
学习安排: 一:74HC138基本内容
二:LEDS6控制开关代码补充
三:74HC245和74HC138对LED小灯的控制总结
开始时间: 2023-01-06
结束时间: 2023-01-06
本帖最后由 电气合2201袁驰 于 2023-1-6 22:08 编辑

                                 C51单片机第2课—硬件基础知识学习(2主要内容:
一:74HC138基本内容
二:LEDS6控制开关代码补充
三:74HC245和74HC138对LED小灯的控制总结





一:74HC138基本内容


我们知道,现学的51单片机有32个IO口可供我们使用。那么,当我们需要更多的IO口控制更多的电子器件时,除了可以更换单片机以外,我们还可以在IO口处外加扩展。比如:数字扩展芯片,74HC138就是常见的一种数字芯片。


屏幕截图_20230106_203750.png                                                    FBBBC00DBDE6D27C176137154E808C20.jpg


                    74HC138原理图                                                                                                        手画的74HC138原理图


1—6为输入pin   Y0—Y7为输出pin  
(注意:上面画一条横线代表是负逻辑,也就是低电平有效。关于电源电路及电容的作用参考上一个帖子)


二:LEDS6控制开关代码补充


第一个帖子中,我们在最后的代码中补充了好几行代码,这里可以解释一下了。
首先,我们看上面的第一个图。ENLED直接接到了P1^4引脚。而ADDR0—ADDR3是通过跳线帽接到了P1^0—P1^3引脚上。
这就是我们在代码开头用sbit所定义的位置
因为我们的板子上P1^0也可能接有其他元器件,所以我们使用了跳线帽。
这里补充一点跳线帽知识:

屏幕截图_20230106_211317.png 用插针将ADDR0和P1^0连接。R1,R2,R3,也是如此。


我们还知道,74HC138又叫做三八译码器(即用三种状态引出八种结果)

数据手册:

屏幕截图_20230106_211855.png     1—6为输入pin   Y0—Y7为输出pin  


屏幕截图_20230106_212011.png                                                             屏幕截图_20230106_212019.png

根据我们第一个帖子中,我们要点亮一个LED小灯,我们就需要LEDS6输入一个低电以使三极管导通。那么根据上面第三个图我们知道,当CBA输入110时,Y0—Y7所对应的状态中,Y6是0(低电平)
因此,我们在我们就可以知道:ADDR0是0  ADDR1是1  ADDR2是1  ADDR3是1(因为ADDR3连接6号G1要求高电平有效)ENLED是(0)


这就是第一个帖子我们所加的代码的原因


BC194F0047ACAF4B8D111CB5F7CC5A59.jpg                                                              屏幕截图_20230106_214351.png
                         代码笔记                                                                                                            代码


变量i别忘了要在前面定义


三:74HC245和74HC138对LED小灯的控制总结


我们在这节课学习了74HC138的基本内容及使用原理,成功的使得LEDS6处输出一个低电平,从而使得三极管导通。结合上个帖子对74HC245的学习,我们的代码就完成了。因为P0的RST值是全高的,因此B1—B7处全部是高电平,而代码中我们定义了P0^0=0;这样最终的结果就是八个LED小灯只有第一个会间断闪烁(因加有for语句,下个帖子再说)。




总结:结合上一个帖子对几个硬件器件的学习,我们完成了对LED小灯的闪烁任务。
          因为部内开发板我还不是很熟悉,过两天我会将LED小灯闪烁拍成视频单独
          发一个帖子。
最后,感谢各位小伙伴的观看。











好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表