文档详情

测试程序说明.doc

发布:2017-05-04约2.41万字共36页下载文档
文本预览下载声明
测试顺序 电源测试 串口测试 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;
显示全部
相似文档