单片机实验讲义

单片机实验讲义
单片机实验讲义

单片机实验开发系统的使用方法

一、单片机教学实验开发系统的工作环境

1、建立工作环境

单片机实验开发系统的工作环境基于WINDOWS XP界面。

硬件环境:微型计算机一台

EL-Ⅱ型单片机实验开发系统一台

软件环境:单片机教学实验开发系统集成开发环境(开发调试软件)

2、进入集成开发环境

用串行口线将微型计算机和实验系统的串行口相连,接通实验系统电源,打开计算机进入WINXP界面。打开实验系统电源,显示器显示“199502”,稍后显示“P_”。若开机后未显示“P_”,请按复位键RST。

双击桌面MCS51实验系统图标,设置串行口:COM1、波特率:9600 ,按实验台上的复位键RST,计算机与实验系统实现通信连接,连接成功,显示器显示“C_”,计算机进入EL型8051教学实验集成开发环境,并与下位机处于连机状态。否则,重新连接。

二、集成开发环境的使用方法

1、编辑

①、建立新文件

点击新建图标弹出编辑窗口,就可按照MCS-51汇编语言程序格式编写汇编语言源程序,编写完毕,存盘。

存盘:点击保存图标,弹出保存为对话框

保存在(I):E盘

文件名(N):XXX (随意取,但文件名中不能含有符号“.”“—”)

保存类型(T):汇编语言源程序文件(*ASM)

按保存按钮后,则新建汇编语言源程序文件存入E盘。

②、调试已保存文件

点击打开图标,弹出打开对话框

搜寻(I):E盘

文件名(N):

文件类型(T):汇编语言源程序文件(*ASM)

对话框中显示E盘所有汇编语言源程序文件及文件夹。若文件保存在E盘,在对话框中选中要打开的文件,点击打开按钮,则该文件在编辑窗口被打开。

若文件保存在文件夹内,则点击该文件夹,点击打开按钮,该文件夹在对话框中被打开。再在对话框中选中要打开的文件,点击打开按钮,则该文件在编辑窗口被打开。

2、汇编

点击汇编图标,计算机自动对编辑好的汇编语言源程序进行汇编,并弹出编译结果对话框,指出汇编结果有无错误。若无错误,将生成目标文件.OBJ、列表文件.LST,且自动向下位机下载.OBJ文件。若有错误,在编译结果对话框内提示错误信息(指出有几处错误),以便于修改。需要指出的是这里指出的是语法错误,而不是逻辑错误。

修正错误的方法:

点击打开图标,弹出打开对话框

搜寻(I):E盘

文件名(N):

文件类型(T):所有文件(*.*)

对话框中显示E盘所有文件及文件夹。若文件保存在E盘,在对话框中选中该文件的.LST文件,点击打开按钮,则该文件的.LST文件在编辑窗口被打开。

.LST文件中指出错误所在之处,且用“^”提示。此时回到.ASM文件的编辑窗口修改错误,重新汇编,直至无错误为止。

值得注意的是.LST文件只能指出程序中错误的所在之处,不能修正,必须回到.ASM文件的编辑窗口修改错误。

3、调试

汇编语言源程序经过编辑、汇编,生成.OBJ文件且下载至下位机后,才能进行调试。调试时需点击调试图标,激活各调试功能图标及寄存器、存储器窗口。

调试可分为全速运行、单步调试、跟踪调试、执行到光标行。在此过程中可以进行程序复位,如果下位机处于全速运行状态时,只能进行系统复位。

①、停止调试:指所有调试功能图标及寄存器、存储器窗口失效,同时激活调试图标。

②、程序复位:指被调试程序复位。即PC=0000H

③、设置、清除断点:将光标移至程序中某行,按此键,则在该处设置了断点,程序运行至

该处停下来。

④、跟踪调试:跟踪执行程序,跟踪子程序。

⑤、单步调试:单步执行程序,不跟踪子程序。

⑥、执行到光标行:将光标移至程序中某行,执行中忽略程序中所有断点,执行到光标行。

⑦、全速运行:程序从当前PC执行,遇到断点后返回监控,若无断点程序将失去控制。若停止调试,点击停止调试,激活调试图标。

4、寄存器、存储器窗口

R:寄存器窗口

包括:单片机内部PC、DPTR、ACC、B、SP、PSW、R0-R7、IE、IP、TMOD、TCOD、TH0、TL0、TH1、TL1、SCON、SBUF寄存器。

单击R,打开寄存器窗口,显示以上所有寄存器及内容。光标移至某一寄存器,可修改该寄存器内容。

I:内部存储器窗口

单击I,打开内部存储器窗口,显示单片机内部RAM 00H-3FH 单元内容。双击首行地址,可修改内部存储器窗口中首行地址,(其他行地址随之改变)。单击某一存储单元,可修改该存储单元内容。

E:外部存储器窗口

单击E,打开外部存储器窗口,显示单片机外部RAM 4000H-403FH 单元内容。双击首行地址,可修改外部存储器窗口中首行地址,(其他行地址随之改变)。单击某一存储单元,可修改该存储单元内容。

三、汇编语言源程序的结构(程序格式)

在集成开发环境下,汇编语言源程序遵循的程序格式如下:

ORG 4000H

LJMP MAIN

ORG 4100H

MAIN: MOV R0,#40H

END

实验一MCS-51汇编语言程序设计(一)

一、实验目的

1、基本掌握在EL-Ⅱ型单片机教学实验、开发系统上编辑、汇编、调试、运行MCS-51汇编语言程序过程。

2、熟悉MCS―51单片机指令系统。

3、练习编写简单程序,学习基本的MCS―51汇编语言程序设计方法。

4、掌握8031内部RAM和外部RAM的数据操作,了解这两部分RAM存储器的特点和应用。

二、实验内容

1、设计并调试一个数据传送程序。将8031内部RAM 40H-4FH置入初值00H-0FH,然后将40H-4FH 中的这些数据传送到外部RAM 5000H-500FH中,再将5000H-500FH中的这些数据传送到8031内部RAM 30H-3FH中。

