资源描述:
《单片机实验程序(1)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、三、实验程序1.\将片外RAM3050-306FH中数据转移至片内70-8FH中ORG0000HAJMPMAIN\上电,转向主程序ORG0030H\主程序入口MAIN:MOVDPTR,#3050H\数据指针指向地址3050HMOVA,#04H\将立即数04H送A寄存器MOVR0,#20HNEXT:MOVX@DPTR,AINCDPTR\数据指针DPTR自加一DJNZR0,NEXT\判断是否跳转到NEXT或继续向下执行MOVDPTR,#3050HMOVR0,#70HMOVR2,#20HNEXT1:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DJNZR2,
2、NEXT1SJMP$\等待END2.\设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮ORG0000HSJMPMAIN\上电,转向主程序ORG0003H\外部中断0向量入口AJMPINSERORG0030H\主程序入口MAIN:SETBEX0\允许外部中断0中断SETBIT0\选择边沿触发方式SETBEA\CPU开中断HERE:SJMPHERE\等待中断ORG0200HINSER:MOVR2,#08H\设置循环次数MOVA,#01H\赋初值,设置高电平亮NEXT:MOVP2,A\将初值送往P2口LCALLDELAY
3、\延时RLA\左移一位DJNZR2,NEXT\判断循环次数,是否跳转到NEXT或继续向下执行RETI\中断返回DELAY:MOVR3,#0FFH\延时程序DEL2:MOVR4,#0FFHDEL1:NOPDJNZR4,DEL1DJNZR3,DEL2RETEND3.\将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术ORG0000HLJMPMAINORG0030H\主程序起始地址MAIN:MOV80H,#05H\将立即数50H转送内存单元80HMOVA,80H\将内存单元80H中的内容送寄存器AMOVDPTR,#TABMOVCA,@A+DPTR
4、\A寄存器内容加指针偏移量后送A寄存器MOV80H,ARETTAB:DB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39H4.1\中断方式产生50HZ方波ORG0000HAJMPMAINORG0030H\主程序入口MAIN:MOVTMOD,#10H\设置定时器工作模式为模式1MOVTH1,#0D8H\装入T1计数初值MOVTL1,#0F0HSETBET1\开中断SETBEA\CPU开中断SETBTR1\启动定时器T1HERE:SJMPHERE\等待中断ORG001BH\T1中断向量地址CLRTF1\将TF1清零CPLP2.0\P
5、2.0取反输出MOVTH1,#0D8H\重装初值MOVTH0,#0F0HRETI;中断返回END4.2\查询方式产生50HZ方波ORG0000HAJMPMAINORG0030H\主程序入口MAIN:MOVTMOD,#10H\设置定时器的工作模式为模式1SETBTR1\启动定时器T1LOOP:MOVTH1,#0D8H\装入T1计数初值MOVTH0,#0F0HJNBTF1,$\T1没有溢出则等待CLRTF1\产生溢出,清标志位CPLP2.0\P2.0取反输出SJMPLOOP\循环END