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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

春季单片机实验报告书28页精选文档.docx

1、春季单片机实验报告书28页精选文档实验一 I /O口输出实验LED流水灯实验一、 要练说,得练看。看与说是统一的,看不准就难以说得好。练看,就是训练幼儿的观察能力,扩大幼儿的认知范围,让幼儿在观察事物、观察生活、观察自然的活动中,积累词汇、理解词义、发展语言。在运用观察法组织活动时,我着眼观察于观察对象的选择,着力于观察过程的指导,着重于幼儿观察能力和语言表达能力的提高。 实验电路及连线“教书先生”恐怕是市井百姓最为熟悉的一种称呼,从最初的门馆、私塾到晚清的学堂,“教书先生”那一行当怎么说也算是让国人景仰甚或敬畏的一种社会职业。只是更早的“先生”概念并非源于教书,最初出现的“先生”一词也并非有

2、传授知识那般的含义。孟子中的“先生何为出此言也?”;论语中的“有酒食,先生馔”;国策中的“先生坐,何至于此?”等等,均指“先生”为父兄或有学问、有德行的长辈。其实国策中本身就有“先生长者,有德之称”的说法。可见“先生”之原意非真正的“教师”之意,倒是与当今“先生”的称呼更接近。看来,“先生”之本源含义在于礼貌和尊称,并非具学问者的专称。称“老师”为“先生”的记载,首见于礼记?曲礼,有“从于先生,不越礼而与人言”,其中之“先生”意为“年长、资深之传授知识者”,与教师、老师之意基本一致。MCU 模块其实,任何一门学科都离不开死记硬背,关键是记忆有技巧,“死记”之后会“活用”。不记住那些基础知识,怎

3、么会向高层次进军?尤其是语文学科涉猎的范围很广,要真正提高学生的写作水平,单靠分析文章的写作技巧是远远不够的,必须从基础知识抓起,每天挤一点时间让学生“死记”名篇佳句、名言警句,以及丰富的词语、新颖的材料等。这样,就会在有限的时间、空间里给学生的脑海里注入无限的内容。日积月累,积少成多,从而收到水滴石穿,绳锯木断的功效。 PB-EDU-011硬件连接表P20D1P21D2P22D3P23D4P24D5P25D6P26D7P27D8+5V+5VGNDGND二、 、实验流程图#include /加载头文件#include /使用库函数void delay() /定义延时函数 unsigned ch

4、ar i,j; for(i=0;i255;i+) for(j=0;j255;j+);main() P2=0xfe; /最低位是低电位,灌电流 while(1) P2=_crol_(P2,1); /移位依次点亮 delay();实验二 定时器实验一、实验电路及连线MCU模块PB-EDU-011P10D1+5V+5VGNDGND硬件连接表二、实验程序流程图 定时中断服务程序 主程序 试验程序如下:#include #include /使用库函数sbit K=P32; /定义void delay(int i) /延时 int j; for(i;i0;i-) for(j=0;j255;j+) ;voi

5、d init(); /void main(void) init(); /初始化 EA=1; /开总中断 while(1) P1=0x00; /全亮 delay(127); P1=0xff; /全灭 delay(127); /持续void init() EA=1; /开总中断 EX0=1; /外部中断0void init0() interrupt 0 P1=0xfe; /最低位亮 delay(200); while(1) P1=_crol_(P1,1); /带进位循环左移 delay(127); /延时255毫秒 if(K=1) /检测开关状态 break; /实验三 单个外部中断实验一、实验电

6、路及连线硬件连接表MCU模块PB-EDU-011P10P17D1D8INT0K1+5V+5VGNDGND二、实验程序流程主程序框图 外部子程序框图试验程序如下:#includeunsigned char time;sbit K=P10; void t1_init() TMOD=0X10; /定时器T1方式1定时 16位 IE=0x88; /总中断允许定时器T1中断 TH1=0x3c; /装入时间常数 50ms (65536-50000)/256 TL1=0xb0; /(65536-50000)%256 TR1=1; /启动定时器 void main() K=1; /P1.0口置高 t1_ini

