[問題] 拜託大家幫我解答一下8051程式問題

看板ASM作者 (03)時間13年前 (2011/08/11 17:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
大家好, 小妹最近在自學8051 買了實驗板 一邊看書跑程式 但是 每次自己想要變化一下程式 都無法達成自己的目標 身邊又沒人可以請教 所以想請板上的高手替我解答一下 拜託大家幫我解答一下了!!!!! 非常感謝!!! 以下程式是 七段顯示器 我想要顯示 2011.08.09 1. 為什麼沒有while(1) 的話,第八個顯示器 9 會特別亮呢? 2. 為什麼給了P2之後,又要把P2設為0? 我試過沒設為0的話,顯示出來的數字會被其他數字覆蓋 3. 我想要增加INT0的功能,讓我按了外部中斷鈕,那些數字都會熄滅, 但他完全不理我,我是參考外部中斷程式的寫法 再加入這程式 #include <reg51.h> #include <intrins.h> void display( char* pointer1, int num); code char date[8]={0x5b,0x3f,0x06,0x86, 0x3f, 0xff,0x3f, 0x6f}; int i=0 ; void main(void) { IT=1; EX0=1; EA=1; while(1) display(date,8); } void display(char* pointer1,int num) { P2=0; P1=0xF8; for (i=0; i<num; i++) { P2= *(pointer1+i); if(i==7) break; P2=0; P1++; } } void dark() interrupt 0 { for (i=0; i<7; i++) { P1=0xF8+i; P2=0; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.115.104

08/11 20:07, , 1F
排版排好一點啦....
08/11 20:07, 1F
※ 編輯: c5403kinki 來自: 61.216.115.104 (08/12 11:42) ※ 編輯: c5403kinki 來自: 61.216.115.104 (08/12 11:43)
文章代碼(AID): #1EGwO5sG (ASM)