单片机
返回首页

c51语言设计数码管,中断设计1s显示0~F,采用proteus仿真

2022-06-29 来源:csdn

如何通过数码管显示0~F?

数码管有共阴和共阳两种

共阳型阳极为公共端,阳极为段选信号输入

共阴型阴极为公共端,阴极为段选信号输入

注:段选输入方式直接决定了这一位输出的字形


eg:

共阳极数码管的段选编码应为:11000000B= 0xC0H

共阴极数码管的段选编码应为:00111111B = 0x3FH

在这里插入图片描述

中断设计1s显示0~F实验源码

#include

#include

#define uchar unsigned char

int i=0;

int flag=0;

uchar code DSY_CODE[]=    //通过16进制数,设置数码管显示内容

{

  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff

};


void main()

{

TMOD=0x10;            //工作于方式1

  EA=1;                     // 中断允许

  ET1=1; // 中断1打开

TH1=(65536-50000)/256;              // (65536-50000)/256=60.6875

TL1=(65536-50000)%256;      

TR1=1;

  while(1){}

}


void timer1(void) interrupt 3


  TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

  flag++;

if (flag==20)             //达到1s

{

flag =0;

P1=~DSY_CODE[i];

i=(i+1)%16;         //显示0-f

}  

}


实验原理图如下

在这里插入图片描述

这里的数码管采用以下的两种

在这里插入图片描述

另外一种带有9根线的数码管,引脚说明如下,如需采用该种数码管,只需要加入使能即可

在这里插入图片描述

附上打包的工程文件:

https://download.csdn.net/download/Alangman/18474884

进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外遥控音量控制

  • LM317过压保护

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章