单片机综合实验报告.doc_第1页
单片机综合实验报告.doc_第2页
单片机综合实验报告.doc_第3页
单片机综合实验报告.doc_第4页
单片机综合实验报告.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

Hefei University实验综合报告 课程名称: 单片机原理及接口技术 姓 名: 学 号: 专 业: 08级自动化(1)班 指导老师: 前 言单片机应用技术课程为一门理论与实践相结合的课程,本课程安排的实验旨在培养学生软硬件开发能力,用编程语言及硬件设备实现串、并行通讯、计数/定时、A/D、D/A等硬件接口的功能,进一步加深对常用硬件芯片的了解和应用,以及学习用单片机解决实际问题。实验要求学生利用编程语言及硬件设备实现单片机的方案设计、程序编写、硬件连接、调试,从中体会具体硬件接口的应用技巧,进一步理解硬件接口芯片,逐步掌握单片机系统的开发和应用方法。STAR ES598PCI提供实验仪具有与微机同步演示功能, 允许学生在Windows操作系统下编写、编译、连接、错误定位、调试、观察、修改系统, 不需要使用早期的PWB、TD等DOS下的调试环境。通过本实验的学习,学生可以熟悉各种类型的接口芯片,汇编语言程序的编写、调试,充分锻炼动手及编程能力。实验一 构建单片机最小系统和实验环境熟悉第一部分:实验要求一、预习要求 1构建单片机最小系统,熟悉51单片机的结构及编程方法2按照程序流程图编写出程序二、实验目的1熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。2熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。三、实验内容3.1单片机最小系统实验:1熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。2做出单片机最小系统的组成原理图,分析其各构成单元的工作原理。3.2存储单元数据传输实验1熟悉MCS51汇编指令。2进行存储单元数据传输实验,编写程序。3运行程序,验证译码的正确性。第二部分:实验过程一、单片机最小系统实验1.1 Protues绘制单片机最小系统原理图单片机最小系统的组成原理图1.2单片机最小系统151单片机最小系统复位电路的极性电容C3的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。251单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。351单片机最小系统起振电容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好。4P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。A、设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。B、设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms。 1.3实验所用单片机各部分的功能模块单片机主控单元,电源部分,独立按键,红外接收,温度传感,USB下载和通信,ATMEL单片机下载端口,流水灯,数码管,1602和128*64的插槽数码管显示电路模块128*64液晶显示实验的简单电路模块红外接收的简单电路模块温度传感器的简单电路模块流水灯实验的电路模块单片机最小系统原理电路模块ATMEL 串口下载端口模块1602液晶显示模块USB下载端口模块电源模块二、Keil C51集成环境软件的使用2.1工程的建立1建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项。2然后选择你要保存的路径,输入工程文件的名字。3这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择。 4完成上一步骤后,屏幕如图所示 2.2建立新文件1建立一个新文件单击File菜单,在弹出的下拉菜单中选中New File选项。2单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时键入正确的扩展名,并保存。3回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,弹出如下菜单,然后单击“Add File to Group Source Group 1” 屏幕如下图所示 选中Test.c,然后单击“Add ”。4即可在Target 1中键入相应程序。2.3 HEX文件生成及下载单击“Project”菜单,再在下拉菜单中单击“Built Target ” 在图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89S51单片机中。三、实验注意事项实验二 跑马灯实验及74HC138译码器第一部分:实验要求一、预习要求 1熟悉51单片机的结构及编程方法2按照程序流程图编写出程序二、实验目的1熟悉集成环境软件或熟悉Keil C51集成环境软件的使用方法。2熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。三、实验内容3.1跑马灯实验:1、熟悉集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。2、照接线图编写程序:使用P1口控制G6区的8个指示灯,循环点亮,瞬间只有一个灯亮。3、观察实验结果,验证程序是否正确。3.274HC138译码器实验:1、设计74HC138接口电路,编写程序:使用单片机的P1.0、P1.1、P1.2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。2、运行程序,验证译码的正确性。第二部分:实验过程一、单片机直接实现跑马灯1.1跑马灯原理图1.2对应程序流程图开始初始化PA口点亮发光二极管调用延时PA口数据循环左移一位循环结束? N Y结束1.3对应的实验程序代码ORG0000H LJMP START ORG0100HSTART:MOVSP,#60H MOVA,#0FFH;给A赋值 CLR C;C清零START1:RLC A;A循环左移一位MOVP1,A;初始化PA口ACALLDelay;调用延时SJMPSTART1;循环执行START1Delay:MOVR5,#2;延时Delay1:MOVR6,#0Delay2:MOVR7,#0DJNZR7,$DJNZR6,Delay2DJNZR5,Delay1RETEND二、通过74HC138译码器实现跑马灯2.1 74HC138译码器介绍174HC138译码器工作原理原理图从原理图可看出,74138有三个输入端:A0、A1、A2和八个输出端Q0Q7。当输入端A0、A1、A2的编码为000时,译码器输出为Q0=0,而Q1Q7=1。即Q0对应于A0、A1、A2为000状态,低电平有效。A0、A1、A2的另外7种组合见后面的真值表。图中S1、S2、S3为使能控制端,起到控制译码器是否能进行译码的作用。只有S1为高电平,S2、S3均为低电平时,才能进行译码,否则不论输入羰输入为何值,每个输出端均为1。274HC138译码器真值表2.2 74ls138跑马灯原理图2.3对应程序流程图开始初始化P1.0,P1.2,P1.3口点亮发光二极管调用延时循环结束? N Y结束 2.4对应实验程序代码ORG 0000HAJMP mainORG 0080H AA EQU P1.0BB EQU P1.1CC EQU P1.2;定义P1.0,P1.1,P1.2 分别为AA,BB,CC 以便在程序中描述MAIN:CLR CC;CC清零 状态1 A,B,C为000CLR BB;BB清零CLRAA;AA清零CALLDELAY;调用延时CLRCC; CC清零状态2 A,B,C 为001CLRBB;BB清零SETB AA;AA赋值1CALL DELAY ;调用延时CLR CC;CC清零状态3 A,B,C 为010SETB BB;BB赋值1CLR AA;AA清零CALL DELAY;调用延时CLR CC;CC清零 状态4 A,B,C为011SETB BB; BB赋值1SETB AA; AA赋值1CALL DELAY;调用延时SETB CC;CC赋值1 状态5 A,B,C为100CLR BB;BB清零CLR AA; AA清零CALLDELAY;调用延时SETB CC;CC赋值1 状态6 A,B,C为101CLR BB;BB清零SETB AA;AA赋值1CALLDELAY;调用延时SETB CC;CC赋值1 状态7 A,B,C为110SETB BB;BB赋值1CLR AA; AA清零CALL DELAY;调用延时SETB CC;CC赋值1 状态8 A,B,C为111SETB BB;BB赋值1SETB AA;BB赋值1CALL DELAYJMP MAIN ;DELAY:MOV R5,#2;延时部分Delay1: MOV R6, #0Delay2: MOV R7,#0 DJNZR7, $DJNZ R6,Delay2DJNZ R5,Delay1RETEND三、实验注意事项实验三 8255控制交通灯实验第一部分:实验要求一、预习要求 1熟悉51单片机的结构及编程方法2按照要求画出流程图及程序二、实验目的1了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。2熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。3尝试自行编写程序,填写实验报告。三、实验内容1设计8255接口电路,编写程序:使用8255的PA0.2、PA5.7控制LED指示灯,实现交通灯功能。2连接线路验证8255的功能,熟悉它的使用方法。第二部分:实验过程一、8255芯片介绍1.1 8255工作原理8255原理图2.2 8255工作方式8255共有三种工作方式:基本输入/输出方式、选通输入/输出方式、带选通的双向传送方式。(1)工作方式0:这是 8255A 中各端口的基本输入/输出方式。它只完成简单的并行输入/输出操作,CPU 可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合(2)工作方式1:被称作选通输入/输出方式。在这种工作方式下,数据输入/输出操作要在选通信号控制下完成。 (3)工作方式2:被称作带选通的双向传送方式。8255A中只允许端口A 处于工作方式2,可用来在两台处理机之间实现双向并行通信。其有关的控制信号由端口 C 提供,并可向 CPU发出中断请求信号。二、使用8255实现交通灯2.1实验原理图2.2程序流程图2.3实验程序代码ORG 0000HLJMP STARTORG 0100HSTART:MOV DPTR,#03FFH;8255初始化MOV A,80H;设置A口控制字MOVXDPTR,ASTART1:MOVDPTR,#00FFHMOVA,#10111101B;东西绿灯亮,南北红灯亮MOVXDPTR,AACALLDelay5;调用长延时MOVDPTR,#00FFHMOVA,#11011101B;东西黄灯亮,南北红灯亮MOVXDPTR,AACALLDelay1;调用短延时MOVDPTR,#00FFHMOVA,#11111101B;东西黄灯灭,南北红灯亮MOVXDPTR,AACALLDelay1;调用短延时MOVDPTR,#00FFHMOVA,#11011101BMOVXDPTR,AACALLDelay1MOVDPTR,#00FFHMOVA,#11111101BMOVXDPTR,AACALLDelay1MOVDPTR,#00FFHMOVA,#11011101BMOVXDPTR,AACALLDelay1MOVDPTR,#00FFHMOVA,#11111101BMOVXDPTR,AACALLDelay1; 以上部分为东西黄灯闪,南北红灯亮MOVDPTR,#00FFHMOVA,#11100111B;东西红灯亮,南北绿灯亮MOVXDPTR,AACALLDelay5;调用长延时MOVDPTR,#00FFHMOVA,#11101011B;东西红灯亮,南北黄灯亮MOVXDPTR,AACALLDelay1;调用短延时MOVDPTR,#00FFHMOVA,#11101111B; 东西红灯亮,南北黄灯灭MOVXDPTR,AACALLDelay1; 调用短延时MOVDPTR,#00FFHMOVA,#11101011BMOVXDPTR,AACALLDelay1MOVDPTR,#00FFHMOVA,#1110 1111BMOVXDPTR,AACALLDelay1MOVDPTR,#00FFHMOVA,#11101011BMOVXDPTR,AACALLDelay1MOVDPTR,#00FFHMOVA,#11101111BMOVXDPTR,AACALLDelay1; 以上是东西红灯亮,南北黄灯闪SJMPSTART1;循环START1Delay5: ;长延时MOVR5,#100;Del1:MOVR6,#100Del2:MOVR7,#200Del3:DJNZR7,Del3DJNZR6,Del2DJNZR5,Del1RETDelay1:;短延时MOVR5,#50;延时Del4:MOVR6,#100Del5:MOVR7,#100Del6:DJNZR7,Del6DJNZR6,Del5DJNZR5,Del4RETEND三、实验注意事项实验四 8253方波实验第一部分:实验要求一、预习要求 1熟悉51单片机的结构及编程方法2按照要求画出流程图及程序二、实验目的了解8253的内部结构、工作原理;了解8253与单片机的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。 三、实验内容1设计接口电路,编写程序:使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。2连接线路,验证8253的功能,熟悉它的使用方法。第二部分:实验过程一、8253芯片介绍1.1 8253工作原理1.2 8253工作方式8253共有六种工作方式:计数结束中断方式、可编程单稳态输出方式、比率发生器、方波发生器、软件触发选通、硬件触发选通(1)工作方式0:工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时, OUT输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值使WR有效时,OUT仍保持低电平,之后的下一时钟周期下降沿计数器开始减“1”计数, 直到计数值为“0”,此刻OUT将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUT端输出的高电平一直维持到下次再写入计数值为止。 (2)工作方式1:工作方式1被称作可编程单稳态输出方式。进入这种工作方式, CPU装入计数值n后OUT输出高电平, 不管此时的GATE输入是高电平还是低电平, 都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUT输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUT输出由低电平向高电平跳变,形成输出单脉冲的后沿, 因此,由方式l所能输出单脉冲的宽度为CLK周期的n倍。 (3)工作方式2:工作方式2被称作比率发生器。进入这种工作方式, OUT输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUT保持为高电平不变; 待计数值减到“1”和“0”之间, OUT将输出宽度为一个CLK周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUT将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLK周期, 重复周期为CLK周期的n倍。 (4)工作方式3:工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUT输出低电平, 装入计数值后,OUT立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUT端输出的周期为nCLKi周期,占空比为1:1的方波序列; 若n为奇数, 则OUTi端输出周期为nCLK周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。 (5)工作方式4:工作方式4被称作软件触发选通。进入工作方式4,OUT输出高电平。 装入计数值n后, 如果GATE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUT输出宽度为一个CLKi周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作, 必须重新置入计数初值n。如果在操作的过程中,GATE变为无效,则停止减“1”计数, 到GATE再次有效时,重新从初值开始减“1”计数。 (6)工作方式5:工作方式5被称为硬件触发选通式。进入工作方式5, OUT输出高电平, 硬件触发信号由GATE端引入。 因此,开始时GATE应输入为0, 装入计数初值n后,减“1”计数并不工作,一定要等到硬件触发信号由GATE端引入一个正阶跃信号,减“1”计数才会开始,待计数值计到“0”, OUT将输出负脉冲,其宽度固定为一个CLK周期,表示定时时间到或计数次数到。二、使用8253产生方波2.1实验原理图2.2程序流程图2.3实验程序代码ORG 0000HLJMPSTARTORG0100HSTART:MOVA,#00110101B ;计数器0,先读低位,再读高位,方式2,BCD计数MOVDPTR,#03FFH ;送控制字到寄存器MOVXDPTR,A;累加器内容送外部寄存器MOVA,#00H;写计数器0初值,低8位MOVDPTR,#00FFH MOVXDPTR,AMOVA,#10H ;写计数器0初值,高8位MOVXDPTR,A MOVA,#01110111B ;计数器1先写低字节,再写高字节,方式3,BCD计数MOVDPTR,#03FFHMOVXDPTR,A;A内容送外部寄存器MOVA,#00HMOVDPTR,#01FFH MOVXDPTR,AMOVA,#20H ;计时器初值为2000,先写低字节,再写高字节MOVXDPTR,A ACALLDelay5 ;调用延时Delay5:MOVR5,#100;延时Del1:MOVR6,#100Del2:MOVR7,#200Del3:DJNZR7,Del3 ;不为0,,跳转,R7R7-1DJNZR6,Del2 ;不为0跳转,R6R6-1DJNZR5,Del1RETEND三、实验注意事项实验五 继电器控制/光偶控制实验第一部分:实验要求一、预习要求 1了解继电器/光偶器件的原理及应用2认真预习本节实验内容,尝试自行编写程序。二、实验目的1掌握使用继电器控制外设的基本方法和编程。2掌握光耦的工作原理,熟悉它的使用方法。三、实验内容3.1继电器控制:1预备知识自动化控制设备中,存在一个电子与电气电路的互连问题,一方面,电子电路需要控制电气电路的执行元件,如:电动机、电磁铁、电灯等;一方面又要为电子电路提供良好的电隔离,以保护电子电路和人身安全,减少干扰源。继电器就起这个桥梁作用。2、实验过程:设计接口电路,通过继电器控制直流电机转动、停止,或灯泡的亮灭。3.2光偶控制:1预备知识为了消除控制电路与外设共地的影响,对外界的输入输出采用了光电隔离措施,以最大限度的减少外界电路对内部电路的干扰。STAR ES59PA用了两种光耦,普通光耦采用TOSHIBA公司的TLP521-4芯片,它的反应速度通常为几十的us,高速光耦采用了HP公司的6N137,它的反应速度小于75ns。TLP521的工作电压范围很宽,通过光耦,可将较高电压的外部信号转化为单片机可以接收的信号,也可以将单片机发出的信号转化为较高电压的外部信号,提高抗干扰能力。2、实验过程单片机的Rxd、Txd通过光耦,与微机串行通信。第二部分:实验过程一、实验设计1.1继电器控制:设计接口电路,编写并运行程序,利用拨动开关控制灯的亮灭。1.2光偶控制: 设计接口电路,编写并运行程序运行“串口助手(ComPort.EXE)”,设置串口(波特率9600,8个数据位,一个停止位,无校验),打开串口,选择“HEX发送”、“HEX显示”,向CPU发送10个字节数据(输入数据之间用空格分隔),是否能接收到10个字节数据,将接收到的数据发送回微机,接收到的数据是否与发送数据一致。改变传输数据数目,重复实验,观察结果。二、芯片介绍2.1 6n137工作原理6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850 nm波长AlGaAs LED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。具有温度、电流和电压补偿功能,高的输入输出隔,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。信号从脚2和脚3输入,发光二极管发光,经片内光通道传到光敏二极管,反向偏置的光敏管光照后导通,经电流-电压转换后送到与门的一个输入端,与门的另一个输入为使能端,当使能端为高时与门输出高电平,经输出三极管反向后光电隔离器输出低电平。当输入信号电流小于触发阈值或使能端为低时,输出高电平,但这个逻辑高是集电极开路的,可针对接收电路加上拉电阻或电压调整电路。6N137光耦合器的真值

温馨提示

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

最新文档

评论

0/150

提交评论