[問題] 拜託大家幫我解答一下8051程式問題
大家好, 小妹最近在自學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)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章