2、设计并调试一个程序。两个三字节无符号数相加,被加数存放在片外RAM的5000H -5002H中(低位在前),加数存放在片内RAM的50H-52H中(低位在前),要求将相加之和存放在50H一52H之中(低位在前)。

(注意:程序运行前先将数据送入存储单元中)

如被加数:(5000H)=89H 加数:(50H)=A7H

(5001H)=F5H (51H)=4EH

(5002H)=32H (52H)=5BH

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型单片机实验开发系统一台

四、程序参考流程图

1、程序1

2、程序2参考流程图由同学自行设计

五、实验报告要求

1、整理好执行正确的程序。

2、写出完整的实验报告。

实验二I/O口直接使用与简单I/O口扩展

一、实验目的

1、了解P1口作为输入、输出方式使用时,CPU对P1口的操作方式。

2、学习P1口做输入、做输出时的使用方法。

3、学习在单片机系统中扩展简单I/O接口的方法。

二、实验内容

1、I/O口直接使用

P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2、简单I/O口的扩展

P1口做输入口,接八个拨动开关,扩展74LS273做输出口,编写程序,读取开关状态,并将此状态通过发光二极管显示出来。

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型单片机实验开发系统一台

四、编程说明

延时程序的实现常用两种方法,一是用定时器中断实现,一是用指令循环实现。

本实验采用后一种方法,延时0.1秒或1秒。(也可以用定时器中断实现)

五、实验电路

图1:P1口做输出

图2 :P1口做输入,74LS273做输出

六、连线方法

1、I/O口直接使用

P1口P1.0-P1.7接发光二极管L1-L8。

2、简单I/O口的扩展

P1口P1.0-P1.7接拨动开关K1-K8,74LS273的S00-S07接发光二极管L1-L8,片选端CSU8\ 接CS0。(此时74LS273的片选信号地址为CFA0H)

七、程序参考流程图

程序1参考流程图:程序2参考流程图:

实验三显示器接口实验

一、实验目的

1、掌握8031单片机输入输出接口扩展方法。

2、熟悉8255A芯片性能,掌握其编程方法。

3、掌握七段LED显示器的工作原理、段数据表的设计,及与并行I/O接口8255A的连接方

法。

4、掌握动态显示子程序的设计与调试。

二、实验内容

利用单片机实验开发系统上的8255A和六位LED显示器,设计显示器接口电路及显示程序。

1、设计并调试出能显示0、1、

2、

3、

4、

5、

6、6、

7、

8、

9、A、B、C、D、E、F的段数

据表。

2、编写并调试一个6位LED显示器的通用显示子程序。该子程序的功能是将8031片内

RAM中显示缓冲区的内容在LED显示器上显示。

3、编写并调试一个主程序,该主程序先对显示缓冲区设置初值,然后循环调用所设计的显

示子程序,使显示器显示数字,例如显示你的学号。

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型单片机实验开发系统一台

四、实验线路与实验原理

本实验使用EL-Ⅱ型单片机教学实验、开发系统上的显示器接口电路,它的线路原理图如图所示。

图中8031扩展了一片8255A。8255A PA口作为显示扫描口,PB口作为段数据口。将8031片内RAM的30H-35H 作为显示缓冲区单元,分别存放6位显示器的显示数据。8255A PA 口扫描输出总是只有一位为低电平,即6位显示器中仅有一位的公共阴极为低电平,其他位为高电平。8255A PB口输出相应位显示的段数据,使该位显示出一个字符,其他位为暗。依次改变A口的低电位,B口输出对应的段数据,使显示器轮流显示显示缓冲区中确定的

字符。

程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出状态。

8255A的各端口地址(片选信号为CS0时):

A端口地址CFA0H,B端口地址CFA1H,C端口地址CFA2H 。

控制寄存器端口地址CFA3H。

五、连线方法

1、8255A的PA5-PA0接LED显示器数码显示位驱动端ED1-ED6。

2、8255A的PB0-PB7接LED显示器数码显示段驱动端A-DP。

3、8255A的片选信号CS8255接CS0。

六、实验程序参考流程图

1、主程序参考流程图(图a)

实验四A/D转换器(ADC0809接口)实验

一、实验目的

1、了解A/D转换芯片ADC0809的转换性能及编程方法。

2、掌握A/D转换芯片ADC0809与8031单片机的接口方法。

3、通过实验了解单片机如何进行数据采集。

二、实验内容

利用实验台上的ADC0809、8255A、74LS07、电位器、LED显示器、等设计数据采集系统。实验台上的三个电位器可提供三路模拟电压信号输入,编制程序,将模拟量转换成数字量,实现数据采集。

请同学视自身情况,利用实验环境,实现一路或多路数据采集。在单片机8031内部RAM 中开辟采集结果存储区,将采集结果存入该区域中。也可用六位LED显示器分别显示三路模拟量转换的结果。

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型单片机实验开发系统一台

四、实验原理

ADC0809芯片带有8路模拟开关,为8路模拟信号输入端IN0-IN7。ADC0809的地址输入端ADD-A、ADD-B、ADD-C分别与8031单片机地址线A0、A1、A2相连,以选通IN0-IN7任一个通道。实验电路中将IN0、IN1、IN2分别连接KB0、KB1、KB2,形成三路模拟电压信号输入。

ADC0809的START端为A/D转换启动信号,ALE端为通道地址锁存信号,将其相连,以便同时锁存通道地址并开始A/D采样转换。

启动A/D转换只需执行指令MOVX @DPTR,A 产生写信号,使ALE、START同时有效,锁存通道号并启动A/D转换。

A/D转换结束,自动产生EOC信号。在中断方式下,将其与8031的INT0 引脚相接,作为中断请求信号。在中断服务程序中,用指令MOVX A,@DPTR 产生读信号,使OE 有效,将转换结果读入CPU,然后送至存储单元。

五、实验电路

六、实验连线

