首页 > 其他分享 >2、51单片机实现数码管的数值显示

2、51单片机实现数码管的数值显示

时间:2024-11-07 17:29:59浏览次数:4  
标签:count u8 单片机 void 51 数码管 while digital

2.1、实验目的

8位共阴数码管显示8位以内的数字

2.2、实验环境

普中51开发板(stc89c52、74HC245、74HC138、8位共阴数码管)

2.3、实验代码

#include<reg52.h>	  			
#include<intrins.h>	  				
typedef unsigned char u8;	 
typedef unsigned int u16;
static u8 digital_buffer[8];
static u8 digital_code[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay1ms(u8 count){			
	int i,j;
	while(count>0){
		count=count-1;
		_nop_();
		i=2;
		j=199;
		do{
			while(--j);
		}while(--i);
	}
}

void DigitalTube_Single(u16 dig,u16 dat){

   	P0 =  0x00;
    P2 = P2 | 0xc7;
    dat = dig << 3;
    P2 = P2 | dat;
    P0 = dat;

}

void DigitalTube_Flush(){
	u8 i = 0;
	for(i;i<8;i++){
		 DigitalTube_Single(i,digital_buffer[i]);
		 delay1ms(10);
	}
}

void DigitalTube_Num(u16 num){
	
	u8 i=0;
	for(i;i<8;i++){
		digital_buffer[i] = 0x00;
	}
	i=7;
	while(num>0){
		digital_buffer[i] = digital_code[num%10];
		num = num / 10;
		i = i - 1;
	}
}

void main(){
	DigitalTube_Num();
	while(1){
		DigitalTube_Flush();		   
	}
}

标签:count,u8,单片机,void,51,数码管,while,digital
From: https://www.cnblogs.com/keeepfool/p/18533652

相关文章

  • 单片机 键盘显示实验 实验二
    实验二   键盘显示实验实验准备:软件KeiluVision5、Proteus8Professional实验目的1、掌握矩阵键盘检测的原理和方法;2、掌握按键消抖的方法;3、再次熟悉数码管的显示。实验任务从4×4矩阵键盘输入4位字符(如“15EF”),并显示于4位数码管。实验原理在键盘中按键......
  • 51_api_intro_stock_fund_historyminute
    场内交易基金分时行情API数据接口实时分时交易数据,分钟级交易数据,多时间段区间。1.产品功能支持所有EFT基金分时交易数据查询;支持1、5、15、30、60分钟交易区间,注意:只返回近期的交易数据;参数支持获取历史数据;毫秒级查询性能;数据持续更新与维护;全接口支持HTTPS......
  • TBTA是一种配体标记蛋白质和酶|cas:510758-28-8
    TBTA(Tris[(1-benzyl-1H-1,2,3-triazol-4-yl)methyl]amine,三[(1-苄基-1H-1,2,3-三唑-4-基)甲基]胺)是一种化学物质,主要用于科研领域的点击化学(ClickChemistry)反应,特别是铜催化的叠氮-炔环加成反应(CuAAC)。以下是对TBTA的详细介绍:一、基本信息CAS号:510758-28-8分子式:C30H30N10分......
  • 洛谷P3516 [POI2011] PRZ-Shift
    题意Link有一个排列\(a\),你可以执行两种操作:A:将最后一个数移到最前面B:将第三个数移到最前面构造一组操作序列将其变为递增排列,输出形如5a2b...表示执行\(5\)次A操作再执行\(2\)次B操作。思路很有意思的构造。仔细思考,操作A使我们能将原排列变为它的任何一......
  • 基于Arduino的数码管显示变阻器模拟量读取值
    题目要求采集变阻器模拟量信号在数码管中显示,要求有二位小数电路连接数码管连接:数码管的七个段(a-g)分别连接到Arduino的引脚2到8。数码管的小数点(dp)连接到Arduino的引脚9。数码管的4个控制引脚连接到Arduino的引脚10到11。变阻器连接:变阻器的模拟输出引脚连接到Arduin......
  • 【51蛋骗鸡16路电子开关编程CD4067使用switch】2021-12-27
    缘由关于单片机矩阵键盘控制16路led-24小时必答区矩阵键值必须配合硬件对应,若矩阵接法不同则键值也不同,取键值可以直接调用矩阵扫描函数,按下按键后看P2输出Q0对应计算器最末位Q7对应第八位,并可发送一个值到P2验证.CD4067为十六路模拟开关,其内部包括一个16选1的译码器和......
  • Proteus中数码管动态扫描显示不全(已解决)
    前言我是直接把以前写的51数码管程序复制过来的,当时看的郭天祥的视频,先送段选,消隐后送位选,最后来个1ms的延时。代码在Proteus中数码管静态是可以的,动态显示出了问题——显示不全,我在网上搜的说是Proteus的Bug,需要先送位选再送段选,我试了试也不行。最后在我多次实验下......
  • 海康私有化视频平台EasyCVR私有化部署视频平台支持国密35114协议有哪些关键加密技术?
    随着信息技术的飞速发展,视频监控系统在保障公共安全和提升管理效率方面扮演着越来越重要的角色。然而,视频数据的安全问题也日益凸显,如何确保视频数据的安全性、完整性和真实性成为了一个迫切需要解决的问题。海康私有化视频平台EasyCVR作为一款支持私有化部署的视频平台,其对国密......
  • ssm051网上医院预约挂号系统+jsp(论文+源码)_kaic
      本科毕业设计论文题目:网上医院预约挂号系统设计与实现系   别:XX系(全称)专    业:软件工程班   级:软件工程15201学生姓名:学生学号:指导教师:导师1       导师22021年5月摘  要如今的信息时代,对信息的共享性,信息......
  • 100种算法【Python版】第51篇——希尔排序
    本文目录1算法步骤2算法示例3python代码3.1代码说明3.2复杂度分析4算法优化4.1Shell原始增量序列4.2Hibbard增量序列4.3Knuth增量序列4.4Sedgewick增量序列4.5Tokuda增量序列4.6Pratt增量序列5不同的增量序列的效率对比希尔......