Éú³ÉµÄÄ¿±ê´úÂëЧÂʷdz£Ö®¸ß£¬¶àÊýÓï¾äÉú³ÉµÄ»ã±à´úÂëºÜ½ô´Õ£¬ÈÝÒ×Àí½â¡£ÔÚ¿ª·¢´óÐÍÈí¼þʱ¸üÄÜÌåÏָ߼¶ÓïÑÔµÄÓÅÊÆ¡£
³ÌÐò²¿·ÖÓÉÖ÷³ÌÐò¡¢T0ÖжϳÌÐò¡¢É¨ÃèÏÔʾ×Ó³ÌÐò¡¢¼ÆÊ±¼Ó£¨¼õ£©1ÃëµÄ×Ó³ÌÐò¡¢ÔÝÍ£×Ó³ÌÐò¡¢¿ì±íºÍ»Ø±í×Ó³ÌÐò¡¢ÑÓʱ×Ó³ÌÐòµÈ×é³É¡£ 3.2.1ÑÓʱģ¿éÉè¼Æ
void delay(int t) µ÷ÓøÃ×Ó³ÌÐòÄÜʵÏÖÑÓʱ¹¦ÄÜ { ͨ¹ý²ÎÊýt£¬¿ÉÒÔµ÷³ÉÑÓʱʱ¼ä while(t--) {
unsigned int i; ÉèÖñäÁ¿iµÄ±ä»¯·¶Î§£¬Äܵ÷ÕûÑÓʱµÄµ¥Î»Ê±¼ä for(i=0;i<200;i++); ³¤¶È£¬iԽС£¬ÑÓʱµÄµ¥Î»Ê±¼äÔ½¶Ì£¬¾«¶ÈÔ½¸ß } }
3.2.2 ÊýÂë¹Ü¶¯Ì¬Ë¢ÐÂÏÔʾ³ÌÐò
void display(int i,int j,int x,int y) ±äÁ¿i£¬j£¬x£¬y·Ö±ðΪ·Ö£¬Ã룬A·ÖÊý£¬B·ÖÊý {
if(jie==1&&bujin!=2) µ±Öмä±äÁ¿jie==1ʱ£¬ÎªÉϰ볡£¬´Ëʱ¶ÔP1¸³Öµ
P1=0xbf; ʹP1=0xbf, ¼´P1=1011 1111B,Éϰ볡ָʾµÆ¶ÔÓ¦µãÁÁ
P2=0xfe;
ÊýÂë¹Ü¶¯Ì¬Ë¢ÐÂÏÔʾ³ÌÐò P2=1111 1110, iΪ·ÖÖÓ
P0=seg[i0/10]; P2=0xfe£¬ËùÒÔË¢ÐÂÏÔʾʱ¼äµÄ·ÖÖÓʮ룬µ÷ÓÃÑÓʱ³ÌÐò£¬ delay(1); ÑÓʱÊýÂë¹ÜµÄµãÁÁ P2=0xff; P0=0;
P2=0xfd; ͬÀí£¬¶¯Ì¬Ë¢ÐÂʱ·ÖÖÓ¸öλ²¢ÑÓʱµãÁÁ P0=seg[i]; delay(1); P2=0xff; P0=0;
12
P2=0xfb; ͬÀí£¬¶¯Ì¬Ë¢ÐÂʱÃëÖÓʮλ²¢ÑÓʱµãÁÁ P0=seg[j0/10]; delay(1); P0=0; P2=0xff;
P2=0xf7; P0=seg[j]; delay(1); P0=0; P2=0xff;
P2=0xef;
P0=seg[x0/10]; delay(1); P2=0xff; P0=0;
P2=0xdf; P0=seg[x]; delay(1); P2=0xff; P0=0;
P2=0xbf;
P0=seg[y0/10];
delay(1); P0=0; P2=0xff;
ͬÀí£¬¶¯Ì¬Ë¢ÐÂʱÃëÖÓ¸öλ²¢ÑÓʱµãÁÁ ͬÀí£¬¶¯Ì¬Ë¢ÐÂA·ÖÊýʮλ²¢ÑÓʱµãÁÁ
ͬÀí£¬¶¯Ì¬Ë¢ÐÂA·ÖÊý¸öλ²¢ÑÓʱµãÁÁ ͬÀí£¬¶¯Ì¬Ë¢ÐÂB·ÖÊýʮλ²¢ÑÓʱµãÁÁ 13
P2=0x7f; ͬÀí£¬¶¯Ì¬Ë¢ÐÂB·ÖÊýʮλ²¢ÑÓʱµãÁÁ
P0=seg[y]; delay(1); P0=0; P2=0xff; }
±¾Éè¼ÆÖи÷¸öÊýÂë¹Ü²ÉÓö¯Ì¬Çý¶¯£¬Ê¹¸÷λÊýÂë¹ÜÖð¸öÂÖÁ÷ÊÜ¿ØÏÔʾ£¬ÓÉÓÚɨÃèËٶȼ«¿ì£¨±¾ÊµÑéÖдóԼÿ20ºÁÃëË¢ÐÂÒ»´Î£©£¬ËùÒÔÏÔʾЧ¹ûÓ뾲̬Çý¶¯Ïàͬ¡£
3.2.3 T0ÖжϳÌÐò
void t0(void) interrupt 1 {
TH0=0xb1; ¶Ô¶¨Ê±Æ÷T0ËÍÈë¼ÆÊý³õÖµ£¬ÓÉÓÚTH0=0xb; TL0=0x10; TL0=0x10 ¹Ê¶¨Ê±Æ÷¶¨Ê±Îª20ºÁÃ룬¼´Ã¿ if(n==0)
20ºÁÃëµ÷ÓÃÒ»´Îvoid t0(void) interrupt 1
±¾Éè¼Æµ÷Óö¨Ê±Æ÷T0£¬¼ÆÊ±µ¥Î»ÎªÒ»Ãë
{ n=60;
m--; } i++; if(i==50)
{ ÁîiֵΪ50 50*20ºÁÃë=1Ã룬À´ÊµÏÖ¼ÆÊ± n--; µ¥Î»ÎªÒ»Ãë i=0; }
display(m,n-1,x,y); µ÷Óö¯Ì¬Ë¢ÐÂÏÔʾ³ÌÐò£¬¼´Ã¿20ºÁÃëË¢ÐÂÒ» } ´ÎÊýÂë¹Ü
14
3.2.4 ¼Ó·Ö×Ó³ÌÐò void keyjiafen1()
{ µ±¼ì²âµ½RXD°´¼ü°´ÏÂʱ£¬µ÷ÓÃÑÓʱ×Ó³ÌÐò if(RXD==0) ʵÏÖÏû³ý°´¼ü¶¶¶¯¹¦ÄÜ£¬¼´£¬µ± delay(1);£¬
{ ¼ì²âµ½°´¼ü°´ÏÂʱºò£¬ÑÓʱ£¬°´¼üÈÔ°´Ï£¬ËµÃ÷ if(RXD==0) { while(RXD==0); x++;
}
}
if(TXD==0) {
delay(1); if(TXD==0) {
while(TXD==0); y++;
}
} }
3.2.5¼õ·Ö×Ó³ÌÐò void keyjianfen1()
{ if(WR==0) {
°´¼üȷʵ°´Ï£¬·Ç¶¶¶¯£¬A¶ÔÓ¦¼Ó·Ö ¼ì²âTXD¼Ó·Ö°´¼üʱºò°´Ï£¬B¼Ó·Ö
¼õ·Ö°´¼ü¼ì²â×Ó³ÌÐò£¬Æä»ù±¾Ëã·¨¼°¹¦ÄÜÓë¼Ó·Ö
Ïàͬ 15
Ïà¹ØÍÆ¼ö£º