【蓝桥杯单片机笔记2】数码管静态&动态显示

本文档详细介绍了使用51单片机通过HC138译码器实现静态和动态显示SMG_Duan字符矩阵的方法。静态显示部分展示了如何逐位设置矩阵元素,而动态显示则演示了周期性地切换字符,如2022年动态显示。涉及到了定时延时、HC138选择器和P0口的控制。

内容来自小蜜蜂老师~

静态显示

题目要求:

代码

#include"reg52.h"

unsigned char code SMG_Duan[] = {0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

void Delay(unsigned int t)
{
  while(t--);
  while(t--);
}

void HC138(unsigned char n)
{
  switch(n)
  {
  	case 4:P2=(P2&0x1f)|0x80;break;
   	case 5:P2=(P2&0x1f)|0xa0;break;
	case 6:P2=(P2&0x1f)|0xc0;break;
	case 7:P2=(P2&0x1f)|0xe0;break;
   }
}

void SMG_bit(unsigned char pos,unsigned char dat)
{
   HC138(6);
   P0=0x01<<pos;
   HC138(7);
   P0=dat;
}

void SMG_static()
{
   unsigned i=0,j=0;
   for(i=0;i<8;i++)
   {
	  for(j=0;j<10;j++)
	  {
   		SMG_bit(i,SMG_Duan[j]);
		Delay(600);
		Delay(600);
	   }
	}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值