STC15学习笔记 第一章 流水灯与数码管

这篇博客介绍了在STC15W4K56S4单片机上实现流水灯和数码管显示的详细过程。首先讲解了流水灯的硬件设计,包括573锁存器、74HC02逻辑门和138译码器的工作原理。接着阐述了数码管的硬件设计,涉及位码和段码显示的概念。最后,博主分享了代码设计,涵盖了I/O口配置和数码管显示的数值编码。
摘要由CSDN通过智能技术生成

一、流水灯

实验用开发板型号:STC15W4K56S4

1.1硬件设计

在这里插入图片描述
由原理可知,LED采用共阴极接法,给高电平LED亮。(LED 共阴极指的是LED共同的接点是GND(接地),而共阳极指的是LED共同的接点是电源,共阳极给低电平LED点亮。LED亮灯的条件是两端有电势差。)
<1>控制LED亮灭需要控制573锁存器,开启573锁存器,使能端口Y3要给高电平1。
Y3端口由74HC02控制,如下图所示。
在这里插入图片描述
74HC02原理:
在这里插入图片描述
74HC02芯片内部是一个或非门,如下图所示:
在这里插入图片描述
或非门原理:
例如上图Y7给高电平1,WR给低电平0,经过逻辑运算或非,1或0 = 1,非就是0,Y7C就是0。74HC02就是经过了一个或非逻辑运算(WR一般在硬件端实现)。
<2>原理图如下图所示可看出Y3的输出和CS与1Y2有关,CS与硬件跳帽连接有关,1Y2连接138译码器。
在这里插入图片描述
138译码器简单介绍

由该原理图可知:
138译码器由端口P0.0~P0.2控制,例如:P0.0 --P0.1–P0.2对应000,端口Y0输出0;P0.0 --P0.1–P0.2对应001,端口Y1输出0;P0.0 --P0.1–P0.2对应010,端口Y2输出0。原理就是控制端口的二进制编码对应输出十进制端口的低电平。
138译码器真值表:
在这里插入图片描述

1.2硬件流程

在这里插入图片描述

1.控制LED灯就要打开使能端口Y3 = 1;
2.使能端口Y3 = 1那么CS = 0,1Y2 = 0,经过或非以后才为1;
3.控制端口P0.0–P0.1–P0.2 = 0–1–1,使138译码器Y3口即1Y2输出0;
4.所以P0的端口控制为P0 = 0x06
所以要打开硬件流程就是:
在这里插入图片描述

1.3代码设计

例:依次点亮LED灯再依次熄灭LED灯

/*****
STC15单片机开发系统演示程序        
依次点亮LED灯再依次熄灭LED灯   
MCU:STC15W4K56S4 ,晶体频率:22.1184MHz                           
****/
#include <stc15.h>  
  
void Delay(unsigned char t)       //@22.1184MHz延时1ms  
{
     
   while(t)
   {
   
   		unsigned char i, j;
		_nop_();
		_nop_();
		i = 22;
		j = 128;
		do
		{
   
			while (--j);
		} while (--i); 
		t--;
	} 
}  
  
void main()  
{
     
    
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STC15W408和STC8G是两款不同的单片机芯片,其中STC15W408是STC公司生产的51系列单片机,而STC8G则是STC公司生产的STC8系列单片机。虽然两者在架构和功能上有一些相似之处,但在硬件设计和软件编程上存在一些差异。 如果要将STC15W408的代码移植到STC8G上,首先需要了解两个芯片的主要特点和差异。由于字数限制,我只能简要列举一些主要差异,详细的移植步骤可能需要更多的解释。 首先,STC15W408和STC8G在IO口数量和功能上可能存在差异。如果使用的IO口在两个芯片上是不兼容的,那么需要对硬件进行调整,以适配STC8G芯片。 其次,STC15W408和STC8G的内存大小和布局也可能不一样。如果STC15W408的程序超出了STC8G的内存容量,那么需要对代码进行优化或者修改,以适应STC8G芯片的内存限制。 此外,STC15W408和STC8G的指令集和外设也有一些差异。在移植代码时,需要对不兼容的指令进行替换或修改,以确保代码的正确运行。 最后,还需要注意STC15W408和STC8G的时钟和时钟配置。这是因为两个芯片的时钟特性和时钟源选择可能不同,需要根据STC8G芯片的要求进行调整。 在移植代码之前,建议仔细阅读STC15W408和STC8G的相关资料和技术手册,了解两者的差异和要求。此外,也建议在移植过程中参考其他相关的移植经验和代码示例,以便更好地完成移植任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值