测试程序说明.doc
文本预览下载声明
测试顺序
电源测试
串口测试
ZLG7289测试
RAM测试
片选测试
中断模块测试
时钟芯片测试
LCD测试
打印机测试
AD参考电压测试
MAX197测试
TLC2543测试
DAC0832测试
逻辑开关和发光二极管测试
CPLD测试
测试平台:PC机,串口线,并口线,单片机开发版
软件:Keil51 SLISP 串口调试助手
在测试电源部分之前,我们需要先用万用表检查电源和地之间是否有短路现象。然后上电,观察三个指示电源的发光二极管是否正常点亮,然后用万用表测量电源电压,看是否是+5V,+12V,-12V
对单片机进行测试,首先必须测试人机交互的一些接口是否正常,这样才可以对单片机
的运行情况调试,我们首先测试串口。
我们使用Keil51建立一个工程,添加“串口.C”文件,如下图所示
测试程序的源代码如下:
#include reg52.h
#include stdio.h
unsigned char dat;
main()
{
/*串口程序,当收到0x55时,发送Hello I am cc.*********************/
while(1)
{
SCON=0x52;
TMOD=0x20;
TH1=0xFD; // 波特率为9600,晶振=11.0592M
TR1=1;
while(!RI);
dat = SBUF;
if (dat == 0x55)
{
printf(Hello I am cc. \n);
}
/*串口程序END***************************************************/
}
}
然后选择Options for Target选项,如下图所示,在Output一栏里,选择Create HEX File
功能,如下图所示,然后按“F7”编译工程,则会在工程目录下生成一个“串口.hex”文件
打开SLISP软件,如下图所示
软件配置如上图所示,并行端口选择LPT1,下载模式选择TURBO,器件选择AT89S52,在“FLASH存储器”一栏中,我们选择刚才编译好的“串口.hex”文件,单击“编程”,则会把程序直接烧写到单片机的FLASH里去(程序烧写进去之后,程序会直接运行,不需要复位),烧写成功后如下图所示
接下来我们需要打开“串口调试助手”,如下图所示
我们把波特率设置为9600,8位数据,1位停止位,无校验位。这样我们便可以和单片机进行通信了。如图所示,选择“十六进制发送”,数据栏里填写“55”,这样,我们每点击一次“手动发送”,PC机就会向单片机发送0x55,当单片机接收到0x55时,便会向PC机发送字符串“Hello I am cc.”,如图所示。
接下来我们测试数码管和键盘,首先我们需要在INT区把KEY用跳线冒跳到INT0,其
余四个跳到VCC,程序编译和下载的过程和上面类似,这里不在赘述,原程序如下
#include reg52.h
#include stdio.h
#include absacc.h
typedef unsigned char uchar;
sbit CS=P1^4;
sbit CLK=P1^7;
sbit DIO=P1^6;
sbit KEY=P3^2;
//需要在INT区把KEY用跳线冒跳到INT0,其余四个跳到VCC
//这样,P3^2就相当于直接连接到key
uchar half_hign;
uchar half_low;
bdata uchar com_data;
sbit mos_bit=com_data^7;
sbit low_bit=com_data^0;
void delay_50us()
{
uchar i;
for (i=0; i6; i++){;}
}
void delay_8us()
{
uchar i;
for (i=0; i1; i++){;}
}
void delay_50ms()
{
uchar i,j;
for(j=0;j50;j++)
for(i=0;i125;i++){;}
}
void delay_5s()
{
uchar i = 100;
while(i--)
delay_50ms();
}
void send(uchar sebuf)
{
uchar i;
com_data=sebuf;
CLK=0;
CS=0;
delay_50us();
for(i=0;i8;i++)
{
delay_8us();
DIO=mos_bit;
CLK=1;
delay_8us();
com_data=com_data1;
CLK=0;
显示全部