ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:18.21KB ,
资源ID:9340543      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9340543.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机核心实验板实验报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机核心实验板实验报告.docx

1、单片机核心实验板实验报告实验一 流水灯实验一、实验目的1) 简单I/O引脚的输出2) 掌握软件延时编程方法3) 简单按键输入捕获判断二、实验实现的功能1) 开机是点亮12发光二极管,闪烁三下2) 按照顺时针循环依次点亮发光二极管3) 通过按键将发光二极管的显示改为顺逆时针方式程序:#include#define uchar unsigned charsbit ko1=P36;sbit ko2=P37;sbit ki1=P05;sbit ki2=P06;sbit ki3=P07;tab1=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff

2、,0xff;tab2=0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3b,0x37,0x2f,0x1f;tab3=0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;tab4=0x1f,0x2f,0x37,0x3b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f;void Delay900ms() /11.0592MHz unsigned char i, j, k; i = 13; j = 156; k = 83; do do while (-k); whi

3、le (-j); while (-i);void Delay10ms() /11.0592MHz unsigned char i, j; i = 108;j = 145; do while (-j); while (-i);void flick() uchar d; while(d=2) P2=0x00; P3=0xc3; Delay900ms(); P2=0xff; P3=0xff; Delay900ms(); d+; void main() uchar b,y,n; flick(); while(1) n=b; y=(n%2); if(y=1) uchar x; for(x=0;x12;x

4、+) P2=tab3x; P3=tab4x; Delay900ms(); ko1=0; ko2=0; ki1=1; ki2=1; ki3=1; if(!ki1|!ki2|!ki3) Delay10ms(); if(!ki1|!ki2|!ki3) b+=1; while(!ki1|!ki2|!ki3); if(y=0) uchar x; for(x=0;x12;x+) P2=tab1x; P3=tab2x; Delay900ms(); ko1=0; ko2=0; ki1=1; ki2=1; ki3=1; if(!ki1|!ki2|!ki3) Delay10ms(); if(!ki1|!ki2|!

5、ki3) b+=1; while(!ki1|!ki2|!ki3); 实验二 定时器或实时时钟实验一、实验目的1) 数码管动态显示技术2) 定时器的应用3) 按键功能定义二、实验实现的功能1) 通过按键可以设定定时时间,启动定时器,定时时间到,让12个发光二极管闪烁,完成定时器功能。2) 实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。上述二个功能至少完成一种功能。程序: #include#define uchar unsigned char#define uint unsigned intsbit ko1=P36;sbit ko2=P37;sbit ki1=P05;sb

6、it ki2=P06;sbit ki3=P07;sfr P1M1=0x91;sfr P1M0=0x92;tab1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;tab2=0xf7,0xfb,0xfd,0xfe;tab34=0;uint a=0;uint b=0;void Delay100ms() /11.0592MHz unsigned char i, j, k; i = 5; j = 52; k = 195; do do while (-k); while (-j); while (-i);void Delay5ms() /11.0592

7、MHz unsigned char i, j; i = 54; j = 199; do while (-j); while (-i);void flick() uchar d; while(d=2) P2=0x00; P3=0xc3; Delay100ms(); P2=0xff; P3=0xff; Delay100ms(); d+; void show()char j; switch(j) case 0:P0=tab2j;j+;P1=tab1tab30;break; case 1:P0=tab2j;j+;P1=tab1tab31;break; case 2:P0=tab2j;j+;P1=tab

8、1tab32;break; case 3:P0=tab2j;j=0;P1=tab1tab33;break; default:break; void interrupt_timer1() interrupt 3 TH1=0xfc; TL1=0x67; a+; if(a=1000) b+; a=0; tab30=b%10; tab31=b/10%10; tab32=b/100%10; tab33=b/1000%10; show();void main() uchar m,k; uint n=1; P1M1=0x00; P1M0=0xff; TMOD=0x10; TH1=0xfc; TL1=0x67

9、; ET1=1; EA=1; while(1) if(!TR1) k=0; for(k=0;k50;k+) ko1=0; ko2=0; ki1=1; ki2=1; ki3=1; if(!ki1) Delay5ms(); if(!ki1) TR1=1; break; while(!ki1); if(!ki2) Delay5ms(); if(!ki2) n+=1; while(!ki2); if(!ki3) Delay5ms(); if(!ki3) n+=100; while(!ki3); tab30=n%10; tab31=n/10%10; tab32=n/100%10; tab33=n/100

10、0%10; for(m=0;m4;m+) P0=tab2m; P1=tab1tab3m; Delay5ms(); if(m=4) m=0; if(b=n) TR1=0; b=0; n=1; flick(); 实验三 双机通信实验一、实验目的1)UART 串行通信接口技术应用二、实验实现的功能1)用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。程序:#include#define uchar unsigned char#define uint unsigned intsbit H1=P36;sbit H2=P37;sbit L1=P05;sbit L2=P06;sbit L3=P0

11、7;sbit W1=P00;tab1e=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar num,a,b,c,n;void send();void delay(uchar x) for(a=x;a0;a-) for(b=110;b0;b-);void main() SCON=0x50; TMOD=0x20; PCON=0x00; TH1=0xf4; TL1=0xf4; TR1=1; W1=0; while(1) n=num; send(); void send() /发送 H1=0; H2=1; L1=1; L2=1; L3=1;

