8051实验指导
- 格式:pdf
- 大小:1.52 MB
- 文档页数:45
提要:实验项目1、单片机的IO编程实验1 IO开关量输入实验实验2 IO输出驱动继电器(或光电隔离器)实验实验3 IO输入/输出------半导体温度传感器DS18B20实验2、单片机的中断系统实验1 外部外部中断----脉冲计数实验3、单片机的定时器/计数器实验1 计数器实验实验2 秒时钟发生器实验4、单片机的串口特点和编程实验1 P C机串口通讯实验实验2 R S485通讯实验5、存储器实验1 RAM存储器读写实验6、PWM发生器实验1 PWM发生器(模拟)实验实验1 PWM发生器(内部)实验7、WDG看门狗实验1 外扩WDG(MAX813)实验实验2 WDG(内部)实验8、SPI总线实验1 SPI(模拟)实验-----TLC2543 AD转换实验实验2 SPI(模拟)实验-----TLV5616 DA转换实验9、I2C总线实验1 I2C(模拟)实验-----AT24C01读写实验实验2 I2C(内部)实验-----AT24C01读写实验10、综合实验实验1 HD7279LED数码管显示实验实验2 HD7279键盘实验实验3 外部中断---电机转速显示实验11、步进电机正反转实验12、TFT液晶显示彩色条纹实验13、16X16LED点阵显示汉字实验一、单片机的IO编程实验1 IO开关量输入实验目的:学习单片机读取IO引脚状态的的方法。
内容:编程读取IO引脚状态。
设备:EL-EMCU-I试验箱、EXP-C8051F021 CPU板。
编程:首先要把相关的引脚设置在IO的输入状态,然后写一个循环,不停地检测引脚的状态。
步骤:1、将CPU板正确安放在CPU接口插座上,2、连线:用导线将试验箱上MCU部分的IO1--- IO8分别连接到SWITCH 的8个拨码开关的K1---K8的输出端子K1---K8上,连接好仿真器。
3、试验箱上电,在PC机上打开Keil C环境,打开试验程序文件夹IO_INPUT 下的工程文件IO_INPUT.Uv2编译程序,上电,在函数main()的最后一句设置断点,进入调试状态,打开窗口Peripherals-->IO-Port-->P3,改变开关状态,运行程序到断点处,观察窗口的数值与开关的对应关系。
8051单片机实验报告本次8051课程主要学习了MCS-51单片机结构,以及通过μVision2软件对MCS-51单片机进行编程,掌握了该单片机的并行接口设计、中断系统设计、定时计数器设计、串行接口设计以及扩展和接口设计技术。
下面将以并行接口输入输出实验,中断实验以及定时/计数器实验给出实验报告。
实验一并行接口输入、输出实验一.实验目的1.熟悉51单片机并行口的输入方式、输出方式的编程。
2.熟悉51单片机并行口的应用编程软件仿真调试方法。
3.学会在线烧写单片机程序的方法。
二.实验原理MCS-51单片机有P0、P1、P2、P3四个8位双向I/O口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,四个口共32根口线,用作位控制十分方便。
P0口为三态双向口,能带8个TTL电路;P1、P2、P3口为准双向口,负载能力为4个TTL电路。
5.1 PO~P3端口的功能和内部结构5.1.1 端口功能大多数口线都有双重功能,具体介绍如下:PO口—1.作为输入/输出口。
2.作为地址/数据总线,接外围芯片时PO口分时输出低8 位地址与数据信号。
●P1口—1.作为输入/输出口。
2.在增强型(52系列)和ISP型(在系统编程型)中有如下功能:P1.0 T2引脚,定时/计数器2外部计数脉冲输入P1.1 T2EX引脚,定时/计数器2触发和方向控制P1.5 MOSI引脚,在系统编程数据输入P1.6 MISO引脚,在系统编程数据输出P1.7 SCK引脚,在系统编程时钟输入●P2口—1.作为输入/输出口。
2.作为高8位地址总线。
●P3口—P3口为双功能1.作第一功能使用时,其功能为输入/输出口。
2.作第二功能使用时,每一位功能定义如下表所示:归纳四个并行口使用的注意事项如下:1。
如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O 接口,单片机的四个口均可作I/O口使用。
2。
四个口在作输入口使用时,均应先对其写“1”,以避免误读。
8051单片机实验讲义实验一实验内容:1.学习使用编辑程序编写汇编程序,及汇编成目标程序。
2.学习使用编程器,把目标程序写入单片机。
3.运行单片机程序,检查最后结果。
练习程序:;这是一个8个二极管一闪一灭的程序。
PORT EQU P0ORG 0000HAJMP MAINORG 0100HMAIN:MOV PORT,#00HACALL DL Y1SMOV PORT,#0FFHACALL DL Y1SAJMP MAIN;延时1秒子程序DL Y1SDL Y1S:MOV R0,#0FFHLP0:MOV R1,#0FFHLP1:NOPNOPNOPNOPDJNZ R1,LP1DJNZ R0,LP0RETEND扩展内容:编一个能显示许多种发光花样的程序。
实验二实验内容:1.编一个程序,以查出单个数码管对应的字形代码。
2.利用字形代码,编一个能显示0~9数字的程序。
3.用查表或非查表两种方法实现。
练习程序:实验三实验内容:1.编一个8个最简按键程序,并显示按键所对应的键值。
2.编一个显示0~9的程序,要求用四个按键控制程序开始、暂停、继续、停止。
练习程序:扩展内容:实验四实验内容:1.编一个显示0~9999之间的程序(用P3。
0,P3。
1串口实现)。
2.编一个显示分、秒的程序,要求用四个按键控制程序开始、暂停、继续、停止。
练习程序:扩展内容:。
基础实验部分实验1 P1口实验一一、实验目的:1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验设备:CPU挂箱、8031CPU模块三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。
四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。
可以用第二个实验做一下实验。
先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。
现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH 经计算得X=127。
单片机实验指导书基础部分实训1 认识单片机一、单片机概述一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM (数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。
在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。
而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
二、单片机的外部结构(1)单片机的引脚拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。
电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。
振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶振,电容,连上就可以了,按图1-1接上即可。
复位引脚:按图1-1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
EA引脚:EA引脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
图1-1(二)单片机芯片引脚功能1.主电源引脚(1)GND 接地(2)VCC正常操作时为十5V电源。
2.时钟电路引脚(1)XTAL1:(2)XTAL2:3.控制线与电源复用引脚(1)RST/VPD:RST是复位信号,高电平有效。
VPD为第二功能,即备用电源输入端。
(2)ALE/PROG:ALE为地址锁存允许信号输出引脚。
PROG为编程信号,第二功能,低电平有效。
(3)PSEN:片外ROM选通信号输出端,低电平有效。
(4)EA/VPP:EA为内部和外部ROM控制端当EA=1时,从内ROM开始访问当EA=0时,只访问外部ROMVPP是编程电源输入端4.并行输入/输出引脚(1)P0口:P0.0~P0.7统称为P0口(2)P1口:P1.0~P1.7统称为P1口(3)P2口:P2.0~P2.7统称为P2口(4)P3口:P3.0~P3.7统称为P3口P3口每一位可用作第二功能,而且P3口的每一条引脚都可以独立设置为第一功能的I/O口功能和第二功能。
第一部分系统介绍一、系统概述1)、微处理器:i80c31,它的P1口、P3口皆对用户开放,供用户使用。
2)、时钟频率:6.0MHz3)、存储器:程序存储器与数据存储器统一编址,最多可达64k,板载ROM(监控程序27C256)12k;RAM1(程序存储器6264)8k供用户下载实验程序,可扩展达32k;RAM2(数据存储器6264)8k供用户程序使用,可扩展达32k。
(RAM程序存储器与数据存储器不可同时扩至32k,具体与厂家联系)。
(见图1-1:存储器组织图)。
在程序存储器中,0000H----2FFFH为监控程序存储器区,用户不可用,4000H----5FFFH为用户实验程序存储区,供用户下载实验程序。
数据存储器的范围为:6000H----7FFFH,供用户实验程序使用。
注意:因用户实验程序区位于4000H-----5FFFH,用户在编写实验程序时要注意,程序的起始地址应为4000H,所用的中断入口地址均应在原地址的基础上,加上4000H。
例如:外部中断0的原中断入口为0003H,用户实验程序的外部中断0的中断程序入口为4003H,其他类推,见表1-1。
4)、可提供的对8051的基本实验为了提高微机教学实验质量,提高实验效率,在该系统的实验板上,除微处理器外、程序存储器、数据存储器外,还增加了8255并行接口、8250串行控制器、8279键盘、显示控制器、8253可编程定时器、A/D、D/A转换、单脉冲、各种频率的脉冲发生器、输入、输出电路等模块,各部分电路既相互独立、又可灵活组合,能满足各类学校,不同层次微机实验与培训要求。
可提供的实验如下:(1)、8051P1口输入、输出实验(2)、简单的扩展输入、输出实验(3)、8051定时器/计数器实验(4)、8051外中断实验(5)、8279键盘扫描、LED显示实验(6)、8255并行口输入、输出实验(7)、8253定时器/计数器实验(8)、8259中断实验(9)、串行口通讯实验(10)、ADC0809 A/D转换实验(11)、DAC0832 D/A转换实验(12)、存储器扩展实验(13)、交通灯控制实验FFFFH用户I/O区CFEFH系统I/O区,CFBFH用户I/O区7FFFHRAM2用户实验程序区供用户下载实验程序4FFFHRAM1用户实验程序数据区2FFFHROM系统监控程序区0000H图1:存储器系统组织图中断名称 8051原中断程序入口用户实验程序响应程序入口外中断0 0003H 4003H定时器0中断 000BH 400BH外中断1 0013H 4013H定时器1中断 001BH 401BH串行口中断 0023H 4023H表1-1:用户中断程序入口表5)、资源分配本系统采用可编程逻辑器件(CPLD)EPM7128做地址的编译码工作,可通过芯片的JTAG接口与PC机相连,对芯片进行编程。
MCS51单片机实验指导书(第2版)2006.11.8 修改了音乐演奏程序中的有关休止符的BUG淮阴师范学院计算机科学系2006.9实验板结构实验板结构如下图所示:注意:实验板与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB 接口;拆除时先断开其电源,再断开串行通信电缆。
否则极易损坏PC机的串口。
最好先关闭微机电源,再连接或拆除实验板。
实验要求1、实验前预习实验内容,理解实验原理。
2、按规定时间进入实验室,登记领取实验板和连接线,按操作程序将实验板连接到PC 机上,开始实验。
2、实验完毕请指导老师确认后,按操作程序拆除实验板,将连接线收拾好,与实验板一起归还指导老师,方可离开实验室。
3、按时撰写并上交实验报告。
实验报告格式为:(1)实验目的,(2)实验内容,(3)源代码及流程图,(4)结果记录及分析,(5)思考题,(6)体会及设想。
51单片机集成开发环境MedWin V2.39简介1、安装从网站免费下载MedWin V2.39集成开发环境安装程序压缩包,将其释放后,按照默认路径安装到C:\Manley\PmedWin文件夹。
2、设置(1)每次启动MedWin会出现对话框,询问使用仿真器还是模拟仿真,应点击[模拟仿真]按钮。
(2)设置仿真器点击[设置]—[设置仿真器]命令,选择时钟频率为12兆赫兹。
(3)设置工作目录 MedWin 集成开发环境默认的工作目录为C:\MedWin\PMedWin,建议根据需要建立自己的工作目录。
注意:不得使用长文件名或长目录名!(4)设置编译器将C语言编译器C51(文件夹)拷贝到C:\MedWin文件夹下,点击[设置]—[设置编译工具]命令,打开“设置编译工具”对话框,使用汇编语言时选择第一行,使用C语言时选择第二行,如下图所示。
3、使用(1)新建项目点击[项目管理]—[新建项目] 命令,输入项目名称,点击[确定]按钮,出现“添加项目文件”对话框,输入源代码文件名,如T1.C(或T1.ASM),单击[打开]按钮,出现代码窗口,即可开始编程。
8051单片机实验报告专业:电子科学与技术:学号:120231指导教师:金冬月第一单元单片机程序调试环境使用及并行数据传送操作训练1-1修改例程一的源程序:将A寄存器的初值改为80H(正逻辑,数据位为1表示发光二极管点亮),再对源程序进行简单修改,使程序运行后发光二极管点亮情况与修改前相同。
$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令LCALL Init_Device ;调用初始设置子程序MOV A,#080H ;赋初始值并在发光二极管上显示该数值 CPL AMOV P3,ALOOP: CALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYRR A ;A寄存器容右移1位并送发光二极管显示 MOV P3,AAJMP LOOP ;无限循环DELAY: MOV R5,#0H ;延时子程序D1: MOV R6,#0HDJNZ R6,$DJNZ R5,D1RET$include (Init_Device.inc) ;初始设置子程序文件包含伪指令 END将LED向左循环移位点亮改为向右循环移位点亮。
$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令LCALL Init_Device ;调用初始设置子程序MOV A,#07FH ;赋初始值并在发光二极管上显示该数值 MOV P3,ALOOP: CALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYRL A ;A寄存器容右移1位并送发光二极管显示 MOV P3,AAJMP LOOP ;无限循环DELAY: MOV R5,#0H ;延时子程序D1: MOV R6,#0HDJNZ R6,$DJNZ R5,D1RET$include (Init_Device.inc) ;初始设置子程序文件包含伪指令END加快LED循环移位点亮的速度。
8051单片机实验报告专业:电子科学与技术姓名:学号: 120231指导教师:金冬月第一单元单片机程序调试环境使用及并行数据传送操作训练1-1修改例程一的源程序:将A寄存器的初值改为80H(正逻辑,数据位为1表示发光二极管点亮),再对源程序进行简单修改,使程序运行后发光二极管点亮情况与修改前相同。
$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令LCALL Init_Device ;调用初始设置子程序MOV A,#080H ;赋初始值并在发光二极管上显示该数值 CPL AMOV P3,ALOOP: CALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYRR A ;A寄存器内容右移1位并送发光二极管显示 MOV P3,AAJMP LOOP ;无限循环DELAY: MOV R5,#0H ;延时子程序D1: MOV R6,#0HDJNZ R6,$DJNZ R5,D1RET$include (Init_Device.inc) ;初始设置子程序文件包含伪指令 END将LED向左循环移位点亮改为向右循环移位点亮。
$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令LCALL Init_Device ;调用初始设置子程序MOV A,#07FH ;赋初始值并在发光二极管上显示该数值 MOV P3,ALOOP: CALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYRL A ;A寄存器内容右移1位并送发光二极管显示 MOV P3,AAJMP LOOP ;无限循环DELAY: MOV R5,#0H ;延时子程序D1: MOV R6,#0HDJNZ R6,$DJNZ R5,D1RET$include (Init_Device.inc) ;初始设置子程序文件包含伪指令END加快LED循环移位点亮的速度。
8051单片机教程实验一:扩展存储器读写实验一.实验要求编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线将P1.0接至L1。
CS256连GND孔。
四.实验说明1.单片机系统中,对片外存贮器的读写操作是最基本的操作。
用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序的方法。
用户编程可以参考示例程序和流程框图。
本示例程序中对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。
不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。
读写数据的选用,本例采用的是55(0101,0101)与AA(1010,1010)。
一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察等方法,来观察程序执行的流程和各中间变量的值。
2.在I状态下执行MEM1程序,对实验机数据进行读写,若L1灯亮说明RAM读写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,在I状态执行SX0000↓ 55,SPACE,屏幕上应显示55,再键入AA,SPACE,屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
注:SX是实验机对外部数据空间读写命令。
4.本例中,62256片选接地时,存储器空间为0000~7FFFH。
五.实验程序框图实验示例程序流程框图如下:六.实验源程序:ORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HMOV DPTR,#0000H ;置外部RAM读写地址MOV A,#55H ;测试的数据一MOV B,AMOVX @DPTR,A ;写外部RAMMOVX A,@DPTR ;读外部RAMXRL A,B ;比较读回的数据JNZ ERRORMOV A,#0AAH ;测试的数据二MOV B,AMOVX @DPTR,AMOVX A,@DPTRXRL A,BJZ PASS ;测试通过ERROR: SETB P1.0 ;测试失败,点亮LED SJMP $PASS: CPL P1.0 ;LED状态(亮/灭)转换MOV R1,#00H ;延时DELAY: MOV R2,#00HDJNZ R2,$DJNZ R1,DELAYLJMP START ;循环测试END实验二P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。