IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 51单片机8位数码管显示学号变化 -> 正文阅读

[嵌入式]51单片机8位数码管显示学号变化

51单片机晶体管显示学号变化

学号使用 202107051234 作为演示

流水显示

效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新一轮

在这里插入图片描述
代码如下
下面展示一些 流水显示的代码

#include<reg52.h>
#include<intrins.h>
void delay(unsigned int n)//延时函数
{
    unsigned int i=0,j=0;
    for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}
void main()
{		
int i=0,t=0,j,r,a=0,shu=0;
	
while(1){
        
                r = t+a;             //r为显示的哪个
				if(r>=13){r=r-13;}   //加空白共13位
	    		P2 = dofly_WeiMa[i]; //显示
		        P0 = dofly_DuanMa[r];
				delay(3);
				i++;
				t++;
		    	if(t==8){t=0;}  //同时只能显示8个
				if(i==8){i=0;}
			
			  if(shu==300){a = a+1;if(a==13){a=0;}shu=0;}
			  shu++;
        }
}

循环显示

效果
在这里插入图片描述
在这里插入图片描述

然后开始下一轮循环

代码如下
下面展示一些 循环显示的代码

#include<reg52.h>
#include<intrins.h>
void delay(unsigned int n)//延时函数
{
    unsigned int i=0,j=0;
    for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}
void main()
{		
int i_2=0,shu_2=0,r_2,a_2=0;
	
while(1){
        
			    r_2 = i_2+a_2;
			  	P2 = dofly_WeiMa[i_2];
		        P0 = dofly_DuanMa[r_2];
				delay(3);

				i_2++;
				shu_2++;
				if(i_2==8){i_2=0;}
				if(shu_2==500){a_2=8;}      //大约显示1s后转换
				else if(shu_2==1000){a_2 = 0;shu_2 = 0;}

        }
}

顺序显示

效果如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
依次循环

代码如下
下面展示一些 顺序显示的代码

#include<reg52.h>
#include<intrins.h>
void delay(unsigned int n)//延时函数
{
    unsigned int i=0,j=0;
    for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}
void main()
{		
int i_3 = 0;
	
while(1){
        
			  	P2 = dofly_WeiMa[0];
		        P0 = dofly_DuanMa[i_3];
				delay(300)  ;
			  	i_3++;
				if(i_3==13){i_3=0;}

        }
}

protues用仿真实现

仿真图如下
左边很多器件没有体现是因为此仿真图有部分与本次无关的期间没有显示
左边很多器件没有体现是因为与次实验无关

//整体代码

#include<reg52.h>
#include<intrins.h>

typedef unsigned char uchar;
typedef unsigned int uint;
unsigned char code dofly_DuanMa[]={0x5b,0x3f,0x5b,0x06,0x3f,0x07,0x3f,0x6d,0x06,0x5b,0x4f,0x66,0x00,0x00,0x00,0x00};	   // 显示段码值202107041234

unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};					//分别对应相应的数码管点亮,即位码
sbit key1 = P3^2;  
sbit key2 = P3^3; 
sbit key3 = P3^7; 

void delay(unsigned int n)
{
    unsigned int i=0,j=0;
    for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}
uint x = 3;	//判断显示方式
void main()
{
int i=0,t=0,j,r,a=0,shu=0;
int i_2=0,shu_2=0,r_2,a_2=0;
int i_3 = 0;


	    IE = 0X85;	
		IT0 = 1;
		IT1 = 1;

while(1){	
			if(key3==0){x=3;}      //若顺序显示按下,则按照顺序显示

			if(x==0){			   //流水显示
              
			    r = t+a;
				if(r>=13){r=r-13;}
	    		P2 = dofly_WeiMa[i];
		        P0 = dofly_DuanMa[r];
				delay(3);
				i++;
				t++;
		    	if(t==8){t=0;}
				if(i==8){i=0;}
			
			  if(shu==300){a = a+1;if(a==13){a=0;}shu=0;}
			  shu++;

			  i_2=0;shu_2=0;a_2=0;   //若进入循环显示则重新显示
			  }


			  else if(x==1)			 //循环显示
			  {
			    r_2 = i_2+a_2;
			  	P2 = dofly_WeiMa[i_2];
		        P0 = dofly_DuanMa[r_2];
				delay(3);

				i_2++;
				shu_2++;
				if(i_2==8){i_2=0;}
				if(shu_2==500){a_2=8;}
				else if(shu_2==1000){a_2 = 0;shu_2 = 0;}

				i=0;t=0;a=0;shu=0;
			  
			  }
			  

			  else{
			  
			  	P2 = dofly_WeiMa[0];
		        P0 = dofly_DuanMa[i_3];
				delay(300)  ;
			  	i_3++;
				if(i_3==13){i_3=0;}
			  
			  	i_2=0;shu_2=0;a_2=0;
				i=0;t=0;a=0;shu=0;
			  }



		 }
}

void EX0_INT(void) interrupt 0	//中断 流水显示
{
x=0;	  
}
void EX1_INT(void) interrupt 2  //中断 循环显示
{
 x=1;
}
	  
	  

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-07 00:04:22  更:2021-07-07 00:05:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 20:56:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码