7、t(); /中断初始化 time=0; /设定循环初值 while(1); /等待中断void t1_func() interrupt 3 /中断函数 TH1=0x3c; /装入时间常数 50ms TL1=0xb0; if(time20) /循环20次 达到1000ms time=time+1; else if(time=20) time=0; K=K; /P1.0口取反闪烁 实验四 双单片机通信实验 一、实验电路及连线硬件连接表MCU模块PB-EDU-002PB-EDU-012PB-EDU-011P20P27Com1Com8P00P07L-AL-HP10P13R1-R4P14P17C1-C4

8、P33K1INT0INT+5V+5VGNDGND二、实验流程图/*试验程序如下*/#include reg51.h#define uchar unsigned char#define uint unsigned int#define outk P1#define out P0#define con P2uchar codeseg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/共阳极二极管编码uchar key_buffer8=0xc0,0xc0,0xbf,0xbf,0xbf,0x

9、bf,0xc0,0xc0;/选通数码管,1100 0000;1100 /0000;1011 1111; 1011 1111; 1011 1111; 1011 1111;1100 0000;1100 0000;没什么用,/在程序中重新赋值了void seg_scan(void);uchar scan(void);void delayms(uint);volatile uchar s_seg=0;bit ok;uchar key,send,rec;void main(void) TMOD=0X21; /中断初始化 TH1=0XFD; TL1=0XFD;/ TR1=1; /启动定时器 TH0=(65

10、536-3000)/256; TL0=(65536-3000)%256;/装载初值,30ms TR0=1;/启动定时器0 SCON=0X50; /0101 0000, PCON=0X00;/0000 0000,波特率未加倍 EA=1; /开总中断 EX1=1; /允许外部中断1 IT1=1; /方式1 EX0=1; /允许外部中断0 IT0=1; /方式1 ET0=1; /允许定时器中断 ES=0; /允许串行口中断 while(1) / outk=0xf0; if(ok)/可以显示 ok=0; seg_scan();/扫描显示uchar scan(void) uchar k=16,m,n,i

11、n; delayms(10); outk=0xf0; /判断有键按下 if(outk&0xf0)!=0xf0) /发生变化,有键按下 for(m=0;m4;m+) outk=(0xfem); /扫描低4位,1110、1101、1011、0111 in=outk; for(n=0;n(4+n); /移位扫描高四位 if(in&0x01)=0)/若有变化,被改变 delayms(10);/延时消抖 if(in&0x01)=0) k=n+m*4;/行数乘以4加上列数 break; if(k!=16) break;/k被改变,则跳出不再循环检测 return(k);/返回数值void delayms(

12、uint j) /延时ms级 uchar i; for(;j0;j-) i=250; while(-i); i=249; while(-i);void seg_scan(void)/数码管扫描程序 out=key_buffers_seg; con=(1s_seg); s_seg+; if(s_seg=8) s_seg=0; /重新开始扫描void ext0()interrupt 0 EX0=0;/关闭外部中断0 key=scan(); if(key!=16) send=key,key_buffer0=segkey/10,key_buffer1=segkey%10; EX0=1;/开启外部中断0

13、void timer0(void)interrupt 1 ok=1;/ TH0=(65536-3000)/256;/ TL0=(65536-3000)%256;/30ms的初值装载 out=0xff;/关闭void ext1()interrupt 2/中断传送数据 EX1=0;/外部中断1关闭 ES=0;/关串行口中断,保证顺利发送 SBUF=send;/缓冲器中送入数据 while(!TI);/等待发送完成,TI=1时,循环结束 TI=0;/软件置零,关中断 ES=1;/开中断 EX1=1;/开外部中断1void com()interrupt 4/串行口中断 RI=0; /接收到数据进入中断

