C51单片机实验——7段数码管实验

单片机实验八、数码管实验 目录一.实验目的:二.实验内容:三.实验步骤:四.实验程序五、实验结果六、实验小结1.掌握51单片机前后台程序结构及编程方法;2.了解数码管段码和位码的控制。通过手动按键K3,使得数码管0位从“0”-“f”显示通过手动按键K4,使得数码管1位从“0”-“f”显示1.理解共阴极数码管工作原理。2.理解3-8译码器工作原理.3.查询按键小兜并使得内存单元加1。4.依次显示数码管0,1位上变化的数据。 五、实验结果 红外线对数码管有影响,红外源从数码管旁经过一次,即使没有按键,数码管的数值也会加一 阅读详情

实验二 7段数码管实验报告

实验名称:7段数码管实验

实验环境:普中实验系统;Keil μVision 4软件;

实验目的:

(1)掌握7段数码管和单片机的接口方法以及7段数码管的显示原理。

(2)制作自己的实验方案通过程序设计,控制实验箱上7段数码管,显示出设计方案的结果。

硬件连线:
P2口作为输出口连接数码管模块
P0口输出段码,P2口输出扫描的位控码,通过由8个NPN晶体管的位驱动电路对8个数码管位控扫描
实验主要代码:
/*****************

  • 动态数码管显示实验 *
    实现现象:下载程序后数码管从右至左显示0-7。
    注意事项:如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。
    ******************/
#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;