1、ADC0809的片选信号CS0809 接CS1。(此时ADC0809的片选地址为CFA8H)

2、ADC0809的IN0-IN2接电位器输出信号KB1-KB3

3、ADC0809的EOC接单片机8031的INT0 。

七、实验报告要求

1、整理好执行正确的程序。

注意:通过观察内部存储器窗口相应区域中的内容,判断转换结果是否正确。

2、写出完整的实验报告。

八、程序参考流程图

1、主程序参考流程图

2、中断服务程序参考流程图

实验五D/A转换器(DAC0832接口)实验

一、实验目的

1、了解D/A转换的基本原理。

2、了解D/A转换芯片0832的性能及编程方法。

3、掌握单片机与DAC0832的接口电路设计及D/A转换程序的设计方法。

二、实验内容

利用实验台上的DAC0832芯片设计D/A转换器,编制程序,产生锯齿波、三角波。用示波器观测输出波形,或用万用表测试实验电路的输出端OUT,应能测出不断加大或减小的电压值。

三、三、实验设备

1、微型计算机一台

2、EL-Ⅱ型单片机实验开发系统一台

四、实验原理

D/A转换是把数字量转换成模拟量的变换,从DAC0832输出端输出的是模拟电流信号。在实际应用中往往需要电压输出形式,因此实验电路由DAC0832和双运算放大器组成,接上运放来实现电流转换为电压。

当数字量输入在00H-FFH范围时,电压的输出为0~+XV或0~-XV这种方式称为单极性输出,若电压的输出为±XV则称为双极性输出。在实际应用中,不仅需要单极性输出,还需要双极性输出,实验电路应用双运放来实现两种极性输出。

实验电路的输出端OUT输出模拟电压信号,锯齿波和三角波的产生只需由累加器A中所存放的数字量的增减来控制。

当A0=0时,可锁存输入数据;当A0=1时,可启动转换输出。要进行D/A转换,典型程序段如下:

MOV DPTR,#PORT

MOV A,#DATA

MOVX @DPTR,A

INC DPTR

MOVX @DPTR,A

其中第二次输出是一个虚拟写过程,目的是产生一个WR 信号,启动D/A。

五、实验电路

六、实验连线

DAC0832的片选CS0832接CS0,(此时DAC0832的片选地址CFA0H)。

七、输出波形

V out

V

t

程序1:ORG 4000H

LJMP MAIN

ORG 4100H

MAIN: MOV R0,#40H

MOV R2,#10H

MOV A,#00H

MA1:MOV @R0,A

INC A

INC R0

DJNZ R2,MA1

MOV R0,#40H

MOV DPTR,#5000H

MOV R2,#10H

MA2:MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R2,MA2

MOV R0,#30H

MOV DPTR,#5000H

MOV R2,#10H

MA3:MOVX A,@DPTR

MOV @R0,A

INC R0

INC DPTR

DJNZ R2,MA3 MA4:AJMP MA4

END

程序2:

ORG 0000H

LJMP MAIN

ORG 4100H

MAIN: CLR C

MOV DPTR,#5000H

MOV R0,#50H

MOV R7,#03H

LOOP: MOVX A,@DPTR

ADDC A,@R0

MOV @R0,A

INC R0

INC DPTR

DJNZ R7,LOOP

HERE: AJMP HERE

END

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1:MOV R1,#100 LOOP2:MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

单片机实验7学习资料

单片机实验7

实验七直流数字电压表设计 姓名:田坤学号:200912512 专业:电子信息科学与技术 1.实验目的: 掌握LED动态显示和A/D 转换接口设计方法。 2.实验原理: 实验电路原理图如图A..94所示。图中显示器采用4位共阴极数码管,并按动态显示方式接线。A/D转换结束标志采用查询法检查,启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生,频率为5kHz。电位器的输出电压送到A/D转换器中转换,转换结果以十进制形式显示在数码管上。调节电位器可使数码管的显示值发生相应变化。 图A.94 实验7的电路原理图 3.实验内容: (1)、学习使用Proteus软件,掌握原理图绘图方法; (2)、学习使用Keil C软件,掌握C51程序编写与调试方法;(3)、理解动态显示与A/D转换工作原理,完成单片机电压采集与显示程序的编写与调试。 4.实验步骤: (1)、在Proteus中绘制电路原理图,按照表A.9将元件添加到编辑环境中; (2)、在Keil中编写C51程序,并使之编译通过;

(3)、在Proteus中加载程序,观察仿真结果。 5.实验要求: 提交的实验报告中应包括电路原理图、含注释内容的源程序及实验结果分析。 表A.9 实验7的元器件清单 1)源程序如下: #include // 头文件 #include unsigned int tmp; //定义一个整形中间变量 sbit START=P2^5; //定义ADC0808启动位 sbit ad_busy=P2^6; //定义ADC0808转换结束标志位 sbit OE=P2^7; //定义ADC0808输出使能标志位 sbit P2_0=P2^0; //定义四个数码管 sbit P2_1=P2^1; sbit P2_2=P2^2; sbit P2_3=P2^3; char led_mod[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //LED字模

单片机实验讲义

实验一流水灯 实验目的: 1、熟悉用单片机产生流水灯的效果; 2、掌握循环移位的工作原理和操作方法; 3、学会使用C51 封装好的函数库C51LIB,延时函数的时间估算。 实验仪器: 电脑,TX-1C单片机实验板,万用表USB-232线,USB线。 实验原理: 实验内容: P1.0~P1.8对于Led1~Led8八个发光二极管,要求来回循环点亮,停顿时间为0.5秒。显示效果如下: Led1 Led2 Led3 Led4 Led5 Led6 Led7 Led8 亮暗暗暗暗暗暗暗 暗亮暗暗暗暗暗暗 暗暗亮暗暗暗暗暗 暗暗暗亮暗暗暗暗 暗暗暗暗亮暗暗暗 暗暗暗暗暗亮暗暗 暗暗暗暗暗暗亮暗 暗暗暗暗暗暗暗亮 亮暗暗暗暗暗暗暗 暗亮暗暗暗暗暗暗 暗暗亮暗暗暗暗暗 暗暗暗亮暗暗暗暗 ………………………………………………………… 实验步骤: 1、编程,调试,下载; 2、记录实验现象; 3、举一反三:编写3/4/5/6/7个灯循环点亮的程序。

