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

標題: 單片機用3642BH四位數碼管顯示數據的方法詳解 附源程序 [打印本頁]

作者: zxwdown    時間: 2019-7-9 06:52
標題: 單片機用3642BH四位數碼管顯示數據的方法詳解 附源程序
    在單片機學習開發中,經常要顯示一些實驗數據,常用的顯示設備是1602,但是1602接口復雜,編程有一定難度,對很多初學者并不好掌握,而且1602適于顯示字符,對整數顯示不方便,不如數碼管簡單,因此本人特地在網上買了兩個四位數碼管。由于有過單數碼管的使用經驗,拿到四位數碼管后便用下載器的5V電源和地線對引腳一對對進行測試,想探明引腳定義。結果發現大部分不亮,部分可亮,有時還亮好幾段,進行無數資測試也無法弄清引腳定義,只好看看標注型號到網上查看引腳定義,發現型號為3642BH,引腳定義如下:
    按查詢結果進行驗證測試,發現有一個四位數碼管不知是質量問題還是本人在測試時直接用5V電源進行測試燒了數碼管,已經壞啦,另一個數碼管個位無法按引腳定義方式點亮,但在顯示其他3位是卻經常跟著亮,到現在唯一可用的數碼管個位仍無法有效利用,只能利用十百千三位數碼管,好在一般使用中只要顯示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;}
}
下面是程序運行效果:






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1