网站大量收购独家精品文档,联系QQ:2885784924

大连海事大学单片机(下)实验程序总结——吴颖晶.doc

大连海事大学单片机(下)实验程序总结——吴颖晶.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大连海事大学单片机(下)实验程序总结——吴颖晶.doc

讲义第三章实验十 1、编写程序,将8XX51单片机的内部数据存储器20H单元和35H单元的数据相乘,结果存到外部数 据存储器中。 #includeabsacc.h int xdata *c;main() { c=0x0000; DBYTE[0x20]=0x02; DBYTE[0x35]=0x03; *c=DBYTE[0x20]*DBYTE[0x35]; while(1); } 2、P1口接8个发光二极管LED,编程实现8个LED灯依次点亮0.5秒钟,如此循环。设fosc=12MHz。 (定时器采用中断方式编程) #includereg51.h #includeintrins.h #define uchar unsigned char #define uint unsigned int uchar i; uchar a=10; timer0()interrupt 1 using 1 { TH0=-50000/256; TL0=-5000%256; a--; } void main() { while(1) { TMOD=1; P1=0xfe; TH0=-50000/256; TL0=-5000%256; EA=1; ET0=1; TR0=1; while(1) if(a==0) { P1=_crol_(P1,1); a=10; } } } (选作)将内部RAM从21H单元开始存放的压缩BCD码数转换为二进制数,并存入30H为首址的单元,BCD码的长度存放在20H单元中#includereg51.h #define uchar unsigned char void delay(T) { uchar i,j; for(i=0;iT;i++) for(j=0;j110;j++); } uchar key() { uchar data key0,key1; P1=0xFF; key0=P10xFF; if(key0==0xFF) return 0; delay(20); key1=P10xFF; if(key1==0xFF) return 0; if(key0!=key1) return 0; return key1; } main() { uchar data value=0; uchar data KEY; while(1) { KEY=key(); switch(KEY) { case 0xFE:value++;break; case 0xFD:value--;break; case 0XFB:value1;break; case 0XF7:value1;break; } P2=value; } }. 讲义第四章实验六 设计接口、编写程序,实现点阵LED的静态显示。 (1)利用点阵LED的任意一行,间隔点亮LED(如10101010); #include reg51.h void main() { while(1) { P1= 0XAA; P0 = 0x01; } } (2)利用点阵LED的一行,实现跑马灯的功能,LED从 左到右轮流、循环显示。 #include reg51.h #include intrins.h void delay() { unsigned char i,j; for(i=0;i255;i++) for(j=0;j255;j++); } void main() { P1= 0XAA; P0 = 0x00; while(1) { P1 = _crol_(P1,1); delay(); } } 2、编写程序,实现点阵LED的动态显示:在点阵 LED上显示‘A’字符。 #include reg51.h unsigned char tab0[]={0xfe,0xfd,0xfb}; unsigned char tab1[]={0xdf,0x8f,0x77}; void delay() { unsigned char i,j; for(i=0;i70;i++) for(j=0;j50;j++); } void main() { unsigned char i=0; for(i=0;i3;i++) { P0=tab0[i]; P1=tab1[i]; delay(); } } 大实验:直流电机的调速控制系统(第四章实验十一) #include reg51.h #include absacc.h #define uchar unsigned char #define V_TH0 0XFF #defi

文档评论(0)

docindpp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档