📄 说明.txt
字号:
//------------------------------------------------------------------------------
// 该程序由湖北枝江 - 飞扬软件工作室 吴涛 友情提供11/22/2003
#include <REG51.H>
#include <intrins.h>
#include "mytest.h"
#include "lcd.h"
#include "key.h"
#include "misc.h"
#include "24c02.h"
/*
使用说明:
一、硬件配置:
需要先安装液晶162A,所有测试过程中的信息都将通过此输出。
如果测试串口发送,需要先与PC连线并启动串口接收软件,波特率4800,无校验位,数据位8,停止位1。
测试顺序如下:
1、指示灯;
2、数码管;
3、喇叭
4、24C02
5、串口
当提示按键继续时,按主板上的键或遥控器按键都可以。由于液晶占用了 TXD 口,因此做串行口
测试时会接收到一部分乱码,所以你们需要将接收软件打到 16 进制显示,看到 Hello PC! 的编
码即可。
其中键盘和红外线遥控可在等待按键继续时测试,液晶通过输出信息测试。
*/
#ifdef MONITOR51
char code reserve [3] _at_ 0x23;
#endif
void extern0_ISR () interrupt 0 { }
void timer0_ISR () interrupt 1 { }
void extern1_ISR () interrupt 2 { }
void timer1_ISR () interrupt 3 { }
void serial_ISR () interrupt 4 { }
//-------------------------------------
static const char caryLEDData [] =
{
0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60
};
void main (void)
{
if (TestBoard () == TRUE)
{
ShowMessage ("Test OK.");
beep (0xFF);
}
while (TRUE);
}
bit TestBoard ()
{
char i;
char *ps;
WaitKeyDown ("Press any key to start...");
//-------------------------------
ShowMessage ("Testting indicator light...");
P1 = 0xFE;
for (i = 0; i < 7; i++)
{
Delay (2); // waitting one second.
P1 = _crol_ (P1, 1);
}
//-------------------------------
WaitKeyDown ("Press any key to test LED...");
ShowMessage ("Testting LED...");
P2 = 0xFD;
for (i = 0; i < 6; i++)
{
P0 = caryLEDData [i];
Delay (2); // waitting one second.
P2 = _crol_ (P2, 1);
}
P0 = caryLEDData [8];
P2 = 0;
Delay (2); // waitting one second.
P2 = 0xFF;
P0 = 0xFF;
//-------------------------------
WaitKeyDown ("Press any key to test speaker...");
ShowMessage ("Testting speaker...");
beep (0x7F);
//-------------------------------
WaitKeyDown ("Press any key to test 24C02...");
ShowMessage ("Testting 24C02...");
WT24 (0, 0xAA);
WT24 (0xFF, 0x55);
if (RD24 (0) != 0xAA || RD24 (0xFF) != 0x55)
{
ShowMessage ("Test 24C02 failed !");
beep (0x7F);
return FALSE;
}
//-------------------------------
WaitKeyDown ("Press key to test serial port...");
P3 = 0xFF;
TMOD = 0x20;
TL1 = 0xF3;
TH1 = 0xF3;
TR1 = 1;
SCON = 0x40;
PCON |= 0x80;
ps = "Hello PC!";
while (*ps != '\0')
{
SBUF = (unsigned char)*ps++;
while (TI == 0);
TI = 0;
}
//-------------------------------
return TRUE;
}
void WaitKeyDown (char code* szMessage)
{
ShowMessage (szMessage);
WaitKey ();
}
void ShowMessage (char code* szMessage)
{
ClearScreen ();
ShowText (szMessage);
}
sbit SPEAKER = P3^3;
void beep (unsigned char cDelay)
{
char i;
unsigned char j, n;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 0xFA; j++)
{
SPEAKER ^= 1;
for (n = 0; n < cDelay; n++)
{
_nop_ ();
_nop_ ();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -