您好,欢迎访问三七文档
实验一一实验目的1.学习KeilC51集成开发环境的操作;2.熟悉TD-51系统板的结构及使用。二实验设备PC机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51系统平台”、或“TD-PITE教学实验系统+TD-51系统平台”三实验内容编写实验程序,将00H~0FH共16个数写入单片机内部RAM的30H~3FH空间。通过本实验,学生需要掌握KeilC51软件的基本操作,便于后面的学习。四实验程序ORG0000HLJMPSTARTORG0040HSTART:MOVR0,#30HMOVR2,#10HMOVA,#00HMOVDPTR,#3000HLOOP1:MOV@R0,AMOVX@DPTR,INCR0INCDPTRINCADJNZR2,LOOP1SJMP$END五实验结果实验二查表程序设计实验一实验目的学习查表程序的设计方法,熟悉51的指令系统。二实验设备PC机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51系统平台”、或“TD-PITE教学实验系统+TD-51系统平台”三实验内容1.通过查表的方法将16进制数转换为ASCII码;2.通过查表的方法实现y=x2,其中x为0~9的十进制数,以BCD码表示,结果仍以BCD码形式输出。四实验步骤1.采用查表的方法将16进制数转换为ASCII码根据ASCII码表可知,0~9的ASCII码为30H~39H,A~F的ASCII码为41H~46H,算法为(假定待转换的数存放在R7中):当R7≤9时,相应的ASCII码为:R7+30H;当R7>9时,相应的ASCII码为:R7+30H+07H。实验步骤:(1)编写实验程序,编译、链接无误后联机调试;(2)将待转换的数存放在R7中,如令R7中的值为0x86;(3)在语句行设置断点,运行程序;(4)程序停止后查看寄存器R6、R5中的值,R6中为高4位转换结果0x38,R5中为低4位转换结果0x36;(5)反复修改R7的值,运行程序,验证程序功能。五实验程序及结果ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#ASCTABMOVA,R7MOVP1,AANLA,#0FHMOVCA,@A+DPTRMOVR5,AMOVP2,AMOVA,R7ANLA,#0F0HSWAPAMOVCA,@A+DPTRMOVR6,AMOVP2,ASJMPMAINASCTAB:DB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39HDB41H,42H,43H,44H,45H,46HEND2.通过查表实现y=x2,x为0~9的十进制数,存放与R7中,以BCD码的形式保存,结果y以BCD码的形式存放于寄存器R6中。实验步骤:(1)编写实验程序,经编译、链接无误后,进入调试状态;(2)改变R7的值,如0x07;(3)在语句行处设置断点,运行程序;(4)程序停止后,查看寄存器R6中的值,应为0x49;(5)反复修改R7中的值,运行程序,验证程序功能。程序及结果:ORG0000HLJMPSTARTORG0040HSTART:MOVA,R7MOVDPTR,#TABMOVCA,@A+DPTRMOVR6,AMOVP1,ASJMP$RETTAB:DB00H,01H,04H,09H,10H数据排序实验一实验目的熟悉51的指令系统,掌握数据排序程序的设计方法。二实验设备PC机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51系统平台”、或“TD-PITE教学实验系统+TD-51系统平台”三实验内容在单片机片内RAM的30H~39H写入10个数,编写实验程序,将这10个数按照由小到大的顺序排列,仍写入RAM的30H~39H单元中。四实验步骤(1)编写实验程序,编译、链接无误后联机调试;(2)为30H~39H赋初值,如:在命令行中键入ECHARD:30H=9,11H,5,31H,20H,16H,1,1AH,3FH,8后回车,可将这10个数写入30H~39H中;(3)将光标移到语句行SJMP$处,点击命令,将程序运行到该行;(4)查看存储器窗口中30H~39H中的内容,验证程序功能;(5)重新为30H~39H单元赋值,反复运行实验程序,验证程序的正确实验程序及结果ORG0000HLJMPMAINORG0100HMAIN:MOVR6,#0AHMOVR0,#30HLOP:;CLRF0MOVA,R6MOVR7,A;DECR7MOVA,R0MOVR1,ALOP1:INCR1MOVA,@R0SUBBA,@R1JCNEXTMOVA,@R0XCHA,@R1MOV@R0,A;SETBF0NEXT:DJNZR7,LOP1;JNBF0,ENDDincr0DJNZR6,LOPMOVP1,39HMOVP2,30HENDD:SJMP$END实验三中断系统实验一实验目的了解MCS-51单片机的中断原理,掌握中断程序的设计方法。二实验设备PC机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51系统平台”、或“TD-PITE教学实验系统+TD-51系统平台”,示波器一台。三实验内容手动扩展外部中断INT0、INT1,当INT0产生中断时,使LED8亮8灭闪烁4次;当INT1产生中断时,使LED由右向左流水显示,一次亮两个,循环4次。因为51单片机加入了中断系统,从而提高了CPU对外部事件的处理能力和响应速度。增强型单片机SST89E554RC共有8个中断源,即外部中断0(INT0)、定时器0(T0)、外部中断1(INT1)、定时器1(T1)、串行中断(TI和RI)、定时器2(T2)、PCA中断和Brown-out中断。四实验步骤1.定时器中断实验实验步骤:(1)编写实验程序,经编译、链接无误后,启动调试功能;(2)运行实验程序,使用示波器观察P1.0及P1.1引脚上的波形;(3)使用示波器测量波形周期,改变计数值,重新运行程序,反复验证程序功能;(4)按复位键退出调试状态。五实验程序及结果ORG0000HLJMPSTARTORG0003HLJMPEINT0ORG0013HLJMPEINT1ORG0040HSTART:MOVP1,#00HSETBIT0SETBEX0SETBIT1SETBEX1SETBEASJMP$EINT0:MOVR7,#04HELP0:MOVP1,#0FFHACALLDELAYMOVP1,#00HACALLDELAYDJNZR7,ELP0RETIEINT1:MOVA,#03HMOVR7,#10HILP1:MOVP1,ARLARLAACALLDELAYDJNZR7,ILP1RETIDELAY:MOVR6,#0FFHDLP1:MOVR5,#0FFHDLP2:DJNZR5,DLP2DJNZR6,DLP1RETEND实验现象:每按一次INT0都会出现LED亮8灭闪烁4次,而每按一次INT1,LED流水闪烁,一次亮两个,循环4次。优先级:ORG0000HLJMPSTARTORG0003HLJMPEINT0ORG0013HLJMPEINT1ORG0040HSTART:MOVP1,#00HMOVIP,#00HSETBIT0SETBEX0SETBIT1SETBEX1SETBEASETBPX1SJMP$EINT0:MOVR7,#04HELP0:MOVP1,#0FFHACALLDELAYMOVP1,#00HACALLDELAYDJNZR7,ELP0RETIEINT1:MOVA,#03HMOVR4,#10HILP1:MOVP1,ARLARLAACALLDELAYDJNZR4,ILP1RETI;延时子程序DELAY:MOVR6,#0FFHDLP1:MOVR5,#0FFHDLP2:DJNZR5,DLP2DJNZR6,DLP1RETEND实验现象:按INT1后在LED灯流水显示期间按下INT0,LED灯仍会出现流水显示现象,而不是闪烁。当按INT0灯闪烁其间按INT0灯出现流水显示,说明INT1优先级要高于INT0。实验四定时/计数器实验一实验目的1.了解MCS-51单片机定/计数器的工作原理与工作方式;2.掌握定时/计数器T0和T1在定时器和计数器两种方式下的编程;3.学习定时/计数器T2的可编程时钟输出功能。二实验设备PC机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51系统平台”、或“TD-PITE教学实验系统+TD-51系统平台”,示波器一台。三实验内容1.使用定时器0与定时器1进行定时,在P1.0和P1.1引脚上输出方波信号,通过示波器观察波形输出,测量并记录方波周期。2.将定时/计数器1设定为计数器方式,每次计数到10在P1.0引脚上取反一次,观察发光二极管的状态变化。四实验步骤1.定时器实验按照实验要求编写实验程序。实验步骤:(1)编写实验程序,编译、链接后联机调试;(2)运行实验程序,使用示波器观察P1.0与P1.1引脚上的波形并记录周期;(3)改变计数初值,观察实验现象,验证程序功能。五程序及结果#includeSST89x5x4.hsbitWave1=P1^0;sbitWave2=P1^1;//用查询法voidmain(){TMOD=0x11;//定时器方式寄存器TH0=0x00;//定时器0计数初值TL0=0x00;TH1=0x00;//定时器1计数初值TL1=0x00;TR0=1;//启动定时器0TR1=1;//启动定时器1while(1){if(TF0==1)//定时器0溢出标志{TH0=0x00;TL0=0x00;Wave1=~Wave1;TF0=0;}elseif(TF1==1)//定时器1溢出标志{TH1=0x00;TL1=0x00;Wave2=~Wave2;TF1=0;}}实验现象:LED灯D0,D1亮灭间替。2.计数器实验实验实验步骤:(1)按图3-3-1连接实验线路图;(2)编写程序,联机调试;(3)运行实验程序,按单次脉冲KK1,观察发光管D0的状态,每10次变化一次;(4)实验结束,按复位按键退出调试程序及结果#includeSST89x5x4.hsbitP10Value=P1^0;//用查询法voidmain(){TMOD=0x60;//设定定时器1计数方式TH1=0xF6;//计数初值TL1=0xF6;TR1=1;//启动定时器1for(;;){while(TF1==0);//判定时器1溢出标志P10Value=~P10Value;TF1=0;}}
本文标题:单片机实验报告
链接地址:https://www.777doc.com/doc-5553479 .html