当前位置: 首页>編程日記>正文

51单片机驱动数码管显示

51单片机驱动数码管显示

51单片机驱动数码管显示

    • 1. 数码管介绍.
    • 2.数码管的段选
    • 3.多个数码管并联
    • 4.如何驱动四位数码管显示数字。

1. 数码管介绍.

数码管可以看成是一个个LED,大家学的第一个关于单片机的第一个例程,应该就是点亮一个LED,而这个数码管就是有顺序的点亮某几个LED.在这里插入图片描述

2.数码管的段选

从上面图片可以看到有共阴极和共阳极两种数码管,所以当我们让其中几个数码管显示的时候,只需要让a、b、c、d、e、f、g、dp(这几段称为段选端)这8段中的其中几段点亮就ok了。

3.多个数码管并联

一般来说,使用数码管不会单单一个,当使用多个数码管一起使用的时候,这时候几个数码管的段选端会并联在一起。每一个的共阳或者共阴极不在直接和电源的正或者负极相连,而是成为位选端,当需要其点亮时让其接通
(下图中a~g、dp为段选端,1 ~4 为位选端)
在这里插入图片描述

4.如何驱动四位数码管显示数字。

①四位数码管有8个段选端,4个位选端,让单独一个数码管显示的时候只需要在段选端输入段码,并且接通该数码管的位选端;
②如果需要显示四位数字时,就需要动态显示了,因为人类的视觉暂留效应(自行百度)在很短时间内依次显示数字,因为时间很短,看起来就像是同时亮着。

亚龙某实验台上的四位数码管显示。

#include "reg52.h"				 //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16;	 	 //对数据类型进行声明定义
typedef unsigned char u8;
//数码管位选
sbit seg1=	P2^0;//第一个数码管
sbit seg2= 	P2^1;//第二个数码管
sbit seg3=	P2^2;//第三个数码管
sbit seg4=	P2^3;//第四个数码管
u8 DisplayData[8];
//u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//自己开发板
u8 code smgduan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//学校平台使用
void delay(u16 i)
{while(i--);
}/*******************************************************************************
* 函 数 名       : segdisplay()
* 函数功能		 : 数码管显示
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void segdisplay()
{int i;for(i=1;i<5;i++){switch(i){P0=0Xff;delay(5);	case 1:	 seg1=0;seg2=1;seg3=1;seg4=1; break;case 2:	 seg2=0;seg1=1;seg3=1;seg4=1; break;case 3:	 seg3=0;seg1=1;seg2=1;seg4=1; break;case 4:	 seg4=0;seg1=1;seg2=1;seg3=1; break;}P0=DisplayData[i];delay(100);P0=0XFF;delay(5);	}		
}/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{while(1){//显示带两位小数的数字,提前把数字乘100,四舍五入或者取整DisplayData[1]=smgduan[temp /1000%10];//显示十位DisplayData[2]=smgduan[temp /100%10]&0x7f;//显示个位和小数点DisplayData[3]=smgduan[temp /10%10];//显示十分位DisplayData[4]=smgduan[temp /1%10];//显示百分位segdisplay();  }
}		


https://www.fengoutiyan.com/post/15367.html

相关文章:

  • 51单片机驱动共阳数码管
  • 单片机控制数码管显示
  • 51单片机六位数码管显示
  • 51单片机动态数码管显示
  • 单片机驱动共阳数码管
  • 三位数码管单片机驱动
  • 单片机驱动6位数码管
  • 51单片机八位数码管动态显示
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機