最新51单片机实验报告.doc

最新51单片机实验报告.doc

ID:62980757

大小:141.50 KB

页数:14页

时间:2021-07-23

最新51单片机实验报告.doc_第1页
最新51单片机实验报告.doc_第2页
最新51单片机实验报告.doc_第3页
最新51单片机实验报告.doc_第4页
最新51单片机实验报告.doc_第5页
资源描述:

《最新51单片机实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、精品资料51单片机实验报告........................................精品资料51单片机实验报告实验一点亮流水灯实验现象Led灯交替亮,间隔大约10ms。实验代码#includevoidDelay10ms(unsignedintc);voidmain(){while(1){P0=0x00;Delay10ms(50);P0=0xff;Delay10ms(50);}}voidDelay10ms(unsignedintc){unsignedchara,b;..............

2、..........................精品资料for(;c>0;c--){for(b=38;b>0;b--){for(a=130;a>0;a--);}}}实验原理While(1)表示一直循环。循环体内首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。实验2流水灯(不运用库函数)实验现象起初led只有最右面的那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过

3、程#include#includevoidDelay10ms(unsignedintc);........................................精品资料main(){unsignedcharLED;LED=0xfe;while(1){P0=LED;Delay10ms(50);LED=LED<<1;if(P0==0x00){LED=0xfe;}}}voidDelay10ms(unsignedintc){unsignedchara,b;for(;c>0;c--){for

4、(b=38;b>0;b--){........................................精品资料for(a=130;a>0;a--);}}}实验原理这里运用了C语言中的位运算符,位运算符左移,初始值的二进制为11111110,之后左移一次变成11111100,当变成00000000时通过if语句重置111111110.延迟函数在第一个报告已经说出了,不再多说。实验3流水灯(库函数版)实验现象最开始还是最右边的一个不亮,然后不亮的灯转移到最右边的第二个,此时第一个恢复亮度,这样依次循环。实验代码#include

5、#includevoidDelay10ms(unsignedintc);voidmain(void){........................................精品资料unsignedcharLED;LED=0xFE;while(1){P0=LED;Delay10ms(50);LED=_crol_(LED,1);}}voidDelay10ms(unsignedintc){unsignedchara,b;for(;c>0;c--){for(b=38;b>0;b--){fo

6、r(a=130;a>0;a--);}}}实验原理........................................精品资料利用头文件中的函数,_crol_(,),可以比位操作符更方便的进行2进制的移位操作,比位操作符优越的是,该函数空位补全时都是用那个移位移除的数据,由此比前一个例子不需要if语句重置操作。数码管实验实验现象单个数码管按顺序显示0-9和A-F。#includevoidDelay10ms(unsignedintc);unsignedcharcodeDIG_CODE[16]={0x3F,

7、0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};voidmain(void){unsignedchari=0;while(1){P0=~DIG_CODE[i];i++;if(i==16){........................................精品资料i=0;}Delay10ms(50);}}voidDelay10ms(unsignedintc)//Îó²î0us{unsignedchara,b;for(

8、;c>0;c--){for(b=38;b>0;b--){for(a=130;a>0;a--);}}}实验原理根据数码管的点亮原理,依次找到代表0-9,A-F的位码,用循环和延迟函数就可以达到要求了。实验动态数码管#include#

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

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

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