流水灯c语言及汇编程序

流水灯c语言及汇编程序

ID:9058119

大小:58.00 KB

页数:6页

时间:2018-04-16

流水灯c语言及汇编程序_第1页
流水灯c语言及汇编程序_第2页
流水灯c语言及汇编程序_第3页
流水灯c语言及汇编程序_第4页
流水灯c语言及汇编程序_第5页
资源描述:

《流水灯c语言及汇编程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、一、51单片机流水灯C语言源程序文件说明:流水灯C程序程序说明:MCU采用AT89S51,外接11.0592M晶振,P2口输出  #include  //51系列单片机定义文件#defineucharunsignedchar//定义无符号字符#defineuintunsignedint//定义无符号整数voiddelay(uint);  //声明延时函数voidmain(void){uinti;uchartemp;while(1){   temp=0x01;   for(i=0;i<8;i++)//8个

2、流水灯逐个闪动   {    P2=~temp;    delay(100);  //调用延时函数    temp<<=1;   }temp=0x80;for(i=0;i<8;i++)//8个流水灯反向逐个闪动  {   P2=~temp;   delay(100);  //调用延时函数   temp>>=1;  }   temp=0xFE;for(i=0;i<8;i++)//8个流水灯依次全部点亮   {    P2=temp;    delay(100);  //调用延时函数    temp<<=1;   }  te

3、mp=0x7F;  for(i=0;i<8;i++)//8个流水灯依次反向全部点亮   {    P2=temp;    delay(100);  //调用延时函数    temp>>=1;   }}}voiddelay(uintt)  //定义延时函数     {registeruintbt;       for(;t;t--)       for(bt=0;bt<255;bt++);     }二、汇编程序:(同样P2为输出端口)u左移依次循环:ORG0000HSJMPMAINORG0030H主程序开始的地址MAIN

4、:MOVR2,#08H设置循环次数MOVA,#0FEH赋初值NEXT:MOVP2,A把初值送到P2口LCALLDELAY延时RLA左移一位DJNZR2,NEXT判断循环次数是否到,没有跳转到NEXT继续执行SJMPMAIN重复循环DELAY:MOVR3,#0FFH延时程序DEL2:MOVR4,#0FFHDEL1:NOPDJNZR4,DEL1DJNZR3,DEL2RETEND结束u二边散开后缩进(查表指令)ORG0000HSJMPMAINORG0030HMAIN:MOVSP,#60HMOVDPTR,#TAB把表首地址送到D

5、PTRMOVR2,#06设置循环次数LOOP:CLRA清零AMOVCA,@A+DPTR查表指令MOVP1,A把A中的值送到P1口LCALLDELAY延时INCDPTR改变数据指针DJNZR2,LOOP判断循环是否到,没有跳转LOOPSJMPMAIN重复循环DELAY:MOVR0.#10延时DEL2:MOVR1,#200DEL1:MOVR3,#255DJNZR3,$DJNZR1,DEL1DJNZR0,DEL2RETTAB:DB0E7H,0DBH,0BDH,7EH,0BDH,0DBH查表END

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

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

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