实验二利用定时器控制数码管的显示 实验目的: 1、学会利用单片机的定时器; 2、熟悉数码管显示原理; 3、了解蜂鸣器发声原理。 实验仪器: 电脑,TX-1C单片机实验板,万用表,USB-232线,USB线。实验原理: 2、记录实验现象。

实验三矩阵键盘检测 实验目的: 1、学会矩阵键盘的检测 2、掌握数码管静态显示原理 实验仪器: 电脑,TX-1C单片机实验板,万用表,USB-232线,USB线。 实验原理: 静态数码管显示原理:本开发板数码管为共阴极,所以要想点亮数码管,则给阳极加高电平。 实验内容: 依次按下4*4 矩阵键盘上从第1 到第12个键,同时在六位数码管上依次显示0、1、2、3、4、5、6、7、8、9、A、B。 实验步骤: 1、编程,调试,下载; 2、记录实验现象; 3、举一反三:第13个键到第16个键C、D、E、F。

单片机原理及应用实验指导书

单片机原理及应用实验指导书 河北工业大学 计算机科学与软件学院

实验一指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。 实验操作说明 Keil 软件调试方式分为:软件仿真方式和硬件调试两种。 软件仿真实验上机操作步骤: 1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口; 2、新建工程: 1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名; 2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定; 3)存入C:\keil 文件夹中。(机房,安装在C盘,改为C:\keil) 3、打开“视图”菜单中的“工程窗口”; 4、在“工程窗口”中,右击“目标1”,为工程设置参数; 1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”; 2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”; 3)选择“调试”选项卡,在单选框选择“软件仿真方式”; 4)确定,即完成了“软件仿真方式”的设置。 5、新建文件 1)打开“文件”菜单,选择“新建”; 2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序; 3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。 6、将刚建的新文件添入当前的工程中 1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”; 2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*; 4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮; 5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。 7、汇编 1)在“工程窗口”点击“源代码组1”的a.asm文件; 2)打开“a.asm”文件编辑窗口; 3)点击工具按钮中的“重建所有的目标文件”,进行汇编; 4)在“输出窗口”显示汇编是否有错,无错,进入调试; 有错,在编辑窗口修改程序,改后,再次汇编,直至无错后进入调试; 8、调试程序 1)点击“开始/停止调试”按钮,进入调试界面; 2)在程序窗口中有一个黄箭头指向程序的第一条可执行指令的开头; 3)选择调试方式进行调试; ①在“调试”菜单中选择:跟踪、单步、运行、断点等方式;

C51单片机实验指导书

单片机原理与接口技术实验讲义 目录 第一章开发环境安装使用说明 (3) 第二章基于51单片机系统资源实验 (12)

实验1 IO开关量输入实验 (12) 实验2 IO输出驱动继电器(或光电隔离器)实验 (13) 实验3 IO输入/输出---半导体温度传感器DS18B20实验 (14) 实验4 外部中断----脉冲计数实验 (15) 实验5 计数器实验 (16) 实验6 秒时钟发生器实验 (17) 实验7 PC机串口通讯实验 (18) 实验8 RS485通讯实验 (19) 实验9 PWM发生器(模拟)实验 (20) 实验10 蜂鸣器实验 (21) 第一章开发环境安装使用说明 一、KeilC51集成开发环境的安装 1.Keil u Vision2的安装步骤如下

将安装文件拷贝到电脑根目录下,然后双击图标,如图1-1所示:注意:去掉属性里的只读选项。 图1-1 启动安装环境对话框 2.选择Eval Version。然后一直next直至安装完成,如图1-2所示: 二.在Keil uVision2中新建一个工程以及工程配置 1.打开Keil C环境,如图1-3所示。

图1-3打开工程对话框 2.新建工程或打开工程文件:在主菜单上选“Project”项,在下拉列表中选择“New Project”新建工程,浏览保存工程文件为扩展名为“.Uv2”的文件。或在下拉列表中选择“Open project”打开已有的工程文件。如 图1-4所示: 图1-4 新建工程 3.环境设置:新建工程文件后,在工具栏中选择如下图选项设置调试参数及运行环境,或从主菜单“Project”项中 选择“Options for Target ‘Target1’”,打开如下图1-5设置窗口。

单片机实验讲义

单片机实验讲义

DVCC单片机实验系统简介 本科目实验使用的平台为启东公司的DVCC-52JH单片机仿真实验仪(带有配套试验软件)。可基本满足MCS-51(80C51)系列单片机课程(本/专科)的实验要求。 实验平台资源: 1、AT89C52单片机(6MHz晶体振荡器、256B片内RAM、8KB程 序存储器(FLASH)、3个定时/计数器、6个中断源(T2))。2、实验平台带有总线扩展有64BK片外RAM,用户可使用范围 0000H~0FEFFH;64KB片外ROM,用户可使用范围

0000H~0FEFFH。 3、实验平台的主要芯片有:1片8255可编程通用并行界面芯片、1 片8155芯片、1片译码芯片74138、1片74393芯片、1片D/A 转换芯片0832、1片A/D转换芯片0809、2片串/并转换芯片74164、若干辅助芯片74240、74373等和常用逻辑门电路芯片。 4、实验平台上的主要外设包括:K1~K10滑动开关、L1~L12发光二 极管(有3种颜色)、2个LED七段数码管、1个单脉冲发生器、1个时钟频率选择器、1个步进电机(带驱动电路)、1个直流电机(带驱动电路)、2个电位器、1个继电器、1个扬声器驱动、1个双踪模拟示波器、带有总线扩展区、带有EPROM烧录区。 实验系统的使用步骤: 1、在计算机、实验仪关闭时,使用实验平台自带的RS-232通用串口 线连接计算机的COM口和实验箱的J2串行口。

