首页 > 其他分享 >学习C51单片机——动态数码管显示(学习笔记Keil5)

学习C51单片机——动态数码管显示(学习笔记Keil5)

时间:2024-03-13 09:31:05浏览次数:41  
标签:P2 P0 C51 单片机 0x00 weizhi 数码管 Delay100ms

学习C51单片机——动态数码管显示(学习笔记Keil5)

文章目录

1、延时函数

延时100ms

void Delay100ms(void)	//@12.000MHz
{
	unsigned char data i, j;

	i = 195;
	j = 138;
	do
	{
		while (--j);
	} while (--i);
}

2、数码管动态显示

按顺序在8个数码管上显示0到7

#include <REGX52.H>
#include <INTRINS.H>   //此文件中定义了_nop_语句

void Delay100ms(void)	//@12.000MHz
{
	unsigned char data i, j;

	i = 195;
	j = 138;
	do
	{
		while (--j);
	} while (--i);
}

unsigned char shuzi[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//数码管段码表,显示数字0~9
void weizhi(unsigned char i,number)
{
	switch(i)//位选
	{
		case 1:P2_4=1;P2_3=1;P2_2=1;
		break;
		case 2:P2_4=1;P2_3=1;P2_2=0;
		break;
		case 3:P2_4=1;P2_3=0;P2_2=1;
		break;
		case 4:P2_4=1;P2_3=0;P2_2=0;
		break;
		case 5:P2_4=0;P2_3=1;P2_2=1;
		break;
		case 6:P2_4=0;P2_3=1;P2_2=0;
		break;
		case 7:P2_4=0;P2_3=0;P2_2=1;
		break;
		case 8:P2_4=0;P2_3=0;P2_2=0;
		break;
	}
	P0=shuzi[number];	//段选
}
void main()
{
	while(1)
	{
		weizhi(1,0);	//在数码管的第1位置显示0
		Delay100ms();
		P0=0x00;
		weizhi(2,1);	//在数码管的第2位置显示1
		Delay100ms();
		P0=0x00;
		weizhi(3,2);	//在数码管的第3位置显示2
		Delay100ms();
		P0=0x00;
		weizhi(4,3);	//在数码管的第4位置显示3
		Delay100ms();
		P0=0x00;
		weizhi(5,4);	//在数码管的第5位置显示4
		Delay100ms();
		P0=0x00;
		weizhi(6,5);	//在数码管的第6位置显示5
		Delay100ms();
		P0=0x00;
		weizhi(7,6);	//在数码管的第7位置显示6
		Delay100ms();
		P0=0x00;
		weizhi(8,7);	//在数码管的第8位置显示7
		Delay100ms();
		P0=0x00;
	}
}

标签:P2,P0,C51,单片机,0x00,weizhi,数码管,Delay100ms
From: https://blog.csdn.net/CloudJiuCi/article/details/136670120

相关文章

  • 基于单片机的定时温控系统的设计
    摘 要在集成电路技术越来越成熟的情况下单片机的发展也有了翻天覆地的变化。单片机制造初期,需要的成本十分高昂,并且制作工序也是相当的繁杂。但是伴随时间的推移,电子技术经过不断革新,才使今天的单片机性价比变得更高,功能更强。如果这个系统还具有定时功能,它可以解决实际应用......
  • 基于STM32F103C8T6单片机学习(江科大版本)
    学习内容1:用库函数来控制IO输出控制LED闪烁,LED流水灯,蜂鸣器主要用到GPIO_unit()函数配置GPIO口和RCC外设时钟控制函数,GPIO的写函数,setbitsresitbits,write等函数 1.led闪烁1.文件配置LED闪烁硬件电路图​​​​​ 首先打开文件管理器,在STM32>工程项目文件......
  • VK1650是LED数显/数码管显示驱动控制电路(IC),8*4共阴/4*8共阳
    概述VK1650是一种带键盘扫描电路接口的LED驱动控制专用芯片,内部集成有数据锁存器、LED驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持8SEGx4GRID的点阵LED显示。最大支持7x4按键。本芯片性能稳定质量可靠,抗干扰能力强,适用于24小时长期连续工作的引用场合。采用S......
  • 转载:用示波器对单片机I2C时序进行图形波形分析的试验小结
    对于嵌入式开发的朋友来说,I2C协议实在是再熟悉不过了,有太多的器件,采用的都是通过I2C来进行相应的设置。今天,我们就随便聊聊这个I2C协议。I2C协议中最重要的一点是I2C地址。这个地址有7位和10位两种形式。7位能够表示127个地址,而在实际使用中基本上不会挂载如此多的设置,所以很多......
  • DSP笔记[2]-数码管显示英文字母及在flash上运行
    摘要在TMS320F28335开发板上实现8位数码管显示英文字母及烧录程序到Flash中断电程序不丢失;矩阵键盘扫描,实现按键1清零,按键2累加,按键3显示字母,按键4显示数字,按键5开关LED灯;LED流水灯.关键信息系统:macOS13.5(AppleSiliconM2)(烧录)系统:windows11(arm64)(编译)......
  • DSP笔记[1]-烧录.out文件测试数码管
    摘要使用CCS连接XDS110调试器烧录.out文件到TMS320F28335DSP芯片测试开发板数码管.关键信息系统:macOS13.5(AppleSiliconM2)开发环境:CodeComposerStudio(CCS)12.4.0.00007TMS320F28335核心:C2000(C28x)开发板:普中PZ-DSP28335-L原理简介CodeComposerStudio(CC......
  • FPGA数码管知识点整理
    知识点:  数码管控制分为位选和段选,通过位控制哪一个数码管亮,通过段选控制数码管中某一段亮。  我硬件买的上面的是共阳极的,也就是段选位给低电平就能亮。  下面是段选的位控制要显示的数据。比如数字0只要让G位灭掉就行,通过给段选8'h1100_0000 (共阳极),将g和点灭掉就是0......
  • 单片机开发中pc和sp的作用
    概念两个都是寄存器pc(programcounter)程序计数器SP(stackpointer)堆栈指针原理pc存放下一条指令的寄存器,cpu从内存中拿指令,寄存器是属于cpu的一部分,不属于内存sp堆栈指针,本质是寄存器,指向堆栈的顶部,爬论坛:https://www.cnblogs.com/uestcliming666/p/11488782.html假设......
  • 国信长天51数码管动态显示消隐
    for(i=0;i<4;i++){ P0=Seg_Wei[i];HC573(6);P0=Seg_Duan[i+1];HC573(7);delayMs(1000); //设1s相当于几个数码管1秒轮播:挨着亮流水灯一样显示//所以如果想动态显示就要利用"视觉效应"吧时间设短点......
  • 8*4点LED数显驱动IC/LED数码管显示驱动控制电路(芯片)-VK1650 可驱动32点的数显屏,与市
    产品品牌:永嘉微电/VINKA产品型号:VK1650封装形式:SOP16产品年份:新年份 概述:VK1650是一种带键盘扫描电路接口的LED驱动控制专用芯片,内部集成有数据锁存器、LED驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持8SEGx4GRID的点阵LED显示。最大支持7x4按键。本芯片性......