找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機用3642BH四位數碼管顯示數據的方法詳解 附源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:404797 發(fā)表于 2019-7-9 06:52 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    在單片機學習開發(fā)中,經常要顯示一些實驗數據,常用的顯示設備是1602,但是1602接口復雜,編程有一定難度,對很多初學者并不好掌握,而且1602適于顯示字符,對整數顯示不方便,不如數碼管簡單,因此本人特地在網上買了兩個四位數碼管。由于有過單數碼管的使用經驗,拿到四位數碼管后便用下載器的5V電源和地線對引腳一對對進行測試,想探明引腳定義。結果發(fā)現(xiàn)大部分不亮,部分可亮,有時還亮好幾段,進行無數資測試也無法弄清引腳定義,只好看看標注型號到網上查看引腳定義,發(fā)現(xiàn)型號為3642BH,引腳定義如下:
    按查詢結果進行驗證測試,發(fā)現(xiàn)有一個四位數碼管不知是質量問題還是本人在測試時直接用5V電源進行測試燒了數碼管,已經壞啦,另一個數碼管個位無法按引腳定義方式點亮,但在顯示其他3位是卻經常跟著亮,到現(xiàn)在唯一可用的數碼管個位仍無法有效利用,只能利用十百千三位數碼管,好在一般使用中只要顯示8位數據就行,所以就只利用千位和百位管。將千位管段陰極ABCDEFG接P1的1234567針,陽極接P1的8針,百位管的陽極接P3的2針,用以下程序進行測試,效果還算滿意。

單片機源程序如下:

#include<reg52.h>

sbit D1=P1^7;
sbit D2=P3^2;
sbit D3=P3^3;

int vcode[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0xf8,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};
void delay(int ii){int i,j;for(i=0;i<ii;i++)for(j=0;j<120;j++); }

void showdata(unsigned char c)
{int k;
for(k=0;k<40;k++){P1=vcode[c/16];D1=1;D2=0;D3=0;delay(10);
                   P1=vcode[c%16];D1=0;D2=1;D3=0;delay(10);
                   //P1=vc[k/5];D1=0;D2=0;D3=1;delay(10);
                   }
P1=0xff;
}
main()
{unsigned char a,c;
int i,j;
while(1){showdata(i);i++;if(i>64)i=0;}
}
下面是程序運行效果:

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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