2、启动计算机,运行“DVCC52JH实验系统”。 3、在计算机上编写并调试实验程序,在实验箱中联接实验所需连线。 4、打开试验箱电源,点击实验箱上的“复位”按钮,再点击实验箱 上键盘区的“PCDBG”按钮。 5、在计算机上的“DVCC实验系统”软件中,左键单击工具栏上的 “联接”按钮(或选择“动态调试”菜单下的“联接DVCC实验系统选项”)。 6、如果联接正常将弹出若干小窗口。如果联接失败重新执行步骤3、 4。 7、在计算机上的“DVCC实验系统”软件中,选择“编译”菜单下 的“编译连接并传送”选项,将实验程序传送到实验箱。 8、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的 “运行”按钮,设置PC起始地址,观察实验现象,验证实验结果。 9、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并 放回原处。 软件实验 实验一清零实验 一、实验目的:

单片机数据传送实验报告

实验名称: 数据传送实验 实验类型: 设计性实验 姓名:袁志生 时间:第五六节课 一、实验目的与要求 实验目的:1、掌握单片机的汇编指令系统及汇编语言程序设计方法。 2、掌握单片机的存储器体系结构。 3、熟悉keil软件的功能和使用方法。 4、掌握单片机应用程序的调试方法。 实验要求:1、实现单片机内部RAM之间,外部RAM之间以及内部RAM 与外部RAM之间的数据传送。 2、利用Keil软件编辑、汇编、调试、运行实验程序并记录实验数据。 二、设计要求 1、编写程序将00H~0FH 16个数据分别送到单片机内部RAM 30H~3FH 单元中。 2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM 40~4FH单元中。 3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。 4、编写程序将片外4800H~480FH单元内容送到外部RAM 5800H~580FH 单元中。 5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH 单元中。

三、实验程序流程框图和程序清单.

程序清单: ORG 0000H START: MOV R0, #30H MOV DPTR, #QW1 MOV R5, #0 MOV R7, #16 LOOP: MOV A, R5 MOVC A, @A+DPTR MOV @R0, A INC R0 INC R5 DJNZ R7, LOOP LJMP QW2 QW1: DB 00H, 01H, 02H, 03H, 04H, 05H, 06H, 07H DB 08H, 09H, 0AH, 0BH, 0CH, 0DH, 0EH, 0FH QW2: MOV R0, #30H MOV R1, #40H MOV R5, #16 LOOP1: MOV A, @R0 MOV @R1, A INC R0 INC R1 DJNZ R5, LOOP1 MOV R1, #40H MOV DPTR, #4800H MOV R5, #16 LOOP2: MOV A, @R1 MOVX @DPTR, A INC R1 INC DPTR DJNZ R5, LOOP2 MOV SP, #60H MOV 11H, #48H MOV 10H, #58H MOV R2, #00H LOOP3: MOV DPL, R2 PUSH 10H PUSH 11H

单片机原理及应用实验指导书

单片机原理及应用实验指导书 湖南人文科技学院 二00一年三月

实验一I /O口输出实验—LED流水灯实验 一、实验目的 1、掌握单片机最小系统的构成; 2、掌握I/O口的使用及驱动能力的概念; 3、熟悉移位指令和软件延时程序。 二、实验设备与器件 1、计算机1台 2、PROTEUS单片机教学实验箱FB-EDU-P51A 三、实验原理 如下图所示,用单片机控制LED的亮与灭,在实验图中将MCU的P1口与LED的阴极相连,当P1口给低电平时,LED发亮,当P1口给高电平时,

四、实验内容 1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。 2、用Keil C51软件创建程序 3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真; 4、实验板验证 (1)用ISP下载hex程序到CPU (2)按连接表连接电路 (3)检查验证结果 五、实验报告 在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实验结果的正确性。 六、预习要求 1、单片机最小系统的构成 2、单片机I/O口的使用以及软件延时程序的编写。 七、实验参考程序 ORG 00H START: MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A ;循环左移 DJNZ R2,LOOP ;判断移动是否超过8 位, 未超过继续循环 LJMP START DELAY: MOV R5,#20 ;延时程序,延时0.2s D1: MOV R6,#20

单片机实验指导书2

MCS51单片机原理及应用 实验指导书 唐山学院信息工程系 单片机实验室 2008年9月

实验一 P1口实验 一、实验目的 1.学习P1口的使用方法; 2.学习延时子程序的编写和使用; 3.学习单片机实验系统的使用方法和程序的调试方法。 二、实验题目 1.P1口做输出口,接八只发光二极管,编写程序,使其循环点亮。 2.P1口低四位接四只发光二极管L1-L4, P1口高四位接开关K1-K4,编写程 序,将开关的状态在发光二极管上显示出来。 三、实验原理说明 P1口为准双向口,P1口的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。8031中所有口锁存器在复位时均置为“1”,如果后来往口锁存器写入过“0”,再作为输入时,需要向口锁存器对应位写入“1”。 延时程序的编写可以用两种方法,一种是用定时器来实现,一种使用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。 如果系统晶振为6.144MHz,则一个机器周期为12/6.144μs即1/0.512μs。 现要编写一个延时0.1s的程序,可以大致写出如下: MOV R7, #200 DE1: MOV R6, #X DE2: DJNZ R6, DE2 DJNZ R7, DE1 上面 MOV、DJNZ指令均为两个机器周期,所以执行一条指令需要1/0.256us, 现求出X值:(X*1÷0.256+1÷0.256+1÷0.256)*200+1÷0.256=0.1*106 指令3 指令2 指令4 指令1 计算出X=126,代入上式可知实际延时约为0.100004s。 四、连线方法 题目1:8031的P1.0—P1.7分别接发光二极管L1—L8 题目2:P1口的P1.0—P1.3接L1-L4, P1口的P1.4—P1.7接K1-K4 五、实验电路

