实验题目:使用51单片机实现动态数码管显示自己8位学号,例如20220018

在此原理图又分两种连接方式:

第一种是8位数码管接38译码器来减少端口使用。

第二种是,没有端口要求接好就可以那就是,把位选端接P3口,段选端接P0口,这样占用端口多,一般实验都是使用第一种接个38译码器。

所以我这里就拿第一种情况原理图写:

实验程序:

#include <REGX52.H>//共阴数码管段码表0-9
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};void Delay(unsigned int xms)  //延时子函数
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}//数码管显示子函数
void Nixie(unsigned char Location,Number)
//定义两个无符号字符型变量,location代表数码管的位置,number代表数码管显示的数字,Nixie是子函数名字;
{switch(Location)       //位码输出{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=NixieTable[Number]; //段码输出Delay(1);             //显示一段时间,延时1ms,消影,太长会闪烁太短会重影P0=0x00;             //段码清0,消影
}void main()
{while(1){Nixie(1,8);       //在数码管的第1位置显示2Nixie(2,1);       //在数码管的第2位置显示0Nixie(3,0);       //在数码管的第3位置显示2Nixie(4,0);       //在数码管的第4位置显示2Nixie(5,2);       //在数码管的第5位置显示0Nixie(6,2);       //在数码管的第6位置显示0Nixie(7,0);       //在数码管的第7位置显示1Nixie(8,2);       //在数码管的第8位置显示8//他这个数码管位置是从右往左数,所以第一位是最右边的第一个。显示20220018}
}

原理图:

51单片机动态数码管显示自己学号相关推荐

  1. 51单片机 动态数码管显示

    本章博客写的内容主要围绕动态数码管显示,动态数码管显示与静态数码管显示比较稍有变化,主要在添加延时函数这点上 1.首先将上一章节使用子函数方法的代码复制过来 将Nixie( , )移到下方while循 ...

  2. 51单片机动态数码管显示时间+protues仿真

    项目场景: 纯小白 第一次写文章 写的不好请见谅 做51单片机数码管显示时间实验的时候protues 仿真出现了问题 问题描述 做51单片机数码管显示时间实验的时候protues 仿真出现了问题 仿真 ...

  3. 51单片机动态数码管显示

    1.数码管介绍 LED数码管:数码管是一种简单.廉价的显示器,是由多个发光二极管封装在一起组成"8"字型的器件 2.位选 选第几位显示,G1,G2A,G2B为使能端,有效就工作.图 ...

  4. 51单片机实现数码管显示小数

    51单片机实现数码管显示小数 要求 1 Proteus 面向编程的模型搭建 2 代码实现 2.1. 实现数码管刷新 2.2 对小数进行分解的函数 3 测试用例 4 仿真结果 要求 要求1:根据整数部分 ...

  5. 51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真

    51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真 本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去. 本案例需要使 ...

  6. Proteus:单片机动态数码管显示“HELLO”模拟

    题目概述: 单片机动态数码管显示"HELLO". 编程: #include <reg51.h> #define uchar unsigned char #define ...

  7. 51单片机七段数码管显示时钟无按键控制—①—74HC595版

    参考链接: 51单片机七段数码管显示时钟加按键控制-③-74HC595版 51单片机七段数码管显示时钟加按键控制-②-74HC595版 文章目录 一.实验内容: 二.实验分析: 三.仿真图: 四.源代 ...

  8. 51单片机——动态数码管实验,小白讲解,相互学习

    多位数码管介绍: 多位数码管,即两个或两个以上单个数码管并列集中在一起形成一体的数码管.当多位一体时,他们内部的公共端是独立的,二负责显示什么数字的段线(a-dp)全部是连接在一起的,独立的公共端可以 ...

  9. 51单片机 | 动态数码管实验

    文章目录 一.数码管介绍 1.多位数码管简介 2.数码管动态显示原理 二.74HC245和74HC138芯片介绍 1.74HC245 芯片简介 2.74HC138 芯片简介 三.硬件设计 四.软件设计 ...

最新文章

  1. RedHat下建立群集
  2. VOA,with me
  3. c# mongodb or查询_C# 查询MongoDB中的数据
  4. java------线程同步方法
  5. statistics_level参数的介绍
  6. lede更改软件源_Linux的上传和下载——Ubuntu中软件的安装和ftp服务器的搭建
  7. TypeError: Object of type ‘datetime‘ is not JSON serializable
  8. Android逆向笔记-某水果大作战内购破解思路
  9. python核心理念_《三天搞定Python基础概念之第一天》中文版
  10. Python关键点常识
  11. 设置布局默认为LinearLayout,却成了RelativeLayout
  12. oracle 后台执行sql,后台执行oracle sql脚本
  13. 大数据案例之OD线分析
  14. CasperJS 实现百度登录
  15. python绘制世界人口地图
  16. [转载]dilated conv带孔卷积、pooling层提高感受野 反卷积 的理解
  17. 别人笑我太疯癫 唐伯虎诗词集
  18. FastReport打印标签
  19. 电脑 桌面图标上多了一个白色的文档图标 怎么去掉?
  20. eclipse的简介

热门文章

  1. 第五章——认识媒体:为你的页面增加图像
  2. chrome浏览器自定义安装方法
  3. Elasticsearch:Dynamic templates
  4. 亚马逊测评常用自养号环境揭秘
  5. 第五届硬见开发者论坛,邀您共话智能汽车硬核技术
  6. Python变量、输出和运算符
  7. JSON Schema 简介
  8. 访问控制/越权漏洞 -- 学习笔记
  9. easyexcel 设置超链接或附件地址
  10. 中南大学计算机学院刘晴,杨迎泽 - 中南大学 - 计算机学院