基于STM32单片机的计数器带二进制显示仿真

仿真图:

在这里插入图片描述

芯片/模块的特点:

74LS244简介:
74LS244是一种集成电路,属于TTL逻辑系列。它是一个八位无反相三态缓冲器/驱动器,常用于数据和地址线的放大、缓冲和驱动。

74LS244具有8个数据输入端(A0-A7)和8个对应的数据输出端(Y0-Y7)。它还有两个使能输入端,分别是G(双使能器输入端)和 OE ‾ \overline{\text{OE}} OE(输出使能输入端),用于控制输入与输出之间的连接。

当使能输入端G和输出使能输入端 OE ‾ \overline{\text{OE}} OE均为高电平时,74LS244的输出端会将输入端的数据进行缓冲和放大,在输出端提供与输入端相同的逻辑电平,并具有较高的驱动能力。

当任意一个使能输入端为低电平时,74LS244的输出端处于高阻态(即三态),即使输入端有信号,输出端也不会给出电平输出,避免了数据冲突和电平竞争。

74LS244的主要特点包括:

快速响应时间:74LS244采用TTL技术,具有快速的输入输出响应时间,适用于高速数据传输和信号处理。

较高驱动能力:74LS244具有较高的输出驱动能力,可以驱动较长的总线线路以及多个负载。

三态输出:74LS244支持三态输出,能够在需要时将输出端置于高阻态,避免电平冲突和竞争。

宽工作电压范围:74LS244的工作电压范围通常为4.75V至5.25V,适用于大多数TTL逻辑电路的工作。

主程序:

#include "stm32f10x.h"
#include "Delay.h"
#include "smg.h"
#include "sys.h"
#include "timer.h"
#include "led.h"
#include "fmq.h"
#include "key.h"
#include "stm32f10x_tim.h"
uint16_t table[] = {
/*   0,    1,    2,    3,    4,     5,   6,    7,    8,     */  

0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,   

/*   9,    A,    B,    C,    D,    E,    F,    .,  none    */  

0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x80, 0x00  

};
uint16_t t;
uint16_t  num[3],inc = 0x00;
int main(void)
{
 	SMG_Init();
	GPIO_Write(GPIOA, 0x3f3f);
	GPIO_Write(GPIOB, 0xff3f);
	while (1)
	{
		t=KEY_Scan_KEY_INC();		//得到键值
	  if(t)   //if(条件)t!=0真
		{
			 inc++;
			 if(inc <= 0xff)
			 {
				  num[2]=inc%10;
				  num[1]=inc/10%10;
				  num[0]=inc/100;
					GPIO_Write(GPIOB,((~inc) <<8) + table[num[2]]);
					GPIO_Write(GPIOA,(table[num[1]] <<8) + table[num[0]]);
			 }
			 else
			 {
				 inc = 0xff;
			 }
		}
	}
}

设计文件:

链接:https://pan.baidu.com/s/1Oeg8-SZUQa2_7wmL4rI1TQ?pwd=q9ml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值