12、if(!L1) delay(5); if(!L1) num=1; while(!L1); if(!L2) delay(5); if(!L2) num=2; while(!L2); if(!L3) delay(5); if(!L3) num=3; while(!L3); H1=1; H2=0; L1=1; L2=1; L3=1; if(!L1) delay(5); if(!L1) num=4; while(!L1); if(!L2) delay(5); if(!L2) num=5; while(!L2); if(!L3) delay(5); if(!L3) num=6; while(!L3);

13、if(num!=n) SBUF=num; while(!TI); TI=0; if(RI) c=SBUF; RI=0; P1=tab1ec; 实验四 交通灯试验一、实验目的1) 按键、数码管、发光二极管综合应用编程技术2) 数据存储于EEPROM的技术(也可以不使用)3) 定时中断技术4) 按键中断技术二、实验实现的功能1) 对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。2) 设定参数掉电后不丢失(如果不使用EEPROM,此功能可以不实现)。3) 紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。再按该键,恢复正常显示。程序: #include#define

14、 uchar unsigned char#define uint unsigned intvoid led_show();uchar m,n;uint a=0;uint b=0;uchar k,c,d,f,g;sfr P1M1=0x91;sfr P1M0=0x92;sbit ko1=P36;sbit ko2=P37;sbit ki1=P05;sbit ki2=P06;sbit ki3=P07;sbit dh=P22;sbit dl=P21;sbit dy=P20;sbit xh=P32;sbit xl=P27;sbit xy=P26;sbit nh=P25;sbit nl=P24;sbit n

15、y=P23;sbit bh=P35;sbit bl=P34;sbit by=P33;tab1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;tab2=0xf7,0xfb,0xfd,0xfe;tab34=0;void show() char j; switch(j) case 0:P0=tab2j;j+;P1=tab1tab30;break;case 1:P0=tab2j;j+;P1=tab1tab31;break;case 2:P0=tab2j;j+;P1=tab1tab32;break;case 3:P0=tab2j;j=0;P1=tab

16、1tab33;break;default:break; void Delay5ms() /11.0592MHz unsigned char i, j; i = 54; j = 199; do while (-j); while (-i);void interrupt_timer1() interrupt 3 TH1=0xfc; TL1=0x67; a+; if(a=1000) b+; a=0; if(b=0) tab30=(m-b)%10; tab31=(m-b)/10%10; tab32=(m-b)/100%10; tab33=(m-b)/1000%10; if(b=m) tab30=(d-

17、b)%10; tab31=(d-b)/10%10; tab32=(d-b)/100%10; tab33=(d-b)/1000%10; if(b=d) tab30=(f-b)%10; tab31=(f-b)/10%10; tab32=(f-b)/100%10; tab33=(f-b)/1000%10; if(b=f) tab30=(g-b)%10; tab31=(g-b)/10%10; tab32=(g-b)/100%10; tab33=(g-b)/1000%10; show();void det() ko1=1; ko2=0; ki1=1; ki2=1; ki3=1; if(!ki1|!ki2

18、|!ki3) Delay5ms(); if(!ki1|!ki2|!ki3) P2=0xdb; bl=1; by=1; xh=0; bh=0; while(!ki1|!ki2|!ki3); while(ki1) if(!ki1|!ki2|!ki3) while(!ki1|!ki2|!ki3); b=0; break; void led_show() while(1) dl=1; xl=1; nl=1; bl=1; dh=1; xh=1; nh=1; bh=1; dy=1; xy=1; ny=1; by=1; d=(m+n); f=(2*m+n); g=(2*m+2*n); if(b=0) /东西

19、通 dl=0; xl=0; nl=1; bl=1; dh=1; xh=1; nh=0; bh=0; dy=1; xy=1; ny=1; by=1; det(); if(b=m) /黄 dl=1; xl=1; nl=1; bl=1; dh=1; xh=1; nh=1; bh=1; dy=0; xy=0; ny=0; by=0; det(); if(b=d) /南北通 dl=1; xl=1; nl=0; bl=0; dh=0; xh=0; nh=1; bh=1; dy=1; xy=1; ny=1; by=1; det(); if(b=f) /黄 dl=1; xl=1; nl=1; bl=1; dh

20、=1; xh=1; nh=1; bh=1; dy=0; xy=0; ny=0; by=0; det(); if(b=g) b=0; void main()P1M1=0x00; P1M0=0xff; TMOD=0x10; TH1=0xfc; TL1=0x67; ET1=1; EA=1; TR1=0; while(1) if(!TR1) k=0; for(k=0;k50;k+) ko1=0; ko2=1; ki1=1; ki2=1; ki3=1; if(!ki1) Delay5ms(); if(!ki1) TR1=1;led_show();while(!ki1);if(!ki2) Delay5ms(); if(!ki2) m+=1; while(!ki2); if(!ki3) Delay5ms(); if(!ki3)n+=1; while(!ki3); tab30=m%10; tab31=m/10%10; tab32=n%10; tab33=n/10%10; for(c=0;c4;c+) P0=tab2c; P1=tab1tab3c; Delay5ms(); if(m=4) c=0; 指导老师签字: 日期:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1