欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用單片機+8255A驅動數碼管顯示的這個程序哪里有錯誤?

[復制鏈接]
跳轉到指定樓層
樓主
有沒有大佬能幫忙看下


單片機源程序如下:
#include <reg52.h>
#include<absacc.h>
#define uint unsigned int
#define uchar unsigned char
#define DATA P1
#define PA     XBYTE[0xBcFF]
#define PB     XBYTE[0xBdFF]
#define PC     XBYTE[0xBeFF]
#define COM    XBYTE[0xBFFF]
sbit OE  = P2^5;
sbit EOC = P3^3;
sbit ST  = P2^7;

sbit C1  = P3^0;
sbit C2  = P3^1;
sbit C3  = P3^2;

uint display_data = 0;  /*顯示數據*/
uchar code LEDData[]=
{
         0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};


void DelayMS(uint ms)
{
         uchar i;
        while(ms--)
        {
                 for(i=0;i<120;i++);
        }
}

void Display_Result(uint d)
{
        
         P2 = 0xf7;
        PB = LEDData[d%10];
        DelayMS(5);
        P2 = 0xfb;
        PB = LEDData[d%100/10];
        DelayMS(5);
        P2 = 0xfd;
        PB = (LEDData[d%1000/100]| 0x80);
        DelayMS(5);
        
        P2 = 0xfe;
        PC = LEDData[d/1000];
        DelayMS(5);
        
}

void main()
{
COM =0X80;

        C1  = 1;
        C2  = 1;
        C3  = 0;
        
        while(1)
        {
                 ST = 0;
                ST = 1;
                ST = 0;
                while(EOC == 0);
                OE = 1;
                display_data = ((8.0/255) * DATA) * 1000;
                Display_Result(display_data);
                OE = 0;
        }
}
圖里面的開關本來是想要控制PB口的,全為1就輸出,否則就不輸出(但還沒寫程序)。
目的是做一個數模轉換的C語言顯示,必須要用8255驅動數碼管,所以這有點迷茫。


1123.rar

30.48 KB, 下載次數: 4

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

使用道具 舉報

沙發
ID:892731 發表于 2021-3-16 19:46 | 只看該作者
我自己已經解決,是A1,A0的問題

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:275826 發表于 2021-3-16 21:25 | 只看該作者
你使用了 #define PA     XBYTE[0xBcFF],P2口不能再用作普通I/O口了吧,你怎么還用P2驅動數碼管?
回復

使用道具 舉報

地板
ID:917552 發表于 2021-5-13 03:36 | 只看該作者
求解,為什么這里要用display_data = ((8.0/255) * DATA) * 1000這樣寫
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表