u8 code smgduan[8]={0x31,0x77,0x79,0x6e,0x06,0x5b,0x3f,0x06};//显示0~F的值
u8 code smgduan1[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
					0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
/*******************
* 函 数 名         : delay
* 函数功能		   : 延时函数,i=1时,大约延时10us
************************/
void delay(u16 i)
{
	while(i--);	
}

/***********
* 函 数 名         : DigDisplay
* 函数功能		   : 数码管动态扫描函数,循环扫描8个数码管显示
**************/
void DigDisplay()
{	
	u8 i;
	for(i=0;i<8;i++)
	{
		switch(i)	 //位选,选择点亮的数码管,
		{
			case(0):
				LSA=0;LSB=0;LSC=0;//显示第0位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
			case(1):
				LSA=1;LSB=0;LSC=0;//显示第1位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
			case(2):
				LSA=0;LSB=1;LSC=0; //显示第2位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
			case(3):
				LSA=1;LSB=1;LSC=0;//显示第3位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
			case(4):
				LSA=0;LSB=0;LSC=1; //显示第4位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
			case(5):
				LSA=1;LSB=0;LSC=1; //显示第5位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
			case(6):
				LSA=0;LSB=1;LSC=1; //显示第6位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
			case(7):
				LSA=1;LSB=1;LSC=1;//显示第7位
				for(i=0;i<8;i++){
					p0=smgduan1[i];delay(10000);
				}
				p0=smgduan[i];
		}
		delay(10000); //间隔一段时间扫描	
		P0=0x00;//消隐
	}
}
/**********
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*************/
void main()
{	
	while(1)
	{	
		DigDisplay();  //数码管显示函数	
	}		
}

实验结果与心得:
实验结果:从右至左每位数码管滚动显示16个字样0~F一遍,然后每位保持在各自的8个预设字样之一,从左至右依次显示2021year字样,且最后各个位在2021year的字样持续一段时间。
实验心得:此次实验将我所学习的理论应用到实践当中
1.应用数码管模块进行动态显示,动态显示是指在动态显示系统中,微处理器要定时地向各个显示器进行扫描,只要扫描速率足够快,由于视觉暂留现象就会给人以恒定显示的表现。
2.程序段中用到循环结构控制语句switch-case语句并嵌套for循环语句。
3.如要在数码管显示某字符,只需将该字符字型码加到各段上即可

普中科技51单片机-单核-A2开发板实现简易计算器功能(矩阵键盘操作+数码管显示) 通过普中科技51-单核-A2型号单片机模拟计算器进行1e8以内正数的加减乘除运算,若计算结果为负数会在数码管上显示“EEEEEEE”表示数据错误 阅读详情

相关推荐

实验 键盘与LED实验

实验 键盘与LED实验 一、实验要求 P0口接7段LED数码管,P1口接8个独立按钮,分别控制数码管显示数字0-7,画出原理电路图,编写驱动程序。 二、实验目的 1、熟练keil软件的基本操作; 2、掌握80c51单片机p1口的使用方法; 3、学习汇编程序的调试及仿真方法。 三、实验步骤 1.首先将需要使用到的软件进行打开; 2.在ISIS中找到需要的并且是符合条件要求的元器件; 3.将元器件摆放在合适的位置,要有一定的美观; 4.将各元器件用线进行连接起来; 5.编写C51驱动程序文件; #inclu

qq_45180475的博客 6530

数码管使用

数码管(Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。数码管原理图:数码管共阴极接法:数码管共阳极接法:数码管中有位选和段选,位选就是选择哪个数码管,段选就是被选择的数码管要显示什么数字!...

liudongdong_jlu 2842

51单片机(八)—— 数码管电路介绍

在51单片机关于数码管的实验电路中,采用的硬件是一个八位八段共阴极数码管,通过两个锁存器74HC573来控制。数码管电路的原理图如下图所示。 所谓“八位”指的是数码管上有八个子单元。每个子单元如下图所示。实际上开发板上的八位数码管是由两个四位八段共阴数码管组成。 所谓“八段”指的是每个子单元由8个发光二极管组成,如上图所示,八段分别为:A、...

bigmarshal的博客 1万+

蓝桥杯单片机数码管动态显示_单片机期末整理

备注:无具体说明则数码管为供阳数码管。一、设单片机的晶振为12MHz,采用定时器编程实现P1.0和P1.1分别输出1KHz和5KHz方波,在示波器显示方波。说明:频率和周期的关系式 ,频率是周期的倒数, ,所以 的周期是 ,高电平即为 #include <REGX51.H> sbit L0 = P1^0; sbit L1 = P1^1; void Timer_init(void)...

weixin_39618121的博客 2342

C51单片机的电子时钟(数码管显示)

而控制数码管的发光二极管P0-P7控制,例如要想数码管显示数字0,则需要发光的只有abcdef,我们用十六进制来0x3F表示,因为四位二进制代表一位十六进制,我们把它转为二进制为:00111111,这每一个二进制数分别表示dp g f e d c b a,需要它发光则表示为1,在举一个例子,显示数字7,我们只需要abc发光,转为对应的二进制为:00000111 对应的十六进制为:0x07。普中科技51单片机开发板STC89C52。

wstc2689784536的博客 6920

C51 单片机静态数码管显示原理与应用

在 C51 编程中,首先需要包含相关的头文件,如,然后定义与数码管连接的单片机引脚。// 定义数码管段选引脚//...依次定义其他段选引脚C51 单片机控制静态数码管是嵌入式系统开发中的一项基础且重要的技术。通过理解静态数码管的工作原理,合理设计硬件连接电路,并编写相应的软件程序,可以实现稳定、可靠的数字显示功能。在实际应用中,可以根据具体需求进一步扩展功能,如多数码管显示、动态显示切换等,以满足各种复杂的人机交互要求。

wandouzys的博客 1968

51单片机实验 7段数码管静态显示数字

51单片机实验 7段静态数码管显示数字 P0口接7段静态数码管,实现1秒数字显示,从0到16(F),来回闪烁显示 由于数字显示有一秒替换下一个数字的要求,所以采用定时器T0定时一秒。 由于前面实验积累,可以复用一部分以前的代码。 C代码: #include <at89x52.h> code unsigned char SegTab[16]={//段码表 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6

挥剑决浮云的博客 9076

51单片机的自学之路(4)——静态数码管和动态数码管的显示实验

静态数码管的显示实验 数码管的简介 数码管是一种半导体发光器件,其基本单元是发光二极管,也称之为LED数码管。**按照发光二极管的单元连接方式,可以分为共阳极数码管和共阴极数码管。 共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时,应该将公众极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就会被点亮。 对于共阴极数码管而言,在应用的时候应该将公共极COM接到地线GND上。当某一字段的发光二极管的阳极为高电平时,其相应的字段就会被点亮。 这里就

gao1964han的博客 3628

单片机课程实验 //流水灯等

实验环境:Keil  C51集成开发环境+Proteus Pro 7.8 sp2  ------------------------------------------------------------------------------------------------------------------------------------------- 以下实验打包下载地址: h

friendan的专栏 1775

51单片机-8段四位数码管

51单片机-8段四位数码管8段数码管工作原理8段四位数码管工作方式下面是本人自写的四位数码管模板程序模板程序应用方法 8段数码管工作原理         我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。 数码管又分为共阴极和共阳极两种类型 共阴极就是将八个LED的阴极连在一起,让其接地,这样给任

qq_33004187的博客 9368

单片机计数器实验报告

实验包括硬件设计和软件编程两个部分。本实验通过设计和实施了一个基于单片机的计数器电路,加深了对计数器原理和单片机控制的理解。总之,通过这个实验,我们了解了计数器电路的原理和设计方法,并且通过单片机的编程实现了一个简单的计数器。同时,我们也体验到了硬件设计和软件编程的乐趣和挑战,为我们今后的学习和工作奠定了良好的基础。通过本实文的实验,我们不仅加深了对计数器电路和单片机控制的理解,还学习到了如何进行硬件连接和软件编程。然而,本实验只是一个简单的示例,实际的计数器电路可能更加复杂,需要考虑到更多的因素和功能。

IELLQUI6的博客 2305

[c51单片机]利用Protues 仿真C51单片机8位数码管

[单片机学习笔记01]利用Protues 仿真C51单片机8位数码管 我找了许多有关模拟晶体管的文章,但是大多数对新手都不太友好(可能是我理解能力不太好吧,哈哈),所以我开始尝试用博客来写笔记,话不多说,开始吧。 让我们找到元件 1. AT89C51芯片 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 RST:复位输入。当振荡器复位器件时,要保持R...

qq_45408440的博客 2万+

C51单片机7段数码管驱动程序开发指南

C51单片机是一种广泛应用于嵌入式系统开发的微控制器,它基于经典的Intel 8051架构。其特点包括:低功耗设计:适合于电池供电的便携式设备。精简指令集:使得编程更加简单高效。多种封装形式:适应不同尺寸的PCB设计需求。丰富的周边模块:如定时器/计数器、串行通信接口等。高集成度:集成了RAM、ROM、I/O端口、定时器等多种功能。数码管作为一种常见的显示设备,广泛应用于各种电子设备的数字显示中。它通过控制内部的LED或LCD段来显示数字或字符。

weixin_42594419的博客 1241

51单片机 8位7段数码管静态显示

51单片机 8位7数码管静态显示 如图所示接电路: P0口加了 排阻 增强其驱动能力。

挥剑决浮云的博客 6595

UE5.3.2 + VS2022社区版在Win11上的C++编译环境配置全解

Unreal Engine 5的C++开发依赖严格的工具链协同,其核心在于Visual Studio编译器版本、Windows SDK与引擎构建系统(UBT)的精准匹配。UE5.3.2强制要求MSVC v143.4(即VS2022 17.4+)及Windows 11 SDK 10.0.22621.0,任何偏差都会引发LNK2019链接失败、C1083头文件缺失或MSB8066构建中断等典型错误。该配置不仅关乎安装顺序,更涉及注册表清理、PATH环境变量、SDK路径注入与运行时DLL加载等底层机制。适用于Wi

weixin_33978722的博客 367

从SGX到TDX:英特尔机密计算的技术演进与选型指南

本文深入解析了英特尔两代机密计算技术SGX与TDX的核心差异与选型策略。SGX提供应用级飞地隔离,安全等级高但开发复杂;TDX提供虚拟机级信任域保护,兼容性好且易于部署。文章结合金融与医疗行业实战案例,为开发者提供了清晰的选型指南,帮助根据代码可改性、安全需求、部署规模及生态成本选择最合适的机密计算方案。

java5的博客 420

C51单片机实现六位数码管时钟

//六位数码管时钟 //C语言代码: //main.c #include typedef unsigned int UINT ; typedef unsigned char UCHAR ; #define KEY P2 #define KEYMASK 0x07 sbit LE1 = P2^6; //定义位控口 sbit LE2 = P2^7; //定义段控口 UCHAR

relaying的专栏 2万+

农业AI避坑指南:用YOLO11做叶片病害检测时遇到的5个典型问题

本文分享了使用YOLO11模型进行农业叶片病害检测时常见的五个典型问题及解决方案。针对田间多变光照、病害样本不均衡、标注歧义、背景干扰和边缘部署等挑战,提供了包括场景自适应数据增强、解耦训练、软标签与鲁棒损失函数、困难负样本构建以及模型轻量化部署在内的实战经验,旨在帮助开发者提升农业AI项目的落地效果。

ujm56789012的博客 206

实验2 基于51单片机的数码管显示系统设计

数码管显示系统设计

m0_73757052的博客 6209

halcon与c#联合编程实现相机控制+图像平移缩放+日志记录+缺陷检测+路径规划

halcon与c#联合编程实现相机控制+图像平移缩放+日志记录+缺陷检测+路径规划 前言 本人近期在工作中遇到需要对某场景下利用海康相机进行图像缺陷检测与对应路径规划。通过对海康相机示例代码进行吸收与借鉴,最终实现了对海康相机的控制,并增加HSmartWindowControl控件,实现图像的实时显示与平移缩放功能;通过listview+toolstrip实现日志显示与类型(提示、警告、错误)分类;同时自行编制算法实现对缺陷的识别以及缺陷外扩矩形范围内的路径规划。 1.日志记录 代码如下(示例):

weixin_37864926的博客 2717

用 Python 和 uiautomation 实现微信批量发送

思路是这样,将要发送的人员名单(包括称呼)以及发送内容都维护到Excel里,程序运行时读取Excel里内容,自动搜索人员姓名(微信昵称或备注名),填入要发送的内容,拼接上称呼(如果需要的话)自动点击发送,这样轮巡直至名单人员全部发送完成。、

jankingdom的专栏 1471

51单片机编程应用(C语言):数码管

数码管是由8个LED组成的,其中共阴极数码管是8个LED共用一个阴极;共阳极数码管是8个LED共用一个阳极;每个数码管灯由图中左下角的8段LED构成,分别是ABCDEFG以及DP;正好和1个字节的8位相对应;从图中也可以看出,8段LED中,每段LED对应的引脚图,即每段LED和引脚之间的连接关系,基本是按照就近原则来连接的,比如A段,A段的正极连接3和8引脚(在共阳极数码管的情况下),A段的负极连接7号引脚;以此类推,其他引脚关系都可从图中看出来。值得注意的是,我们开发板上的连接方式是共阴极连接。

weixin_64484421的博客 5242

TMS320F28388D 学习笔记2 高精度PWM (HRPWM)

HRPWM的学习记录。

whyorwhnt的专栏 9534

51单片机-------数码管(实验报告)【无74HC753】

实验三:数码管从0-7的显示效果 一 实验目的: 实验3:使用PO和P2端口实现数码管从0-7的显示效果: (1) 掌握C语言编程单片机控制程序的方法。 (2) 掌握使用Keil4软件编写、编译、调试程序的方法。 (3) 掌握使用Proteus软件绘制电路原理图、硬件仿真和程序调试。 (4) 理解和掌握共阴极数码管的显示原理和编码(记忆)。 (5) 熟悉使用51单片机P0(开漏)和P1(推挽)端口实现对外部用电器和电路的控制。 二、实验硬件和软件: 计算机1台、并安装Proteus8.6软件和Keil4.

m0_53949118的博客 1万+

【WRF-Chem教程第四期上】运行 WRF-Chem 模型

完整介绍运行 WRF-Chem 模型的详细步骤

WW、forever的博客 3113

机器人动力学仿真软件:V-REP (CoppeliaSim)_(15).仿真项目案例分析

通过以上几个具体的仿真项目案例,我们展示了如何在V-REP (CoppeliaSim)中进行二次开发,实现复杂的机器人动力学仿真任务。这些案例涵盖了六轴机械臂的运动学仿真、移动机器人的路径规划和避障、以及无人机的飞行控制和环境感知。每个项目都通过编写Lua脚本实现了对机器人模型的控制和任务执行,并通过仿真结果分析验证了算法的有效性和系统性能。希望这些案例能够为读者在实际项目中使用V-REP (CoppeliaSim)提供有益的参考和启发。

kkchenjj的博客 1295
上一篇: C51单片机实验——LED流水灯
下一篇: Linux最新完整VMware中Ubuntu安装步骤总结
Answer_G
博客等级 码龄7年 170粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值