网站大量收购独家精品文档,联系QQ:2885784924

测试程序说明.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测试程序说明

测试顺序 电源测试 串口测试 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;

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档