单片机原理实验报告(详细)_第1页
单片机原理实验报告(详细)_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

5/5单片机原理实验报告(详细)湖南城市学院

实验报告

2018-2019学年上学期

姓名:***

班级学号:******

实验课程:单片机原理及应用

实验室名称:电子工程实验室

湖南城市学院信息与电子工程学院实验中心印制

实验项目名称:实验一指示灯和开关控制器实验

一、实验目的及要求

1、学习51单片机I/O基本输入/输出功能,掌握汇编语言的编程与调试方法;

2、熟悉proteus软件,了解软件的结构组成与功能;

3、学会在ISIS模块中进行汇编程序录入、编译和调试;

4、理解单片机程序控制原理,实现指示灯/开关控制器的预期功能。

二、实验原理

实验电路原理图如图1所示,图中输入电路由外接在P3口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。

图1实验原理图

在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的灯亮状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。软件编程原理为:(1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0;

灭灯:向P2口送入数值0FFH;

闪烁3次:循环3次;

闪烁快慢:由软件延时时间决定。

(2)根据开关状态控制灯亮或灯灭

开关控制灯:将P3口(即开关状态)内容送入P2口;

无限持续:无条件循环。

程序流程图如图2所示。

图2实验程序流程图

三、实验仪器设备及装置

(1)硬件:电脑一台;

(2)仿真软件:Proteus;

(3)编程软件KeiluVision4。

其中,仿真软件ISIS元件清单如表1所示。

表1仿真软件ISIS元件清单

四、实验内容和步骤

(一)实验内容:

(1)熟悉ISIS模块的汇编程序编辑、编译与调试过程;

(2)完成实验的汇编语言的设计与编译;

(3)练习ISIS汇编程序调试方法,并最终实现实验的预期功能。

(二)实验步骤:

(1)提前阅读与实验相关的阅读材料;

(2)参考指示灯/开关控制器的原理图和实验的元件清单,在ISIS中完成电路原理的绘制;

(3)参考程序流程图在KeiluVision4中编写和编译汇编语言程序;

(4)利用ISIS的汇编调试功能检查程序的语法和逻辑错误;

(5)观察仿真结果,检验与电路的正确性。

五、实验数据记录与处理或实验现象与分析

1、实验程序

#include

#defineucharunsignedchar

#defineuintunsignedint

voiddelay(uchark)

{

uintj;

while(k--)

for(j=0;j

#defineucharunsignedcharvoiddelay(unsignedinttime){unsignedintj=0;

for(;time>0;time--)

for(j=0;j15)counter=0;delay(500);

}

}

}

#include

#defineucharunsignedchar

voidmain(void){

ucharreceiv;

P2=0x3f;

TMOD=0x20;

TH1=0xf4;

TL1=0xf4;

PCON=0x00;

TR1=1;

SCON=0x50;

while(1){

while(RI==1){

RI=0;

receiv=SBUF;

SBUF=receiv;

while(TI==0);

TI=0;

P2=receiv;

}

}

}

2、实验现象

下面的图2.1和图2.2仿真的效果图,发送值和接收值分别显示在双方LED数码管上。双机通信双方LED数码管上面显示相同的数字,从0—F递加,保持双方一致。

图2.1仿真图

图2.2仿真图

3.PCB设计图

图3PCB设计图

图43D仿真电路图

六、问题讨论

实验程序中PCON=0x00是什么意思?

答:PCON是电源控制寄存器,是为CHMOS型单片机(如80C51)的电源控制而设置的专用寄存器。在HMOS单片机中,该寄存器中除最高位之外,其他位都没有定义。最高位(SMOD)是串行口波特率的倍增位,当SMOD=1时,串行口波特率加倍。系统复位时,SMOD=0。

实验项目名称:实验四直流数字电压表设计

一、实验目的及要求

掌握LED动态显示和A/D转换接口设计方法。

二、实验原理

实验电路原理图如图1所示,图中4联共阴极数码管以I/O口方式连接单片机,其中段码A—G和DP接P0.0—P0.7口(需上拉电阻),位码1—4(4#为最低位数码管,依此类推)接P2.0—P2.3口;ADC0808采用I/O口方式接线,其中被测模拟量由0#通道接入,位地址引脚ADDA、ADDB、ADDC均接地,START和ALE并联接P2.51,EOC接P2.6,OE接P2.7,CLOCK接P2.4。

图1实验原理图

在编程软件配合下,要求实现如下功能:解调电位器RV1可使其输出电压在0—5V之间变化。经A/D转换后,数码管以十进制数形式动态显示电位器的调节电压。

动态显示编程原理:将待显示数据拆解为3位十进制数,并分时地将其在相应数码管上显示。一次完整的输出过程为:最低位数据送P0口→P2.3清零→软件延时→P2.3置1→中间位数据送P0口→P2.2清零→软件延时→P2.2置1→最高位数据送P0口→P2.1清零→软件延时→P2.1置1,如此无限循环。

A/D转换编程原理:启动信号与输出使能信号(START、ALE、OE)均由软件方式的正脉冲提供;结束信号(EOC)由P2.6的高电平提供。A/D转换时钟信号由T0定时方式2中断提供(设系统晶振频率为12MHz)。一次完整的A/D转换过程为:发出启动信号→查询EOC标志→发出OE置1信号→读取A/D结果→发出OE清零结果。如此无限循环

三、实验仪器设备及装置

(1)硬件:电脑一台;

(2)仿真软件:Proteus;

(3)编程软件KeiluVision4。

其中,仿真软件ISIS元件清单如表1所示。

表1仿真软件ISIS元件清单

四、实验内容和步骤

(一)实验内容

(1)数码管动态显示编程;

(2)A/D转换查询法编程;

(3)考察延时量对动态显示效果的影响。

(二)实验步骤

(1)提前阅读与实验相关的阅读材料

(2)参考图1及表1,在ISIS中完成电路原理图的绘制;

(3)采用KeiluVision4进行C51动态显示和A/D转换的编程及调试。

五、实验数据记录与处理或实验现象与分析

1、实验程序

#include0;time--)

for(j=0;j<125;j++);

}

voidshow()

{

unsignedinti,j;

P2_0=0;

j=tmp/1000;

i=j%1000;

P0=led_mod[i];

delay(10);

P2_0=1;

P2_1=0;

j=tmp/100;

i=j%100;

P0=led_mod[i];

delay(10);

P2_1=1;

P2_2=0;

j=tmp/10;

i=j%10;

P0=led_mod[i];

delay(10);

P2_2=1;

P2_3=0;

i=tmp%10;

P0=led_mod[i];

delay(10);

P2_3=1;

}

voidmain()

{

while(1){

START=0;

START=1;

START=0;

while(ad_busy==1);OE=1;

tmp=P1;

OE=0;

show();}

}

2、实验现象

图2实验效果图

图3运行效果图

实验结果分析:本实验是使用A/D转换器将模拟信号(电位器输出电压)转换为数字信号,A/D转换器与80C51接在一起,转换结果通过80C51以十进制形

温馨提示

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

评论

0/150

提交评论