14、,软件置零 rec=SBUF; /存储接收到的数据 key_buffer6=segrec/10,key_buffer7=segrec%10; /存储十位与个位实验五 单片机与PC之间串行通信实验一、实验电路及连线使用MCU模块,用串口延长线将其和PC相连。使用PB006板接入一按键到P3.5,P3.0接到PB005模块的RXD,P3.1接到PB005模块的TXD,。四、实验说明1、主要知识点概述:本实验用到的主要知识点是:MAX232工作原理和Proteus虚拟终端使用。在简单的应用中,最常用的是MAX232电路。它只需要有3条线即可完成通信,分别是 第二脚RXD , 第3脚TXD ,第5脚G

15、ND。串行通信与单片机之间的接口:由于串行通信的电平逻辑定义是+15V( 高电平1)-15V(低电平0) 而单片机中分别用5V ,0V 来表示1,0 它们之间必须通过电平转换才可以完成通信。 此设计中将两个虚拟终端按图示挂于电路中,属性分别设置如下:VT1:2、实验效果说明:PROTEUS中,运行仿真后,在弹出虚拟终端窗口中选上HEX DISPLAY MODE,每次按下按键SW1,两个虚拟终端显示51单片机发送的字符01。实际硬件实验中,连接好硬件后,按下按键,通过串口调试助手查看单片机发送的字符。VT2:五、实验流程图试验程序如下:#includesbit a=P35; /供查询信号void

16、 init() SCON=0x50; PCON=0x80; /波特率加倍 TI=0; /定时器0 EA=1; /开总中断 ET1=1; TMOD=0x20; /定时方式1, TH1=0xfd; /溢出率:每秒钟溢出的次数,溢出率*定时时间=1秒 TL1=0xfd; /9600,溢出率/16=波特率,定时时间=1/(16*波特率)秒 TR1=1;main() init(); while(1) if(a=0)/发出了信号 SBUF=0x01;/装入缓冲器 while(!TI); /等待发送结束 TI=0;/软件置零 while(!a);/a=0时,循环;a=1时,跳出void t1() inter

17、rupt 3实验六 8255并行I/O扩展实验一、实验电路及连线MCU模块PB-EDU-011PB-EDU-06P27CS0P00-P07DB0-DB7硬件连接表K1-K8PB0-PB7D1-D8PA0-PA7ALELEP36,P37WR,RDP35RESET+5V+5V+5VGNDGNDGND二、实验程序流程图试验程序如下:#includeunsigned char xdata *con=0x7fff;/地址unsigned char xdata *pa=0x7ffc;/地址unsigned char xdata *pb=0x7ffd; /地址main() *con=0x82;/1000 0

18、010:最高位表示有效,设置为PA输出、PB输入 while(1) *pb=0xff;/全关 *pa=*pb;/外部输入被传至pa口实验七 矩阵键盘扫描实验一、实验电路及连线硬件连接表MCU模块PB-EDU-002PB-EDU-012P20P27L-AL-GP10P13R1R4P14P17C1C4+5V+5V+5VGNDGNDGND五、实验流程图#includeunsigned char table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;unsigned char key_

19、num;void delay_5ms() unsigned char i,j; for(i=0;i=25;i+) for(j=0;j=200;j+)unsigned char key_scan()/*键盘扫描原理:消抖查询:key_temp1用于赋给P1口值、key_temp0用于查询P1口值,对低四位赋高电位,按键按下时,高四位赋给是低电位,按键按下时,按下行被置为低,则再反转扫描,查处所在列,综合后知被按下间的位置*/ unsigned char key_temp0,key_temp1; P1=0x0f; key_temp0=P1; if(key_temp0!=0x0f) delay_5m

20、s(); key_temp0=P1; if(key_temp0!=0x0f) P1=0xf0; key_temp1=P1; if(key_temp0=0x0e) switch(key_temp1) case 0xe0: key_num=3;break; case 0xd0: key_num=2;break; case 0xb0: key_num=1;break; case 0x70: key_num=0;break; default: key_num=0;break; else if(key_temp0=0x0d) switch(key_temp1) case 0xe0: key_num=7;

