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

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

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

 

 

 

http://www.xdnf.cn/news/165.html

相关文章:

  • Vue Teleport 及其在 SSR 中的潜在问题
  • leetcode 2364. 统计坏数对的数目 中等
  • 在windows上交叉编译opencv供RK3588使用
  • 嵌入式linux架构理解(宏观理解)6ull学习心得---从架构理解到自写程序运行及自写程序开机自启动
  • #Linux动态大小裁剪以及包大小变大排查思路
  • 淘宝商品图片API安全调用指南:签名生成与错误处理机制
  • 从右到左 vs 从左到右:字符串转整数的两种方式
  • Web 前端包管理工具深度解析:npm、yarn、pnpm 全面对比与实战建议
  • 图+文+语音一体化:多模态合成数据集构建的实战与方法论
  • wordpress 垂直越权(CVE=2021-21389)漏洞复现详细教程
  • PHP腾讯云人脸核身获取FaceId
  • 《AI大模型应知应会100篇》第24篇:限定输出格式:如何让AI回答更加结构化
  • GCD算法的学习
  • 第三阶段面试题
  • Git常用命令分类汇总
  • 如何学习和研究量子计算与量子计算机:从理论到实践的完整路径
  • MySQL+Redis实战教程:从Docker安装部署到自动化备份与数据恢复20250418
  • Qt官方案例知识点总结(图形视图——Colliding Mice)
  • 人脸扫描黑科技:多相机人脸扫描设备,打造你的专属数字分身
  • 学术AI工具推荐
  • 基于WebRTC技术的EasyRTC:支持任意平台设备的实时音视频通信解决方案
  • 科技天眼守望农田:珈和卫星遥感监测赋能智慧农业,护航粮食安全新未来
  • 替代升级VMware | 云轴科技ZStack构建山西证券一云多芯云平台
  • python有序列表
  • Excel提取图片并自动上传到文件服务器(OOS),获取文件链接
  • Docker用model.config部署及更新多个模型
  • 【基础知识补充】标准库类型:string和vector
  • JDBC 与 MyBatis 详解:从基础到实践
  • 07_Docker 资源限制
  • 软件研发技术团队管理规范