烟台大学光电--单片机实验程序.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:14 大小:106KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

烟台大学光电--单片机实验程序.ppt

烟台大学光电--单片机实验程序.ppt

预览

免费试读已结束,剩余 4 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

查表程序采用查表的方法将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。ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#ASCTAB;表格首地址送DPTRMOVA,R7;R7中为待转换的数ANLA,#0FH;取低4位MOVCA,@A+DPTR;查表MOVR5,A;低4位转换结果送R1MOVA,R7ANLA,#0F0H;取待转换数的高4位SWAPA;高4位与低4位交换MOVCA,@A+DPTR;查表MOVR6,A;高4位转换结果送R2SJMPMAIN;设置断点观察结果;ASCII码表ASCTAB:DB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39HDB41H,42H,43H,44H,45H,46HEND2.通过查表实现y=x2x为0~9的十进制数,存放与R7中,以BCD码的形式保存,结果y以BCD码的形式存放于寄存器R6中。ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#SQR;取表格首地址MOVA,R7;要计算的值MOVCA,@A+DPTR;查表MOVR6,A;结果保存MOVP1,A;在P1口接发光管显示SJMPMAIN;平方表SQR:DB00H,01H,04H,09H,16HDB25H,36H,49H,64H,81HEND排序实验实验内容:在单片机片内RAM的30H~39H写入10个数,编写实验程序,将这10个数按照由小到大的顺序排列,仍写入RAM的30H~39H单元中。ORG0000HLJMPMAINORG0100HMAIN:MOVR0,#30H;数据起始地址MOVR7,#0AH;排序数据个数:10个数LP1:MOVA,R7MOVR6,AMOVA,R0MOVR1,AINCR1LP2:MOVA,@R0;取出一个数据CLRCSUBBA,@R1;与第二个数进行比较JCLP3;R0中的数小于R1中的数则跳转MOVA,@R0;R0中的数大于R1中的数,交换数据XCHA,@R1MOV@R0,ALP3:INCR1DJNZR6,LP2INCR0DJNZR7,LP1SJMP$END数据输入输出I/O实验1、功能描述:数字量由P1口输入,P2口输出数据输入输出I/O实验1、功能描述:数字量由P1口输入,P2口输出ORG0000HLJMPSTARTORG0100HSTART:ORLP1,#0FFH;P1口为输入MOVA,P1;读P1口的值MOVP2,A;输出到P2口SJMPSTA/*文件名:Int2.Asm*//*功能描述:手动控制外部中断INT0,INT1.INT0中断产生则扩展P1口*//*使LED闪烁4次,INT1中断产生则使LED流水显示4周.*//***************************************************/ORG0000HLJMPSTARTORG0003HLJMPEINT0ORG0013HLJMPEINT1ORG0040HSTART:MOVP1,#00HSETBIT0;定义外部中断0为边沿触发SETBEX0;使能外部中断0SETBIT1;定义外部中断1为边沿触发SETBEX1;使能外部中断1SETBEA;使能总中断SJMP$EINT0:MOVR7,#04H;外部中断0中断服务程序ELP0:MOVP1,#0FFHACALLDELAY;调用延时程序MOVP1,#00HACALLDELAYDJNZR7,ELP0RETI定时器实验1、功能描述:使用定时器0及定时器1进行定时,分别在P1.0及P1.1上输出方波信号。2、功能描述:将