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

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

ID:51493150

大小:106.00 KB

页数:14页

时间:2020-03-24

烟台大学光电--单片机实验程序.ppt_第1页
烟台大学光电--单片机实验程序.ppt_第2页
烟台大学光电--单片机实验程序.ppt_第3页
烟台大学光电--单片机实验程序.ppt_第4页
烟台大学光电--单片机实验程序.ppt_第5页
资源描述:

《烟台大学光电--单片机实验程序.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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。ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#ASCTAB;表格首地址送DPTRMOVA,R7;R7中为待转换的数ANLA,#0FH;取低4位MOVCA,@A+DPTR;查

2、表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码的形式存

3、放于寄存器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单

4、元中。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,LP1SJM

5、P$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周.*//****

6、***********************************************/#include"SST89x5x4.h"#include"Intrins.h"voiddelay(void){unsignedintx;for(x=0;x<0xFFFF;x++);}voidint0_isr()interrupt0//INT0中断{unsignedcharj;for(j=0;j<4;j++){P1=0xFF;//使LED闪烁delay();P1=0x00;delay();}}void

7、int2_isr()interrupt2//INT1中断{unsignedchari=0x03,j;for(j=0;j<16;j++){P1=i;//使LED流水显示i=_crol_(i,2);delay();}P1=0x00;}voidmain(){P1=0x00;IT0=1;EX0=1;//中断0IT1=1;EX1=1;//中断1EA=1;while(1);}ORG0000HLJMPSTARTORG0003HLJMPEINT0ORG0013HLJMPEINT1ORG0040HSTART:MO

8、VP1,#00HSETBIT0;定义外部中断0为边沿触发SETBEX0;使能外部中断0SETBIT1;定义外部中断1为边沿触发SETBEX1;使能外部中断1SETBEA;使能总中断SJMP$EINT0:MOVR7,#04H;外部中断0中断服务程序ELP0:MOVP1,#0FFHACALLDELAY;调用延时程序MOVP1,#00HACALLDELAYDJNZR7,ELP0RETI;外部中断1中断服务程序EINT1:MOVA,#03HMOVR7,#10HILP1:MOVP1,ARLARLAACAL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。