当前位置: 首页 > news >正文

51单片机实验二:数码管静态显示

目录

一、实验环境与实验器材

二、实验内容及实验步骤

1.单个数码管显示

2.六个数码管依次从0~F变换显示

3.proteus仿真


 

一、实验环境与实验器材

环境:KeliSTC-ISP烧写软件,Proteus.        

器材:TX-1C单片机(STC89C52RC)

图1.1 工具

二、实验内容及实验步骤

1.单个数码管显示

Keil编写及编译生成hex文件,STC烧写下载至单片机,单片机数码管静态显示‘8’

#include<reg52.h>
sbit dula=P2^6;                 // 申明U1锁存器的锁存端
sbit wela=P2^7;					// 申明U2锁存器的锁存端
void main()
{wela=1;								// 打开U2锁存端P0=0xFE;							// 送入位选信号wela=0;								// 关闭U2锁存端dula=1;								// 打开U1锁存端P0=0x7F;							// 送入位选信号dula=0;								// 关闭U1锁存端    while(1);
}

图2.1.1 烧录

图2.1.2 硬件效果

proteus 仿真效果

图2.2.3 Proteus仿真图“第一数码管显示8” 

2.六个数码管依次从0~F变换显示

#include "reg52.h"
#define uchar unsigned char     //定义无符号字符型
#define uint unsigned int       //定义无符号整形
sbit dula=P2^6;                 // 申明U1锁存器的锁存端
sbit wela=P2^7;					// 申明U2锁存器的锁存端
uchar num;
uchar code table[]={0x3f,0x06,0x5b,0x4f,      // 0-F共阴级数码管编码0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delayms(uint);						//声明延时函数void main()
{wela=1;								// 打开U2锁存端P0=0xc0;							// 送入位选信号wela=0;								// 关闭U2锁存端while(1){for(num=0;num<16;num++)			// 16个数循环显示{dula=1;						// 打开U1锁存端P0=table[num];				// 送入选段信号dula=0;						// 关闭U1锁存端delayms(500);				// 延时0.5s}}}void delayms(uint xms)        // 定义延时函数
{uint i,j;for(i=xms;i>0;i--)		  // i=xms即延时约xms毫秒 for(j=110;j>0;j--);
}

图 2.2.1 硬件初始显示

图2.2.2 硬件最后显示 

proteus仿真图:

图2.2.2 proteus 仿真图 

视频:

静态数码管显示0~F

 

3.proteus仿真

仿真图:

图2.3.1 Proteus仿真电路图 

因为仿真点亮画的简单,所以代码也相对简单:

#include "reg52.h"
unsigned char s[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴0-9void delay(unsigned int n)
{unsigned int i=0,j=0;for(i=0;i<n;i++){for(j=0;j<120;j++);}
}void seg()
{int i=0;for(i=0;i<16;i++){P2=s[i];    //0011 1111delay(1000);}
}void main()
{while(1){seg();}}

视频:

静态数码管bz

注意:仿真电路绘画中,共阴共阳电路易混淆。(共阴接地,共阳接电源)

 

 

 

相关文章:

  • yarn的定义,yarn的三大组件及各自作用,yarn的三个资源调度策略
  • 音乐播放对接状态栏MediaSession控制
  • Yocto项目实战教程 · 第4章:4.3小节-层
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析
  • Linux:线程概念与控制
  • L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因
  • 如何在米尔-STM32MP257开发板上部署环境监测系统
  • DeepSeek编程新手全栈指南:从Python到网站搭建的避坑实战手册
  • 力扣最热一百题——二叉搜索树中第 K 小的元素
  • namesapce、cgroup
  • 边缘计算网关组态功能的定义
  • 计算机视觉cv2入门之车牌号码识别
  • 代码随想录算法训练营day7(字符串)
  • C++:PTA L1-006 连续因子
  • 中华传承-医山命相卜-梅花易数
  • leetcode0145. 二叉树的后序遍历-easy
  • 班翎流程平台 | 全新Agent节点,助您构建企业智能流程
  • 极狐GitLab 登录限制如何设置?
  • React 列表渲染基础示例
  • 【裁判文书网DES3数据解密】逆向分析
  • 科普|一名肿瘤医生眼中的肺癌诊疗变化:从谈癌色变到与癌共存
  • 伊守亮回国加盟川大,长期致力于化工能源环境前沿领域研究
  • 习近平会见柬埔寨人民党主席、参议院主席洪森
  • 商务部:对原产于日本的进口电解电容器纸继续征收反倾销税
  • 上海:去年民营经济贡献了3/4的新增就业,将助力民企国际化发展
  • 科普|治疗肺癌,中医药与靶向药物如何实现1+1>2?