久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2290|回復: 2
打印 上一主題 下一主題
收起左側

單片機6位數碼管顯示程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:114509 發表于 2022-1-14 21:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#define GPIO_DIG    P0 //數碼管 P0 端口

//位定義
sbit DU = P2^6;  //段選控制
sbit WU = P2^7;  //位選控制

unsigned char code ledDX[]=
{
        //數碼管段碼
        0x3f, // 0
        0x06, // 1
        0x5b, // 2
        0x4f, // 3
        0x66, // 4
        0x6d, // 5
        0x7d, // 6
        0x07, // 7
        0x7f, // 8
        0x6f, // 9
        0x77, // A
        0x7c, // B
        0x39, // C
        0x5e, // D
        0x79, // E
        0x71, // F
        0x76, // H
        0x38, // L
        0x37, // n
        0x3E, // u
        0x73, // P
        0x5C, // O
        0x40, // -
        0x00 // 熄滅
};

unsigned char code ledWX[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//數碼管位選

void LED_display(unsigned char dx,unsigned char wx)
{
        GPIO_DIG = ledWX[wx];//送位碼
        WU = 1;
        WU = 0;//鎖住位碼
        
        GPIO_DIG = ledDX[dx];//送段碼
        DU = 1;
        DU = 0;//鎖住段碼
        
        delay_ms(2);//延時一會
        
        GPIO_DIG = 0x00;//消影
        DU = 1;
        DU = 0;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:114509 發表于 2022-3-16 20:16 | 只看該作者
前面的程序有問題,附件文件好了。

LED DISPLAY (20220316).zip

65.17 KB, 下載次數: 6, 下載積分: 黑幣 -5

回復

使用道具 舉報

板凳
ID:114509 發表于 2022-3-16 20:17 | 只看該作者
// 頭文件
#include "LEDdisplay.h"

ulong parm = 202203;

//數據暫存區
uchar LED_BuF[]={8,8,8,8,8,8};
//位選
uchar code LED_WX[]=
{
        0xfe,0xfd,0xfb,0xf7,0xef,0xdf
};
//段選
uchar code LED_DX[]=                                
{
        0x3f,0x06,0x5b,0x4f,0x66,0x6d, // 0,1,2,3,4,5
        0x7d,0x07,0x7f,0x6f,0x77,0x7c, // 6,7,8,9,A,B
        0x39,0x5e,0x79,0x71,0x76,0x38, // C,D,E,F,H,L
        0x37,0x3E,0x73,0x5C,0x40,0x00  // n,u,P,O,-,滅
};
//顯示服務函數
void dis_Service()
{
        LED_BuF[0] = parm/100000%10;
        LED_BuF[1] = parm/10000%10;
        LED_BuF[2] = parm/1000%10;
        LED_BuF[3] = parm/100%10;
        LED_BuF[4] = parm/10%10;
        LED_BuF[5] = parm%10;
}
//LED 顯示
void LED_display()
{
        uchar i;
       
        switch (i)
        {
                case 0:
                Port_DX = 1;// LE置1 送段碼到 P0端口
                GPIO_P0 = LED_DX[LED_BuF[0]];
                Port_DX = 0;// LE鎖存 保持數碼管端口的數據
                GPIO_P0 = 0x00;//消影 復位P0端口
               
                Port_WX = 1;// LE置1 送位碼,點亮數碼管
                GPIO_P0 = LED_WX[0];
                Port_WX = 0;// LE鎖存 保持點亮數碼管
                GPIO_P0 = 0x00;//消影 復位P0端口
                //delay_ms(1);//延時1ms
                i++;
                break;
               
                case 1:
                Port_DX = 1;// LE置1 送段碼到 P0端口
                GPIO_P0 = LED_DX[LED_BuF[1]];
                Port_DX = 0;// LE鎖存 保持數碼管端口的數據
                GPIO_P0 = 0x00;//消影 復位P0端口
               
                Port_WX = 1;// LE置1 送位碼,點亮數碼管
                GPIO_P0 = LED_WX[1];
                Port_WX = 0;// LE鎖存 保持點亮數碼管
                GPIO_P0 = 0x00;//消影 復位P0端口
                //delay_ms(1);//延時1ms
                i++;
                break;
               
                case 2:
                Port_DX = 1;// LE置1 送段碼到 P0端口
                GPIO_P0 = LED_DX[LED_BuF[2]];
                Port_DX = 0;// LE鎖存 保持數碼管端口的數據
                GPIO_P0 = 0x00;//消影 復位P0端口
               
                Port_WX = 1;// LE置1 送位碼,點亮數碼管
                GPIO_P0 = LED_WX[2];
                Port_WX = 0;// LE鎖存 保持點亮數碼管
                GPIO_P0 = 0x00;//消影 復位P0端口
                //delay_ms(1);//延時1ms
                i++;
                break;
               
                case 3:
                Port_DX = 1;// LE置1 送段碼到 P0端口
                GPIO_P0 = LED_DX[LED_BuF[3]];
                Port_DX = 0;// LE鎖存 保持數碼管端口的數據
                GPIO_P0 = 0x00;//消影 復位P0端口
               
                Port_WX = 1;// LE置1 送位碼,點亮數碼管
                GPIO_P0 = LED_WX[3];
                Port_WX = 0;// LE鎖存 保持點亮數碼管
                GPIO_P0 = 0x00;//消影 復位P0端口
                //delay_ms(1);//延時1ms
                i++;
                break;
               
                case 4:
                Port_DX = 1;// LE置1 送段碼到 P0端口
                GPIO_P0 = LED_DX[LED_BuF[4]];
                Port_DX = 0;// LE鎖存 保持數碼管端口的數據
                GPIO_P0 = 0x00;//消影 復位P0端口
               
                Port_WX = 1;// LE置1 送位碼,點亮數碼管
                GPIO_P0 = LED_WX[4];
                Port_WX = 0;// LE鎖存 保持點亮數碼管
                GPIO_P0 = 0x00;//消影 復位P0端口
                //delay_ms(1);//延時1ms
                i++;
                break;
               
                case 5:
                Port_DX = 1;// LE置1 送段碼到 P0端口
                GPIO_P0 = LED_DX[LED_BuF[5]];
                Port_DX = 0;// LE鎖存 保持數碼管端口的數據
                GPIO_P0 = 0x00;//消影 復位P0端口
               
                Port_WX = 1;// LE置1 送位碼,點亮數碼管
                GPIO_P0 = LED_WX[5];
                Port_WX = 0;// LE鎖存 保持點亮數碼管
                GPIO_P0 = 0x00;//消影 復位P0端口
                //delay_ms(1);//延時1ms
                i++;
                break;
               
                case 6:
                Port_DX = 1;// LE置1 送段碼到 P0端口
                GPIO_P0 = LED_DX[LED_BuF[6]];
                Port_DX = 0;// LE鎖存 保持數碼管端口的數據
                GPIO_P0 = 0x00;//消影 復位P0端口
               
                Port_WX = 1;// LE置1 送位碼,點亮數碼管
                GPIO_P0 = LED_WX[6];
                Port_WX = 0;// LE鎖存 保持點亮數碼管
                GPIO_P0 = 0x00;//消影 復位P0端口
                //delay_ms(1);//延時1ms
                i=0;
                break;
                default:break;//退出switch循環
        }
        dis_Service();
}


#ifndef __LEDdisplay_H__
#define __LEDdisplay_H__

#include <reg52.h>
#include "delay.h"

//IO口定義
#define GPIO_P0  P0
#define GPIO_P1  P1
#define GPIO_P2  P2
#define GPIO_P3  P3

//位定義
sbit Port_DX = P2^6;  //段選
sbit Port_WX = P2^7;  //位選

void LED_display();//LED 顯示
void dis_Service();//顯示服務函數

#endif
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区免费在线观看 | 久久久久亚洲 | 国产精品精品久久久久久 | 黄网站在线观看 | 日韩高清不卡 | 国产日韩欧美一区二区 | 天天操综合网 | 国产综合久久 | 羞羞的视频免费在线观看 | 午夜精品福利视频 | 欧美性jizz18性欧美 | 亚洲精色 | 欧美夜夜| av网址在线 | 日韩一区二区在线观看视频 | 久久一区二区三区四区 | 免费观看一区二区三区毛片 | 欧美日韩精品一区二区三区蜜桃 | 久久看精品 | 艹逼网 | av 一区二区三区 | 男人阁久久 | 欧美三级在线 | 男女黄网站 | 99亚洲 | 国产一区| 在线91 | 亚洲一区有码 | 亚洲精品视频久久 | 久草.com| 精品国产视频 | 日韩欧美成人一区二区三区 | 国产91精品久久久久久久网曝门 | 国产亚洲精品久久情网 | 伊人久久免费 | 午夜专区 | 天天搞天天搞 | 成人网在线观看 | 国产一区精品在线 | 国产日韩欧美一区 | 久久综合九九 |