单片机实验报告

汇编语言程序设计 1)编译后,系统提示:目标越界,改为AJMP后编译通过,将ORG 07FFH 改为0800H, 系统提示:目标越界,这说明AJMP可以在2KB 范围内无条件转移。 2.改为LJMP编译通过,这说明LJMP可以在64KB 范围内无条件转移。 3.将LJMP LP1改为SJMP LP0,机器码为80FC,其中FC为偏移量,它是一个补码,01H~7FH说明向PC(增大√、减小)方向跳,80H~FFH说明向PC(增大、减小√)方向跳,这说明SJMP可以在当前PC值-128B~+127B 范围内无条件转移。 1、X、Y以补码的形式存放在20H、21H中,编写程序实现如下函数: 实验程序: MOV A,20H JZ ZREO JB ACC.7,NEG MOV 21H,#01H SJMP PEND ZREO:MOV 21H,A SJMP PEND NEG:MOV 21H,#0FFH PEND:SJMP$ END 结果记录: 1.将数89H存放于20H中,运行程序,观察到21H单元中的内容为FF; 2.将数05H存放于20H中,运行程序,观察到21H单元中的内容为01; 3.将数00H存放于20H中,运行程序,观察到21H单元中的内容为00; 2、将20H~27H中的压缩BCD码拆为两个单字节BCD码,存放在以2000H为首地址的外部RAM 中。 实验程序: MOV R0,#20H MOV R7,#08H MOV DPTR,#2000H LOOP:ACALL CZ INC R0

INC DPTR DJNZ R7,LOOP SJMP $ CZ:MOV A,@R0 SWAP A ANL A,#0FH MOVX @DPTR,A INC DPTR MOV A,@R0 ANL A,#0FH MOVX @DPTR,A RET END 结果记录: 20H 21H 22H 23H 24H 25H 26H 27H 87H 54H 36H 23 19H 43H 77H 69H 2000H 2002H2004H2006H2008H200AH200CH200EH 07H 04H 06H 03H 09H 03H 07H 09H 2001H 2003H2005H2007H2009H200BH200DH200FH 08H 05H 03H 02H 01H 04H 07H 06H 1、数在计算机中是以补码形式存放的,因此,判断数据的正负,往往采用判断第7 位,是0 则为正数,是1 则为正数 2、实验内容2中JZ ZREO 的机器码为600DH ,其中0DH 为偏移量,当前PC值0004 加上这个偏移量等于0011H ,这正是即将执行的程序的首地址,即标号为ZREO 语句。程序计算器PC的功能是指向下一条指令,因此,跳转语句是依靠偏移量来改变程序计数器PC的值,从而改变程序的流向。 3、分支程序一定要注意分支的语句标号的正确性,每一分支之间必须用跳转(如SJMP)指令分隔,并跳转到相应标号。 4、子程序往往用间址寄存器传递数据,内部RAM用@Ri ,外部RAM用@DPTR ,绝对不能用直接地址。最后以RET 结尾。 5、循环程序往往用寄存器传递数据,用R7控制循环次数,用调用作为循环体,用指令INC 修改地址指针,用指令DJNZ 判断循环结束。 6、执行ACALL前(SP)= 07H ,执行ACALL时,(SP)= 09H ,(08H)= 09H ,(09H)= 00H ,(PC)= 000FH ,PC的值正是子程序的入口地址,而堆栈中这两个单元存放的是断点处PC的值;执行到RET后,(SP)= 07H , 原08H的值弹给(PC)7~0 ,原09H的值弹给(PC)15~8 ,因此,返回断点继续执行主程序。

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

单片机实验指导书(PROTUES实用)

单片机原理与接口技术实验指导书 2009.10.28

目录 软件部分 (1) 实验一赋值程序 (1) 一实验目的 (1) 二实验内容 (1) 三程序流程图 (1) 四实验步骤 (1) 五参考程序 (1) 实验二数据区传送程序 (3) 一实验目的 (3) 二实验内容 (3) 三程序流程图 (3) 四实验步骤 (3) 五参考程序 (3) 硬件部分 (5) 实验一P1口亮灯实验 (5) 一实验目的 (5) 二实验内容 (5) 三程序流程图 (5) 四仿真电路 (6) 五硬件实现电路 (6) 六实验步骤 (7) 七参考程序 (7) 实验二P1口转弯灯实验 (8) 一实验目的 (8) 二实验内容 (8) 三程序流程图 (8) 四仿真电路 (8) 五实验电路 (9) 六实验步骤 (9) 七参考程序 (9) 附录一Keil Vison2使用入门 (11) 附录二Protues使用入门 (13) 附录三KeilC与Proteus连接调试 (15)

软件部分 软件实验中,涉及外部数据存储器扩展寻址操作,须按下图连接实验线路。 说明: 1 将存储器单元的D0-D7与数据总线单元D0-D7相连;存储器单元的A0-A12与地址总线单元A0-A12相连。 2 存储器单元的WE/PGM与六位LED左下方单元的WR或IOWR相连。 3 存储器单元的CS1与六位LED右下方单元A15相连。 4 存储器单元的OE与六位LED左下方单元的RD或IORD相连

实验一赋值程序 一实验目的 1 熟悉汇编指令 2 掌握汇编语言程序设计的一般方法 二实验内容 编写程序实现存储块(2000H---20FFH)的赋值操作(如全为0FFH)。三程序流程图 图1 流程图 四实验步骤 1 编写程序并调试。 2 在实验箱上运行程序,并查看对应存储器和寄存器的内容。。 五参考程序 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R0,#00H MOV DPTR,#2000H MOV A,#0FFH LOOP0:MOVX @DPTR,A INC DPTR INC R0

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

《单片机原理及应用》实验指导书.

