当前位置:首页 > 单片机 > 单片机
[导读]1 学习回顾,上节课学习了静态显示   我们显示了第一位数码管,并让其显示了8   现在我们试着多一些花样  1 点亮所有数码管让其显示6    编程    代码        注意上面已经写好了函数leddat

1 学习回顾,上节课学习了静态显示

   我们显示了第一位数码管,并让其显示了8

   现在我们试着多一些花样

  1 点亮所有数码管让其显示6

    编程

    代码

    

    注意上面已经写好了函数leddata

    P0 = ox00;让所有数码管都打开

    P0 = leddata[3];让数码管显示三

    这时就达成了我们的目的了

  2 让数码管从0到9循环显示间隔500毫秒

    编程

    代码:

    

#include // 52系列单片机头文件

2 #define uint unsigned int

3 #define uchar unsigned char

4 sbit du = P2^6; //声明U1锁存器的锁存端

5 sbit we = P2^7; //声明U2锁存器的锁存端

6 uchar i;

7

8 unsigned code leddata[]={

9

10 0x3F, //"0"

11 0x06, //"1"

12 0x5B, //"2"

13 0x4F, //"3"

14 0x66, //"4"

15 0x6D, //"5"

16 0x7D, //"6"

17 0x07, //"7"

18 0x7F, //"8"

19 0x6F, //"9"

20 0x77, //"A"

21 0x7C, //"B"

22 0x39, //"C"

23 0x5E, //"D"

24 0x79, //"E"

25 0x71, //"F"

26 0x76, //"H"

27 0x38, //"L"

28 0x37, //"n"

29 0x3E, //"u"

30 0x73, //"P"

31 0x5C, //"o"

32 0x40, //"-"

33 0x00, //熄灭

34 0x00 //自定义

35

36 };

37

38 void delay(uint xms)

39 {

40 uint x, y;

41 for(x=xms; x>0; x--)

42 for(y=114; y>0; y--);

43 }

44

45 void main()

46 {

47 while(1)

48 {

49

50 we = 1; //打开U2锁存器

51 P0 = 0x00; //送入位选信号

52 we = 0; //关闭U2锁存器 其数据已被锁存

53

54

55 du = 1; //打开U1锁存器

56 P0 = leddata[i]; //送入端选信号

57 du = 0; //关闭U1锁存器

58

59 delay(500);

60 i++;

61 if(i == 10)

62 i=0;

63

64

65 }

66 }

    

    

    头文件和宏定义

    

    延时函数, 当y=114时,在11.0592mhz时差不多1ms

    要延时500ms 就让x = 500即可

  while 大循环

  段选中

  P0 = leddata[i];

  其中i是定义的变量,没赋初值时自动赋初值0

  延时500ms 后i++

  由于是0 - 9

  所以用if 判断i==10

  假如加到10就清零。

  这样就实现了我们的目标

2 数码管的动态显示

  原理 :

  

  数码管动态显示的实质就是利用了人眼视觉的暂留和二极管的余晖作用

  由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

  2 编程 目标-第一个数码管显示1 时间500ms 熄灭 第二个显示2 时间500ms

        到第六个显示6 一直循环下去

   

#include2#defineuintunsignedint3#defineucharunsignedchar4sbitdu=P2^6;5sbitwe=P2^7;6unsignedcodeleddata[]={780x3F,//"0"90x06,//"1"100x5B,//"2"110x4F,//"3"120x66,//"4"130x6D,//"5"140x7D,//"6"150x07,//"7"160x7F,//"8"170x6F,//"9"180x77,//"A"190x7C,//"B"200x39,//"C"210x5E,//"D"220x79,//"E"230x71,//"F"240x76,//"H"250x38,//"L"260x37,//"n"270x3E,//"u"280x73,//"P"290x5C,//"o"300x40,//"-"310x00,//熄灭320x00//自定义3334};353637voiddelay(uintxms)38{39uintx,y;40for(x=xms;x>0;x--)41for(y=114;y>0;y--);42}4344voidmain()45{46while(1)47{48du=1;49P0=leddata[1];50du=0;51P0=0xff;52we=1;53P0=0xfe;54we=0;55delay(500);5657du=1;58P0=leddata[2];59du=0;60P0=0xff;61we=1;62P0=0xfd;63we=0;64delay(500);6566du=1;67P0=leddata[3];68du=0;69P0=0xff;70we=1;71P0=0xfb;72we=0;73delay(500);7475du=1;76P0=leddata[4];77du=0;78P0=0xff;79we=1;80P0=0xf7;81we=0;82delay(500);8384du=1;85P0=leddata[5];86du=0;87P0=0xff;88we=1;89P0=0xef;90we=0;91delay(500);9293du=1;94P0=leddata[6];95du=0;96P0=0xff;97we=1;98P0=0xdf;99we=0;100delay(500);101102}103104105106107}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

采用51单片机最小开发板,由8位自制独立按键控制。单片机芯片为STC89C52RC,晶振为@12.000 mhz。8X8LED点阵屏模块由MAX7219驱动,MAX7219包含一个自动扫描电路。你只需要把要显示的数据发送...

关键字: 51单片机 MAX7219 寄存器

在嵌入式系统开发的广阔领域,51单片机和STM32无疑是两种极具代表性的微控制器。对于初学者而言,选择学习路径时往往会面临一个抉择:是直接跨越51单片机,挑战更高层次的STM32,还是从51开始,逐步进阶?本文旨在探讨直...

关键字: 51单片机 STM32

在嵌入式系统开发中,特别是在使用8051系列单片机(简称C51)进行编程时,数据类型的选择与定义对程序的性能和可读性至关重要。C51语言在标准C语言的基础上进行了扩展,以适应单片机特有的硬件结构和操作需求。本文将深入探讨...

关键字: C51数据 51单片机

在嵌入式系统领域,51单片机作为一种经典的微控制器,广泛应用于各种自动化控制系统中。其外部引脚作为单片机与外界交互的接口,承载着数据传输、控制信号输出等重要功能。本文将通过对51单片机外部引脚的案例分析,结合实际代码,深...

关键字: 51单片机 单片机

在电子技术的浩瀚星空中,LED(发光二极管)以其独特的魅力成为了一颗璀璨的明星。而结合51单片机这一经典的嵌入式开发平台,LED的应用更是被赋予了无限可能,其中,花样流水灯便是一个生动而富有创意的实例。本文将带您深入探索...

关键字: 51单片机 LED

在现代嵌入式系统设计中,51单片机作为一种经典的微控制器,凭借其丰富的功能和广泛的应用领域,仍然受到工程师们的青睐。定时器中断是51单片机中一个非常实用的功能,它可以在特定的时间间隔内自动触发中断,执行预设的操作,从而提...

关键字: 51单片机 定时器

在电子工程和数字系统设计中,FPGA(现场可编程门阵列)因其高度的灵活性和可配置性而备受青睐。FPGA不仅可以用于实现复杂的逻辑功能,还能轻松处理数字信号和接口各种外设。本文将重点介绍FPGA入门基础中的数码管显示技术,...

关键字: 数码管 FPGA 现场可编程门阵列

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机
关闭