21、break; case 0xd0: key_num=6;break; case 0xb0: key_num=5;break; case 0x70: key_num=4;break; default: key_num=0;break; else if(key_temp0=0x0b) switch(key_temp1) case 0xe0: key_num=11;break; case 0xd0: key_num=10;break; case 0xb0: key_num=9;break; case 0x70: key_num=8;break; default: key_num=0;break; e

22、lse if(key_temp0=0x07) switch(key_temp1) case 0xe0: key_num=15;break; case 0xd0: key_num=14;break; case 0xb0: key_num=13;break; case 0x70: key_num=12;break; default: key_num=0;break; return key_num;main() while(1) key_num=key_scan();/输出键值 P2=tablekey_num;/显示实验八 1602液晶显示的控制(44780)一、实验电路及连线硬件连接表MCU模块P

23、B-EDU-003PB-EDU-003P00P07DB0DB7LD0LD7P20RSP21RWP22CSALELE+5V+5VGNDGND 注:连接好以后,如果液晶无实验现象或显示不对,请通过电位计调整对比度,或按CPU板复位键对系统复位。二、实验程序流程图详细的程序流程请参考注释。#include #define uint unsigned int #define uchar unsigned char sbit rs=P20; /1602的数据/指令选择控制线 sbit rw=P21; /1602的读写控制线 sbit en=P22; /1602的使能控制线 uchar code tabl

24、e=Hello; uchar code table1=Welcome To China; void delay(uint n) uint x,y; for(x=n;x0;x-) for(y=110;y0;y-); void lcd_wcom(uchar com) /1602写命令函数 rs=0; /选择指令寄存器 rw=0; /选择写 P0=com; /把命令字送入P2 delay(5); /延时一小会儿,让1602准备接收数据 en=1; /使能线电平变化,命令送入1602的8位数据口 en=0; void lcd_wdat(uchar dat) /1602写数据函数 rs=1; /选择数据

25、寄存器 rw=0; /选择写 P0=dat; /把要显示的数据送入P2 delay(5); /延时一小会儿,让1602准备接收数据 en=1; /使能线电平变化,数据送入1602的8位数据口 en=0; void lcd_init() /1602初始化函数 lcd_wcom(0x3c); /8位数据,双列,5*7字形功能6 lcd_wcom(0x0c); /开启显示屏,关光标,光标不闪烁功能4 lcd_wcom(0x06); /显示地址递增,即写一个数据后,显示位置右移一位功能3 lcd_wcom(0x01); /清屏功能1 lcd_wcom(0x80+0x05); /显示地址设为80H(即0

26、5H,)上排第一位功能8void main() /主函数 uchar n,m=0; lcd_init(); /液晶初始化 for(m=0;m5;m+) /将table中的数据依次写入1602显示 lcd_wdat(tablem); delay(200); lcd_wcom(0x80+0x40); /重新设定显示地址为0xc4,即下排第5位 相对地址到绝对地址的变换 for(n=0;n16;n+) /将table1中的数据依次写入1602显示 lcd_wdat(table1n); delay(200); while(1); /动态停机 实验九 A/D转换实验一、实验电路及连线ADC0808是8位

27、的A/D转换器件,在本实验中,它的输出口连接到单片机的P1口,控制信号ALE和START连接到P21,时钟信号CLOCK连接到P20,EOC连接到P23,输出控制信号OE到P27,输入选择地址ADD_A、ADD_B和ADD_C连接到P24-P26。硬件连接表MCU模块PB-EDU-010PB-EDU-011P00P07D1D8P10P17DB0DB7P200809_CLKP210809_STP210809-ALEP230809_EOCP240809_AP250809_BP260809_CP270809_OE+5V+5V+5VGNDGNDGND二、实验程序流程图#includesbit clk=P20;/时钟信号sbit st=P21;/启动信号sbi

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

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