|
發布時間: 2019-1-15 13:20
正文摘要:用一兩片164芯片 ,一個段 ,一個位,最后一位總是顯示異常,段選 的值 沒問題,proteus軟件也沒問題。 誰能看下 代碼: #include<reg52.h> #include<intrins.h> typedef unsigned char uchar; ty ... |
|
void display()//數碼管顯示 { uchar i=0,dat=0; for(dat=0xfe;dat!=0xff;dat=dat<<1|0x01) { delay(100); hc164(0xff); //在此處加入這句可顯示正常 hc164(distab[diss[7-i++]]); hc164(dat); if(i==8)i=0; delay(500); } } |
|
void display()//數碼管顯示 { uchar i=0,dat=0; for(dat=0xfe;dat!=0xff;dat=dat<<1|0x01) { delay(100); hc164(0xff); //加入此代碼則顯示正常 hc164(distab[diss[7-i++]]); hc164(dat); if(i==8)i=0; delay(500); } } |
| 還是有點意思的 |
rundstedt 發表于 2025-10-2 01:02 啥意思?不懂,第9個是傳輸數據? |
xiaobendan001 發表于 2025-10-1 16:07 那你可以多驅動一個7段LED測試一下,比如實物是8個,你當成9個來驅動。 |
cy009 發表于 2025-10-1 11:40 我就是不會用這模擬,必須用硬件測試 |
xiaobendan001 發表于 2025-10-1 09:00
用一片驅動段,一片驅動位也是可行的,輪流驅動,不屬于聯級,類似HC573。 上一次發圖是聯級,類似HC595。 |
cy009 發表于 2025-9-30 21:02 時序怎樣操作的?我這里一般都是用一片驅動段,用三極管驅動位,抽空我也試試不用控制位,只控制164的MR進行消隱的效果 |
cy009 發表于 2025-9-30 21:02 那不是和595一樣用了? |
xiaobendan001 發表于 2025-9-28 07:41
事實勝于雄辯,使用復位端進行消隱是可行的。 |
| 事實上164沒有輸出使能控制吧,不適合這樣用,移位過程會有微亮。MR端好像不能當做輸出使能吧 |
cy009 發表于 2024-3-2 13:39 第9腳拉低的話所有輸出都為低,但是此時脈沖輸入也被禁止吧。 |
| 解決了沒有?這好像是PROTEUS仿164的故障 |
| 傳送一次段碼和碼位(總16位)后需復位一次,進行消隱)。硬件上164第9腳不能接電源正端,應改為由一個IO口控制。 |
| 單步走一下。 |
| 自己做的硬件系統?焊接有問題吧? |