单片机实验报告含仿真设计_第1页
单片机实验报告含仿真设计_第2页
单片机实验报告含仿真设计_第3页
单片机实验报告含仿真设计_第4页
单片机实验报告含仿真设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用课程 实验报告 专业:班级:姓名:学号:实验一、keilC51及 proteus软件的使用一、实验目的:1、掌握 keil和 proteus软件的基本操作2、通过具体实例掌握 keil和 proteus软件的使用。二、实验原理:keil使用步骤,proteus使用步骤三、程序:四、实验结果分析:五、总结:学会了使用 keil和 proteus软件,掌握了利用 keil和 软件进行仿真的步骤。实验二、并行输入 /输出接口实验 一、实验目的: 1、进一步熟悉 keil仿真软件、 proteus仿真软件的使用。 2、了解并熟悉单片机 I/O口和 LED灯的电路结构,学会构建简单的流水 灯电路。 3、掌握 C51中单片机 I/O口的编程方法和使用 I/O口进行输入输出的注 意事项。 二、实验原理: MCS51单片机的串行口在实际使用中通常用于三种情况:利用方式0扩展并行i/0接口:利用方式1实现点对点的双机通信;利用方式2或方式3实现多机通信。利用方式0扩展并行i/0接口51单片机的串行口在方式0时,若外接一个串入并出的移位串出的移位寄存器,就可以扩展并行输入口。三、程序: #include<reg51.h>sbitP1_0=P1^0;voidmain(){unsignedchari;unsignedintj;SCON=0x00;i=0x01;for(;;){P1_0=0;while(!TI){i}P1_0=1;TI=0;for(j=0;j<=254;j++){;}i=i*2;if(i==0x00)i=0x01;}}四、实验结果分析: 五 、 总结 : 进一步熟悉了 keil仿真软件 、 proteus仿真软件的使用 。 了解并 熟悉单片机 I/O口和 LED灯的电路结构,学会了构建简单的流水灯电路。 掌握了 C51中单片机 I/O口的编程方法和使用 I/O口进行输入输出的注意 事项。 实验三、定时器 /计数器实验( )—查询方式产生 500us的方波 一、实验目的: 1、熟悉 keil仿真软件、 proteus的使用和 C51定时程序的编写; 2、了解 51单片机中定时、计数的概念,熟悉 51单片机内部定时 /计数器 的结构与工作原理; 3、掌握查询方式处理定时 /计数的工作过程, 4、掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。二、实验原理:通常利用定时/计数器来产生周期性的波形。利用定时/计数器产生周期性波形的基本思想是:利用定时/计数器产生周期性的定时,定时时间到则对式2。方式2形成周期性的定时不需重置初值;如定时比较长,则选择方式0或方式1;如时间很长,则一个定时/计数器不够用,这时可用两个定时/计数器或一个定时/计数器加软件计数的方法。三、程序: #include<reg51.h>sbitP1_0=P1^0;voidmain(){TH0=0x06;TL0=0x06;TR0=1;for(;;){if(TF0){TF0=0;P1_0=!P1_0;}}}四、实验结果分析: 五、总结:熟悉了keil仿真软件、proteus的使用和C51定时程序的编写;了解51单片机中定时、计数的概念,熟悉了51单片机内部定时/计数器的结构与工作原理;掌握了查询方式处理定时/计数的工作过程,掌握了定时/计数器在C51中的设置与程序的书写格式以及使用方法。实验四、定时器 /计数器实验( )—中断方式产生 500us的方波 一、实验目的: 1、熟悉 keil仿真软件、 proteus的使用和 C51定时程序的编写; 2、进一步熟悉 51单片机内部定时 /计数器的结构与工作原理; 3、掌握中断方式处理定时 /计数的工作过程。 二、实验原理 从 P1.0 输 出 周 期 为 500us 的 方 波 , 只 需 P1.0 每 250取 反 后一次 即 可 。当系统时钟为 12MHz 时 , 定 时 / 计 数 器TO 工 作于方式2时,最大的定时时间为,满足250us的定时要求,方式控制字应没定为00000010B( H ) 。 系 统 时钟 为 z , 定 时 s, 计 数 值 N 250 , 初 值 X=256-250=6 , 则 THO=TLO=06H 。:三、程序: :#include<reg51.h>sbitP1_0=P1^0;voidmain(){TH0=0x06;TL0=0x06;EA=1;ET0=1;TR0=1;while(1);}voidtime0_int(void)interrupt1{}四、实验结果分析:keilproteusC5151/方式处理定时/计数的工作过程。实验五:串行接口实验( )—工作方式 0扩展并行 IO一、实验目的: 1, 掌握串行口工作方式 0的程序设计; 2、熟悉 51单片机串口的结构和工作原理 3、掌握串口工作方式 0的工作特点。 二、实验原理 :MCS51单片机的串行口在实际使用中通常用于三种情况:利用方式0扩展并行i/0接口:利用方式1实现点对点的双机通信;利用方式2或方式3实现多机通信。利用方式0扩展并行i/0接口51单片机的串行口在方式0时,若外接一个串入并出的移位串出的移位寄存器,就可以扩展并行输入口。三、程序: #include<reg51.h>sbitP1_0=P1^0;voidmain(){unsignedchari;unsignedintj;SCON=0x00;i=0x01;for(;;){P1_0=0;while(!TI){i}P1_0=1;TI=0;for(j=0;j<=254;j++){;}i=i*2;if(i==0x00)i=0x01;}}四、实验结果分析: 五、总结:掌握了串行口工作方式 0的程序设计;熟悉了 51单片机串口的 结构和工作原理。掌握了串口工作方式 0的工作特点。 实验六:串行接口实验( )—双机通信 一、实验目的: 1、掌握串行口工作方式 1的程序设计; 2、进一步掌握 51单片机串口的结构和工作原理 3、掌握串口工作方式 1的工作特点。 二、实验原理 :式1:即8位异步通信方式,波特率为1200bps,既要发送,也要接收,所以串口控制字为50H。由于选择的是方式1,波特率由定时/计数器TI的溢出率和电源 控 制 寄 存 器 PCON 中 的 SMOD 位 决 定 , 则 需 对 定 时 计 数 器 l 初 始 化 。 设 振 荡 频 率 为z,取SMOD=0,波 特 率 为 1200bps , 定 时 / 计 数 器 T1选 择 为 方 式 2 , 初 值 如 下 初 值 = 256 一 foscx2SMOD / ( 12 ×波特率32 ) =根 据 要 求 , 定 时 / 计 数 器 T1的 方 式 控 制 为 20H 。发送过程采用查询方式,在主程序中读取PI口的开关状态,通过串口发送;接收过程采用中断方式,接收的内容送P2口,通过P2口的发光二极管显示。三、程序: #include<reg51.h>voidmain(){unsignedchari;SP=0x60;SCON=0X50;TMOD=0x20;TL1=0xe6;TH1=0xe6;TR1=1;EA=1;ES=1;while(1){i=P1;SBUF=i;while(TI==0);TI=0;}}voidfunins(void)interrupt4{EA=0;RI=0;P2=SBUF;EA=1;}四、实验结果分析: 五、总结:掌握了串行口工作方式 1的程序设计;进一步掌握了 51单片机 串口的结构和工作原理,掌握了串口工作方式 1的工作特点。 实验七:中断系统实验( )—交通灯模拟控制 一、实验目的 1、掌握单片机外部中断的原理及过程。 2、掌握单片机外部中断程序的设计方法。 3、掌握单片机外部中断时中断方式的选择方法。 二、实验原理 :交通灯正常运行时,可分为4个状态:状态1,东西方向绿灯,南北方向红灯20秒,状态编码“00100001”;状态2,东西方向黄灯,南北方向红灯3秒,状态编码“01000001”;状态3,南北方向绿灯,东西方向红灯20秒,状态编码“”状态4,南北方向黄灯,东西方向红灯3秒,状态编码“0001m00”。东西发生异常时,红灯闪60秒;南北发生异常时,南北通行,东西禁止,南北方向绿灯闪,东西方向红灯闪60秒。主程0和外中断1管理,外接开关模拟异常发生,在中断0和外中断1,设置为边沿触发方式。时间单位采用500ms信号,由定时计数器0定时50ms,循环10次产生,定时计数器0采用查询方式,主程序中设定定时计数器0的工作方式:方式1。三、程序: #include<reg51.h>voiddelay500ms(unsignedchark);voidmain(void){TMOD=0x01;IE=0x85;TCON=0x05;while(1){P1=0x21;delay500ms(40);P1=0x41;delay500ms(6);P1=0x12;delay500ms(40);P1=0x14;delay500ms(6);}}voidint_0(void)interrupt0{unsignedchari1,i2;i1=P1;for(i2=0;i2<60;i2++){P1=0x21;delay500ms(1);P1=0x00;delay500ms(1);}P1=i1;}voidint_1(void)interrupt2{unsignedcharj1,j2;j1=P1;for(j2=0;j2<60;j2++){P1=0x12;delay500ms(1);P1=0x00;delay500ms(1);}P1=j1;}voiddelay500ms(unsignedcharm){unsignedchark1,k2;TH0=0x3C;TL0=0xB0;TR0=1;for(k1=0;k1<m;k1++){{while(!TF0);TF0=0;TH0=0x3C;TL0=0xB0;}}}四、实验结果分析: 五、总结:掌握了单片机外部中断的原理及过程。掌握了单片机外部中断程 序的设计方法。掌握了单片机外部中断时中断方式的选择方法。 (2)一、实验目的:1、进一步掌握外部中断技术的基本使用方法。2二、实验原理:在单片机监控系统中,信号的监控用外部中断来实现,51单片机外部中断只有两个,而监控信号通常有多个,这里就涉及到多个中断源的处理,处理时往往通过中断加查询的方法来实现。连接时,一方面把多路监控信号中断源通过“线与”接于51单片机外部中断引脚上,另一方面,每一个中断源再连接到一根并口线上。这里用4个开关(BUTTON)模拟4路监控信号,通过4输入的与门(AND一4)连接到INTO引脚上,监控信号正常情况为高电平,发生超限变为低电平。4路监控信号又分别与P2口的低4位并口线相连。在该电路中,无论哪个中断源提出请求,系统都会响应TO中断。响应后,进入中断服务程序,在中断服务程序中通过对并口线的逐一检测来确定是哪一个中断源提出了中断请求,进一步转到对应的中断服务程序入口位置执行对应的处理程序。三、程序:#include<reg51.h>#include#defineucharunsignedsbitP10=P1^0;sbitsbitsbitsbitP20=P2^0;sbitP21=P2^1;sbitP22=P2^2;sbitP23=P2^3;voiddelay(){uchari,j;for(i=0;i<250;i++)for(j=0;j<250;j++){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}}voidint0()interrupt0{delay();delay();}voidmain(void){IT0=1;EA=1;while(1){}}四、实验结果分析: 实验九:简单的 I/O扩展实验 一、实验目的: 1、掌握单片机系统中扩展简单 I/O口的基本方法。 2、掌握扩展 I/O口的编程方法。 二、实验原理 :74LS373的数据锁存控制端LE是由8051单片机的片外数据存储器写信号WR和P2.7通过或非门(NOR)后相连的,输出允许端OE直接接地,输入端有数据来时直接通过输出端输出。当执行向片外数据存储器的写指令时,指令中片外数据存储器的地址使P2.7为低电平,则数据锁存控制端LE有效,数据总线上的数据就送到74LS373的输出端74LS244的控制端10E和20E连在一起,与8051单片机的片外数据存储器读信号RD和P2.7通过或门(OR)后相连,当执行从片外数据存储器读的指令时,指令中片外数据储器的地址使P2.7为低电平,则控制端10E和20E有效,74LS244的输入端的数据通过输出端送到数据总线,然后 传 送 到 8051 单 片 机 的 内 部 。 这 里 , 扩 展 的 简 单 口访问时 只 需 地 址 线 最 高 位 P2.7 为 低 电平即可,其余地 址 没 有 用 , 可 取 为 低 电 平 , 因 此 对 应 的片 外 据 在 器 地 址 为 7FFFH。三、程序: #include<reg51.h>#include<absacc.h>#defineucharunsignedcharvoidmain(void){uchari;while(1){}}四、实验结果分析: 五、总结:掌握了单片机系统中扩展简单 I/ O口的基本方法。掌握了扩展I/O口的编程方法。实验十:可编程 I/O口的扩展实验 一、实验目的: 1、熟悉 8255A的结构和功能; 2、熟悉 8255A的几种工作方式; 3、掌握 8255A与单片机的接口; 4、掌握 8255A的编程方法。 二、实验原理 :8255A 的 数 据 线 与 51 单 片 机 的 数 据 总 线 相 连 , 读 写 信 号 线 对 应 相 连 , 地 址 线 AO 、Al与51单片机的地址总线的AO和Al相连,片选信号线CS与51单片机的P2.7相连。8255A的A口、B口、C口和控制口的地址分别是7F00H、7F01H、7F02H和7F03H(高8位地址线未用的取1,低8位地址线未用的取0),8255A扩展的并行接口B口接8个开关(DIPSWC_8)输入,A口接8个发光二极管(LED-BARGRAPH-RED)输出。三、程序: #include<reg51.h>#include<absacc.h>#defineucharunsignedcharvoidmain(void){uchari;XBYTE[0x7f03]=0x82;while(1){}}四、实验结果分析: 五、总结:熟悉了 8255A的结构和功能;熟悉了 8255A的几种工作方式;掌握了 8255A与单片机的接口;掌握了 8255A的编程方法。实验十一:LED显示器与 51单片机的接口实验一、实验目的:1、掌握 LED显示器的基本结构与原理2、掌握 LED数码管的静态显示和动态显示3、掌握 LED显示器与单片机的接口的编程特点二、实验原理:8255A 扩 展 并 行 1/0 接 口 接 8 位 共 阴 极 数 码 管 MPX8-CC-BLUE) , 采 用 动 态 显 示 方 式 , 8 位 数 码 管的段选线(A~H)与8255A的A口相连,8位数码管的公共端(1~8)与8255A的B囗相连。也即8255A的B口输出位选码选择要显示的数码管,8255A的A口输出字段码使数码管显示相应的字符,8255A的A口和B口都工作于方式0输出。A口、B口、c口和控制口的地址分别为7F00H、7F01H、7F02H和7F03H(高8位地址线未用的取1,低8位地址线未用的取0)三、程序:#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineucharunsignedintvoiddelay(uint);voiddisplay(void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论