|
發(fā)布時間: 2019-4-24 11:48
正文摘要:#include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit k = P3; sbit ch=P3^0; uchar c = 0; uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; vo ... |
chtyise 發(fā)表于 2019-4-24 23:29 啥意思呀? |
51hei_user 發(fā)表于 2019-4-25 09:11 具體要怎么操作呢? |
zry991122 發(fā)表于 2019-4-24 22:06 可以嘗試先使164都輸出高電平,這樣用共陽的數(shù)碼管也不會顯示8了。另外,SBUF初始化時復(fù)值0xff也可以。 |
| 共陰極COM端用個IO口控制三極管驅(qū)動,復(fù)位上電的時候COM端(通過IO口上拉或下拉控制三級管,非程序控制)輸出高電平 |
| 用164 Q3控制數(shù)碼管供電 |
zjjhtony 發(fā)表于 2019-4-24 20:05 已經(jīng)可以了! 感謝 但是想問下 為啥用共陽的他就會閃8呢? |
|
要想解決這個問題很簡單啊! 1)將這個LED數(shù)碼管有共陽極的改為共陰極的。 2)修改uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 為uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 修改后測試沒有再顯示8 |
zjjhtony 發(fā)表于 2019-4-24 13:09 我試了下 為啥他一開始還是會閃一下8呢? |
|
1)初始化后,馬上輸出 SBUF=DSY_CODE[0]; 這樣你的程序就會較快的進入顯示“0”。 2)如下代碼,功能是上電后馬上顯示0,并開始遞加顯示。
|
Powered by 單片機教程網(wǎng)