单片机实验程序.doc
上传人:sy****28 上传时间:2024-09-11 格式:DOC 页数:7 大小:55KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机实验程序.doc

单片机实验程序.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第二次循环一流水灯#include<reg51.h>调头文件sbitp3_1=P3^1;定义HYPERLINK"http://zhidao.baidu.com/search?word=%E7%89%B9%E6%AE%8A%E5%8A%9F%E8%83%BD%E5%AF%84%E5%AD%98%E5%99%A8&fr=qb_search_exp&ie=utf8"\t"_blank"特殊功能寄存器的位变量;//即定义P3_1为P3口的第1位,以便进行HYPERLINK"http://zhidao.baidu.com/search?word=%E4%BD%8D%E6%93%8D%E4%BD%9C&fr=qb_search_exp&ie=utf8"\t"_blank"位操作unsignedinta,c;定义无符号整型a,cvoiddelay(unsignedb)其中void是表示该函数的返回值是无值型的(即无任何的返回值)该函数有一个无符号的参数b{while(b-->0);}voidmain()主函数{P1=0;a=0x10;c=0x08;赋初值a=00010000,c=00001000;while(1)进入while死循环{P1=a|c;将a按位或c的值赋给P1(中间的两个灯同时亮)delay(30000);延时30000msa=a<<1;a左移一位后的值再赋给ac=c>>1;c右移一位后的值再赋给cP1=a|c;delay(30000);a=a<<1;c=c>>1;P1=a|c;delay(30000);a=a<<1;c=c>>1;P1=a|c;delay(30000);a=a<<1;左移一位c=c>>1;右移一位P1=a|c;delay(30000);a=0x10;c=0x08;}}程序功能:接在P3口的8个LED灯,从中间向两边开始亮(有八个灯,从最中间的两个开始逐渐向外亮)循环二#include<reg51.h>#include<intrins.h>//sbitp3_1=P3^1;定义P3_1为P3口的第一位unsignedchara;定义无符号字符型变量avoiddelay(unsignedb){while(b-->0);}voidmain()主函数{P1=128;a=0x80;赋初值P1=128,a=10000000;while(1){a=_cror_(a,1);a的值向右移动1位后再赋给aP1=a;将a的值赋给P1delay(10000);延时10000ms}}功能:八个灯从最下面那个开始向上亮第三次交通信号灯#include<reg51.h>调用头文件voiddelay(unsignedintx)无返回值的函数,该函数有一个无符号整型参数k{while(x-->0);}voidmain()主函数{unsignedchark;定义无符号字符型变量kwhile(1)进入while死循环{P1=0x1b;赋初值P1=00011011;东西绿灯亮,南北红灯亮delay(60000);delay(60000);delay(60000);for(k=0;k<3;k++){P1=0x19;东西黄灯闪烁delay(60000);P1=0x1b;delay(60000);}P1=0x36;东西红灯亮,南北绿灯亮delay(60000);delay(60000);delay(60000);for(k=0;k<3;k++){P1=0x26;南北黄灯闪烁delay(60000);P1=0x36;delay(60000);}}}十字路口交通信号灯,先是东西放行,南北禁行。在绿灯亮的时候黄灯亮,闪三下,红灯亮,东西禁行,南北放行。第四次显示2.56#include<reg52.h>调用头文件unsignedcharcodeLedcode[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};显示段码值unsignedchardisp[4]={10,2,5,6};显示缓存区//延时voiddelay(unsignedinti){while(i--);}voidmain()主函数{unsignedchark,n,j;无符号字符型变量k,n,jwhile(1){k=0xfe;k=11111110,for(n=0;n<4;n++){P2=k