作者poboroy (阿揚揚)
看板Electronics
標題[問題] 為什麼89S51給七段顯示器要相反的數字
時間Tue Jun 3 01:29:11 2014
我照課本做了一個從99減到00的程式
但我不懂為什麼傳給七段顯示器,數字是要相反的
例如我實際數字29,傳給七段顯示器卻要92,他才會顯示29
是因為我使用7448靜態控制去驅動七段顯示器嗎?
下面是我程式的一部分:
UP:
INC SEC_ONE
MOV A,SEC_ONE
ANL A,#0FH
CJNE A,#0AH,UP_ONE
UP_ONE:
MOV A,SEC_ONE
SWAP A ;十位數換個位數
MOV P1,A ;P1是接七段顯示器
如果我數字是29,會在UP_ONE的SWAP這邊互換(變成92)再傳給七段顯示器
這邊不太懂..
有沒有人知道的,可以跟我講解一下><,萬分感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.38.59
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Electronics/M.1401730153.A.9B6.html
1F:→ sillyquans:是否兩顆7448 電順序顛倒 06/03 01:51
2F:→ sillyquans:電路 06/03 01:51
3F:→ a22326284:先請問你的七段是用掃描的方式嗎? 06/03 02:02
4F:→ a22326284:如果是 那SWAP應該就是對單一顆的輸出 06/03 02:03
5F:→ a22326284:希望能有電路圖 才方便解決問題 :) 06/03 02:06
6F:→ poboroy:第一次用圖片,ppt.cc/pqXD 06/03 02:12
7F:→ poboroy:是使用靜態控制去推動七段 06/03 02:15
8F:→ poboroy:另外想問一下,靜態控制只是用較小電流去推動嗎? 06/03 02:16
9F:→ poboroy:有其他效果嗎? 06/03 02:16
10F:→ a22326284:果然有圖就知道問題了 29 雖說2是十位9是個位 06/03 02:19
11F:→ a22326284:但你看他電路的JP1 P1.3~P1.0 是接左邊的七段 06/03 02:20
12F:→ a22326284:而P1.7~P1.4是接右邊的七段 又因為8051輸出 06/03 02:21
13F:→ a22326284:是由高到低 故(MSB)00101001(LSB)在電路上會變成92 06/03 02:22
14F:推 a22326284:靜態 確實就只是以小電流控制 對於7段數不多可以使用 06/03 02:26
15F:→ a22326284:動態 是掃描的方式 電路簡單 但相對使用電流高 06/03 02:27
16F:→ poboroy:原來如此 我懂了 非常感謝 06/03 02:29
17F:→ a22326284:不會 :)) 加油喔!! 06/03 02:31