单片机原理及应用实验指导书 罗钧付丽编 重庆大学光电工程学院 2010年5月 目录 实验规则 (2 实验一单片机监控程序实验(4学时 (3 附1.1:LAB2000P实验仪 (9 附1.2:验证实验程序 (10 附1.3:K EIL的使用步骤参考 (17 实验二 A/D转换实验 (3学时 (21 附2.1:验证实验程序 (24 实验三 D/A转换实验 (2学时 (25

附3.1:DA转换实验程序 (27 实验四单片机系统综合实验( 3学时 (28 附4.1:实验仪中的温度传感器电路 (30 附4.2:直流电机和步进电机控制接口电路 (31 实验规则 为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则: 一、实验前必须充分预习,完成指定的预习内容,预习要求如下: 1.认真阅读本实验指导书,分析掌握本次实验的基本原理; 2.完成各实验预习要求中指定的内容; 3.明确实验任务。 二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问; 三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障,必须及时报告指导老师,严禁私自乱动。 四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。 五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。 六、凡有下列情况之一者,不准做实验: 1.实验开始后迟到10 分钟以上者;

2.实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从教育者; 七、实验后,必须认真作好实验报告,在规定时间里必须交给实验指导老师,没交实验报告者,视为缺做一次实验。实验报告要求必须包括: 1.写出设计实验程序; 2.总结实验步骤和实验结果; 八、一次未做实验,本实验课成绩视为不及格。 以上实验规则,请同学们自觉遵守,并互相监督。 实验一单片机监控程序实验(4学时 实验预习要求: 1.按照附3学习使用Keil软件。 2.熟悉键盘和显示器接口及工作原理。 3.根据实验原理,读懂验证实验程序,并写出设计性实验源程序。 4.思考题: (1从附1.2监控程序可以看出:六位数码管显示的数据存放在单片机哪个位置? (2参考图1.1A与监控程序,键盘上若数字键7被按下,单片机怎样判断该键被按下? 一、实验目的 1.掌握8031系统中,键盘和显示器的接口方法。 2.掌握键盘扫描和LED八段码显示器的工作原理。

51单片机实验报告

实验一数据传送实验 实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV @R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 思考题: 1. 按照实验内容补全程序。 2. CPU 对8031内部RAM存储器有哪些寻址方式? 直接寻址,立即寻址,寄存器寻址,寄存器间接寻址。 3. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH ___0A0H~0AFH______________________ 内部RAM 50H~5FH___0A0H~0AFH_______________________ 实验二多字节十进制加法实验

实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。源程序清单:ORG 0000H RESET: AJMP MAIN ORG 0100H MAIN: MOV SP, #60H MOV R0, #31H MOV @R0, #22H DEC R0 MOV @R0, #33H MOV R1, #21H MOV @R1, #44H DEC R1 MOV @R1, #55H MOV R2, #02H ACALL DACN HERE: AJMP HERE DACN: CLR C DAL: MOV A, @R0 ADDC A, @R1 DA A MOV @R1, A INC R0 INC R1 DJNZ R2,DAL CLR A MOV ACC.0 , C RET 思考题: 1. 按照实验内容补全程序。 2. 加数单元、被加数单元和结果单元的地址和内容为? 3130H,2120H,6688H 3. 如何检查双字节相加的最高位溢出? 看psw.3 的溢出标志位ov=1 则溢出 4. 改变加数和被加数,测试程序的执行结果。 实验三数据排序实验

单片机原理实验指导书

实验一LED 流水灯 一、实验目的 1. 学习单片机并口的使用方法。 2. 学习延时子程序的编写和使用。 3. 学习集成开发环境MedWin的安装与使用。 4. 学习STC单片机在线下载软件STC-ISP的使用。 二、实验内容 所谓流水灯就是4 个发光二极管(LED)轮流点亮,周而复始。实验板上以P3口作输出口,接有四只发光二极管,当单片机的引脚输出为低电平时发光二极管点亮,为高电平时息灭。编写程序,使4 个发光二极管循环点亮,时间间隔约0.5 秒。 三、实验电路连线 实验板上与本实验有关的硬件如下图所示。4 个LED上串联4 个限流电阻,以防止其电 流过大而烧坏。单片机的主时钟为11.0592MHz。 四、实验说明 1、P3 口是准双向口,它作为输出口时与一般的双向口使用 方法相同。由准双向口结构可知当P1 口用作输入口时必须先对它 置“1”。若不先对它置“1”,读入的数据是不正确的。输出时需 要接上拉电阻,P3 口内部有弱上拉,若将外围电路设计为低有效, 高无效,则无需再外接上拉电阻。 2、为使每次点亮一个LED,应使P3.4~P3.7 4 个端口中有 一个为低,其余均为高,延时一段时间后再点亮另一个LED。 3、编写for 循环构成的软件延时子程序,在MedWin 下模拟 执行,根据MedWin 显示的执行时间,调整循环变量的终值,使延时时间约0.5秒,在晶振频率为11.0592MHz情况下,循环终值约27000。程序如下: void delay(void) { unsigned int i,j,k,l; for(i=0;i<=27000;i++) {j++; k++;l++;}; } #include void main (void) { unsigned char i,c[4] = {0xef,0xdf,0xbf,0x7f};// 从左往右流水 i = 0; while(1) { P3 = c[i & 3]; i++; 11 delay(); } } 五、思考 1、如何使点亮的LED 从右往左移动? 2、如何使点亮的LED 从两边往中间移动?

单片机实验资料大全

一、熟悉学习工具开发板 二、点亮LED 1.单片机及最小系统电路

1)电源电路 2)晶振电路 3)复位电路

2.74HC245和74HC138 74HC245的输入: DB_0 即P0.0 DB_1 即P0.1 DB_2 即P0.2 DB_3 即P0.3 DB_4 即P0.4 DB_5 即P0.5 DB_6 即P0.6 DB_7 即P0.7 U3 74HC138的输入: ADDR0即P1.0 ADDR1即P1.1 ADDR2即P1.2 ADDR3即P1.3 E3 ENLED即P1.4 E1 E2 3.跳线

4.LED 三极管基极端输入LEDS6是U3 74HC138的输出Y6 8个LED小灯阴极端的8个输入是74HC245的8个输出:DB 0 也就是P0.0 DB 1 也就是P0.1 DB 2 也就是P0.2 DB 3 也就是P0.3 DB 4 也就是P0.4 DB 5 也就是P0.5 DB 6 也就是P0.6 DB 7 也就是P0.7 5.点亮一个LED的程序 新建工程,添加.c文件,编辑编译,生成hex文件 编译成功会出现reg2.h,,双击可以打开 STP-ISP下载程序到板子,小灯被点亮 1)点亮第1个小灯,熄灭第1个小灯 2)点亮第2个小灯,熄灭第2个小灯 3)点亮第3个小灯,熄灭第3个小灯 4)点亮第1、2小灯,熄灭第1、2小灯 5)点亮第1、3、5、7小灯,熄灭第1、3、5、7小灯

三、闪烁LED 修改小灯闪烁的时间:低于20ms,大于50HZ,小灯的闪烁人眼看到是连续的 四、流水灯 1、用P0点亮小灯 2、依次点亮每个小灯,依次要赋给P0 的数值就是:0xFE、0xFD、0xFB、0xF7、0xEF、0xDF、0xBF、0x7F。 ?左移<<右移>> ?左移,最低位填0补充;右移,最高位填0补充 ?0xf0 11100000 01111000 流水灯程序

单片机导论实验讲义(章专)

第一章单片机软件实验 实验一内存操作 1.实验目的 ①掌握数据传送指令; ②掌握各种数据传送指令的寻址方式; ③熟练运用keil 环境对汇编程序进行调试; ④掌握数据传送、复制等程序的设计与调试方法。 2.预习要求 ①理解数据传送指令和循环指令的使用; ②理解如何对内部寄存器、内部RAM、外部RAM的读写; ③理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式; ④认真预习本实验内容,自行编写程序,填写实验报告。 3.实验设备 计算机1台; 4.基础型实验内容 ①下列程序的功能是给外部RAM8000~80FFH的256个单元的内容赋值,赋值的内 容取决于程序中A的赋值。在Keil环境运行该程序,并观察寄存器及内存单元的变化。 设置块起始地址 设置块长度 当前地址内容清零 地址加1 否 是否清除完? 是 结束 ORG 0000H START EQU 8000H MAIN: MOV DPTR, #START ;起始地址 MOV R0,#0 ;设置256字节计数值 MOV A,#1H

Loop: MOVX @DPTR,A INC DPTR ;指向下一个地址 DJNZ R0,Loop ;计数值减1 NOP SJMP $ END ②下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块, 在Keil环境运行如下程序,观察寄存器及存储单元的变化。 设置块的源地 设置块的目标地址 设置移动长度 从源地址取数 保存到目标地址 源地址加1 目标地址加1 是否移动完? 结束 ORG 0000H MOV DPTR,#3000H MOV A,#01H MOV R5,#O LOOP: MOVX @DPTR,A INC DPTR DJNZ R5,LOOP MOV R0,#30H MOV R1,#00H MOV R2,#40H MOV R3,#00H MOV R7,#0 LOOP1: MOV DPH,R0 MOV DPL,R1 MOVX A,@DPTR MOV DPH,R2

单片机实验4报告

学号14142200277 序号19 单片机原理与接口技术 实验报告 实验项目序号实验四 实验项目名称动态显示与矩阵式键盘实验 姓名卢志雄专业电子信息工程班级电信14-2BF 完成时间 2016-05-10

一、实验目的 1、 进一步理解数码管与单片机的接口原理与动态显示原理,理解单片机矩 阵式键盘按键识别的原理; 2、 掌握单片机动态显示应用和编程方法; 3、 掌握单片机矩阵式键盘按键识别的方法。 二、实验内容 实验内容为3项,其中第1、2项必做。 1、动态显示。 未按键不显示,按K1键,动态显示 “19491001”;按K2键,动态显示 “20141210”。 2、动态显示与按键识别。 矩阵式键盘键值分别是0-F ,未按键不显示。每按键一次,键值在最低位显示,原键值向高位移一位。 3、可控动态显示与按键识别。 矩阵式键盘键值分别是0-9,最下面一排键位功能键,左右两个键分别为“清0键”“C ”,和”“回车键”“ ”,其它键无效。未按键不显示,每按键 一次,键值在最低位显示,原键值向高位移一位。按8个键后,再按键无效。 按清0键全显示“0”。按“ ”后全部熄灭,再按键重新开始。 三、实验原理图 XTAL2 18 XTAL1 19 ALE 30EA 31 PSEN 29RST 9 P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732 P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78 P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD 17 P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1 AT89C51 D 02D 13D 24D 35D 46D 57D 68D 7 9 Q 019 Q 118Q 217Q 316Q 415Q 514Q 613Q 7 12 L E 11O E 1 U2 74HC573 D 02D 13D 24D 35D 46D 57D 68D 7 9 Q 019Q 118Q 217Q 316Q 415Q 514Q 613Q 7 12 L E 11O E 1 U3 74HC573 1 2 345678910RP8 1k K1 K2K3K4 U4 AND_4

单片机原理实验报告(详细)

湖南城市学院 实验报告 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)编程软件Keil uVision4。 其中,仿真软件ISIS元件清单如表1所示。 表1 仿真软件ISIS元件清单 四、实验内容和步骤 (一)实验内容: (1)熟悉ISIS模块的汇编程序编辑、编译与调试过程; (2)完成实验的汇编语言的设计与编译; (3)练习ISIS汇编程序调试方法,并最终实现实验的预期功能。 (二)实验步骤: (1)提前阅读与实验相关的阅读材料; (2)参考指示灯/开关控制器的原理图和实验的元件清单,在ISIS中完成电路原理的绘制; (3)参考程序流程图在Keil uVision4中编写和编译汇编语言程序; (4)利用ISIS的汇编调试功能检查程序的语法和逻辑错误; (5)观察仿真结果,检验与电路的正确性。

相关文档
最新文档