找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2718|回复: 0
收起左侧

单片机8位数码管动态显示程序

[复制链接]
ID:404177 发表于 2021-12-31 12:18 | 显示全部楼层 |阅读模式
数码管动态显示,8位

单片机源程序如下:
  1. #include <reg51.h>
  2. #include "led.h"


  3. unsigned char code segduan[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  4.                                                                                                                                 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; // 共阴接法

  5. unsigned char code segwei[] = { 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

  6. void delayforled(void)
  7. {
  8.         int i = 100;
  9.         while(i--);
  10. }        

  11. void Display_Led(long num)
  12. {
  13.         unsigned char set7,set6,set5,set4,set3,set2,set1,set0;
  14.         
  15.         set0 = num / 1 % 10;
  16.         set1 = num / 10 % 10;
  17.         set2 = num / 100 % 10;
  18.         set3 = num / 1000 % 10;
  19.         set4 = num / 10000 % 10;
  20.         set5 = num / 100000 % 10;
  21.         set6 = num / 1000000 % 10;
  22.         set7 = num / 10000000 % 10;

  23.         P0 = segduan[set7]; P2 = segwei[0]; delayforled(); P0 = 0x00;
  24.         P0 = segduan[set6]; P2 = segwei[1]; delayforled(); P0 = 0x00;
  25.         P0 = segduan[set5]; P2 = segwei[2]; delayforled(); P0 = 0x00;
  26.         P0 = segduan[set4]; P2 = segwei[3]; delayforled(); P0 = 0x00;
  27.         P0 = segduan[set3]; P2 = segwei[4]; delayforled(); P0 = 0x00;
  28.         P0 = segduan[set2]; P2 = segwei[5]; delayforled(); P0 = 0x00;
  29.         P0 = segduan[set1]; P2 = segwei[6]; delayforled(); P0 = 0x00;
  30.         P0 = segduan[set0]; P2 = segwei[7]; delayforled(); P0 = 0x00;
  31. }

  32. void Display_Led_Single(unsigned char digit, unsigned char place )
  33. {
  34.         P0 = segduan[digit]; P2 = segwei[place]; delayforled(); P0 = 0x00;
  35.         
  36. }
  37.         
  38. void Display_Led_Letter(letter led,unsigned char place)
  39. {
  40.         switch(led)
  41.         {
  42. ……………………

  43. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

Keil +Proteus仿真7.5版本的dsn文件下载:
8位LED动态显示.rar (68.67 KB, 下载次数: 32)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表