单片机应用基础实验讲义

单片机应用基础实验讲义
单片机应用基础实验讲义

第一章单片机软件实验

实验一内存操作

1.实验目的

①掌握数据传送指令;

②掌握各种数据传送指令的寻址方式;

③熟练运用keil 环境对汇编程序进行调试;

④掌握数据传送、复制等程序的设计与调试方法。

2.预习要求

①理解数据传送指令和循环指令的使用;

②理解如何对内部寄存器、内部RAM、外部RAM的读写;

③理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式;

④认真预习本实验内容,自行编写程序,填写实验报告。

3.实验设备

计算机1台;

4.基础型实验内容

①下列程序的功能是给外部RAM8000~80FFH的256个单元的内容赋值,赋值的内

容取决于程序中A的赋值。在Keil环境运行该程序,并观察寄存器及内存单元的变化。

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环境运行如下程序,观察寄存器及存储单元的变化。

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

MOV DPL,R3

MOVX @DPTR,A

INC R1

INC R3

DJNZ R7,LOOP1

SJMP $

END

5.设计型实验内容

①在keil环境修改内部RAM 30H ~3FH的内容分别为#00H-#0FH,设计程序实现将内

部RAM30H-3FH到40H-4FH的数据块拷贝。

⑤在keil环境修改内部RAM 30H ~3FH的内容分别为#00H-#0FH,设计程序实现将片

内30H~3FH单元的内容复制到片外1030H~103FH中。

⑧在keil环境修改内部RAM 30H ~3FH的内容分别为#00H-#0FH,设计程序实现将内

部RAM30H ~3FH内容逆序拷贝到外部数据XRAM:0000H ~000FH中。使用单步、断点方式调试程序,查看特殊功能寄存器、内部数据RAM、外部数据空间的变化。

实验二数制及代码转换

1.实验目的

①了解微机系统中的数制与代码表示方法;

②掌握计算机中使用的各种代码转换方法;

③掌握实现分支、循环的指令及其程序的编写方法;

2.预习要求

①理解十进制数、十六进制数的数制表示方法;

②理解BCD码、ASCII码编码方式;

③如何实现十六进制数与BCD码之间的转换;

④如何实现ASCII码与BCD码之间的转换。

3.实验设备

计算机1台。

4.基础型实验内容

①以下程序完成单字节的ASCII码到十六进制数转换,完成空白处程序填写,并在

Keil环境运行程序,观察寄存器及内存单元的变化。

RESULT EQU 30H

ORG 0000H

MOV A,#41H ;“A”的ASCII码

CLR C

SUBB A, ; 转换为十六进制值A

MOV RESULT,A

LJMP $

END

②以下程序完成单字节的BCD码到十六进制数转换,,在Keil环境运行程序,观察寄

存器及内存单元的变化。

RESULT EQU 30H

ORG 0000H

MOV A,#23H

MOV R0,A

ANL A,#0F0H

SWAP A

MOV B,#0AH

MUL AB

MOV RESULT,A ;转换高位

MOV A,R0

MOV B,#0FH ;ANL A,

ADD A,RESULT

MOV RESULT,A ; 转换低位

SJMP $

END

③以下程序将单字节十六进制数A的值转换为十进制数,存放在30H~32H中,完成

空白处程序填写,并在Keil环境运行程序,观察寄存器及内存单元的变化。

RESULT EQU 30H

ORG 0000H

MOV A,#7BH

MOV B,#

DIV AB

MOV RESULT,A ;除以100得百位数

MOV A,B

MOV B,#

MOV RESULT+1,A ;除以10得十位数

MOV RESULT+2,B ;余数为个位数

SJMP $

END

5.设计型实验内容

①设一串字母的ASCII存于30H起始的单元中,设计程序判断字母是否为大写字母,

是则将大写字母的ASCII字符转换成小写字母的ASCII字符,为小写则不转换。

②将单字节十六进制数D8H转换为十进制数,存放在30H~33H中。,

③设计程序,将十六进制数614EH转换成ASCII码,使用单步、断点方式调试程序,

查看结果。

实验三算术运算

1.实验目的

①掌握算术运算类、逻辑运算类指令的使用方法;

②掌握BCD码、补码数制表示方法;

③掌握运算程序及循环程序的编写和调试方法。

2.预习要求

①理解8051单片机的算术运算指令;

②理解补码表示数值的方法;

③理解压缩、非压缩BCD码表示数值的方法;

④如何实现多位数的BCD码加、乘、除运算;

⑤如何实现多位数的BCD码减法运算;

⑥预习本实验内容,以及相关课程内容。

3.实验设备

计算机1台。

4.基础型实验内容

①以下程序完成单字节的BCD码加法功能,完成空白处程序填写,并在Keil环境运

行程序,观察寄存器及内存单元的变化。

RESULT EQU 30H

ORG 0000H

MOV A,#99H

MOV B,#99H

ADD ,

; BCD码相加并得到BCD码结果

MOV RESULT,A

MOV A,#00H

A,#00H

MOV RESULT+1,A ;高位处理

LJMP $

END

②下列程序完成多字节BCD码加法运算。内部RAM30H开始的4字节长的BCD码

和外部RAM 1000H开始的4字节长的BCD码相加,结果放在1100H开始的单元中(从低字节到高字节)。

ORG 0000H

CLR C

MOV R5, #04H

MOV R0,#30H

MOV R1,#10H

MOV R2,#00H

MOV R3,#11H

MOV R4,#00H

L1:MOV DPH,R1

MOV DPL,R2

MOVX A,@DPTR

ADDC A, @R0

DA A ;十进制调整

MOV DPH,R3

MOV DPL,R4

MOVX @DPTR,A

INC R2

INC R4

INC R0

L2:DJNZ R5, L1

JNC L3

MOV DPTR,#1104H ;有进位则结果的第五个字节置1

MOV A,#01H

MOVX @DPTR,A

L3:NOP

END

5.设计型实验内容

①设计程序,实现任意字节压缩BCD码的相加,使用单步、断点方式调试程序,查

看结果。

②设计程序,实现多字节十六进制数的减法123456H-005634H,使用单步、断点方

式调试程序,查看结果。

③在内部RAM的30H单元开始,有一串带符号数据块,其长度在10H单元中。编

程求其中正数与负数的和,并分别存入2CH与2EH开始的2个单元中。(负数存放形式为补码)。请分别在30H单元开始写入5个正数、11个负数和9个正数、7个负数的情况,记录程序运行结果。

例如:输入-69H,65H,-7H, -25H ,-47H,56H, -3H,17H,6H,-5H,-45H, -1H, -57H, 23H ,-5H,-13H则正数的和89,负数的和-199H。

实验四比较和查表

1.实验目的

①掌握比较指令的使用及循环程序的编写方法;

②掌握字符查找的思路和算法;

③理解并能运用查表和散转指令。

2.预习要求

①理解掌握比较程序的设计思路;

②理解多分支结构程序的编程方法;

③预习本节实验内容,编写程序及实验预习报告。

3.实验设备计算机1台。

4.基础型实验内容

①以下子程序完成一个两位十六进制数到ASCII码的转换,数值存放在R2中,转换

结果地位存于R2,高位存于R3。用PC做基址实现。

ORG 0000H

HEXA: MOV R2,#1BH

MOV A,R2

ANL A,#0FH

ADD A,#09H

MOVC A,@A+PC

XCH A,R2

ANL A,#0F0H

SW AP A

ADD A,#02H

MOVC A,@A+PC

MOV R3,A

RET

TAB: DB '0','1','2','3','4'

DB '5','6','7','8','9'

DB 'A','B','C','D','E','F'

END

5.设计型实验内容

①分别用近程查表指令和远程查表指令,查找R3内容的平方值。R3内容小于等于

0FH,即平方值为单字节数据。

②在外部RAM 1000H开始处有10H个带符号数,请找出其中的最大值和最小值,分

别存入内部RAM的MAX、MIN单元。

③分别用近程查表指令和远程查表指令,查找R3内容的平方值。平方值为两个字节

数据。

第二章单片机硬件实验

硬件实验需要连接计算机与80C51的仿真器,在实验前要理解相关的硬件电路,按实验指导书中的硬件连接方法正确连线,才能保证实验的正常进行,得到正确结果。

硬件实验时要注意以下几点:

1、根据实验指导书正确进行模块与模块之间接口的连接;注意一定要在实验系

统上电前进行接口的连接,千万不能带电操作。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,

请注意仿真器的方向:缺口朝上。(断电时进行)

3、进行KEIL软件的设置(KEIL软件使用见附录一),编辑汇编源程序,编译,

直至编译无误。

4、打开80C51模块电源和总电源,可以单步或跟踪或全速方式运行程序,同时

观察运行结果(注意:要停止调试,按THKL-C51仿真器上的Reset按键)。

5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到

89S52/89S51芯片中运行(注意:芯片缺口朝上;不建议使用)。(ISP烧录器的使用查看附录二)

注:

1、在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到

原来的位置!以下将不再重述。

2、不要插拔实验系统上的模块和芯片,不要打开与本实验不相关模块的电源。

注意

不能带电进行模块之间导线的连接!!

实验一I/O控制实验

1.实验目的

①掌握基本IO输入输出操作指令;

②熟练运用keil环境对硬件接口进行调试。

2.预习要求

①理解51单片机IO的输入、输出控制方式;理解P0、P1、P2、P3口做为普通的IO

口有何区别。

②理解实现软件延时程序设计的延时时间估算;

③认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实验

报告。

3.实验设备

计算机1台;

ZDGDTH-1型80C51实验开发系统1套;

2号导线4条;

8P数据线1条。

4.基础型实验内容

①8位逻辑电平显示的接口电路设计如图1-1所示,用P1口做输出口,接八位逻辑

电平显示,程序功能使发光二极管从右到左轮流循环点亮。

用8P数据线将D2区80C51/C8051F020MCU模块的 JD1(P1口)与A5区8位逻辑电平显示模块JD1A5相连。在Keil环境运行该程序,观察发光二极管显示情况。

图1-1 8位八位逻辑电平显示接口电路

ORG 0

LOOP: MOV A, #0FEH

MOV R2,#8

OUTPUT: MOV P1,A

RL A

ACALL DELAY

DJNZ R2,OUTPUT

LJMP LOOP

DELAY: MOV R6,#0 ;延时程序

MOV R7,#0

DELAYLOOP: DJNZ R6,DELAYLOOP

DJNZ R7,DELAYLOOP

RET

END

②8位拨动开关的接口电路设计如图1-2所示,假设采用P1口控制LED显示,P2口

接收拨码开关的输入值,用8P数据线将D2区80C51/C8051F020MCU模块的 JD1(P1口)、JD1(P2口)分别与A5区八位逻辑电平显示模块JD1A5、C6区8位拨动开关模块JD1 C6相连。在Keil环境运行该程序,使用单步、断点、连续运行调试程序,查看结果。

图1-2 拨码开关接口电路

ORG 0000H

LL: MOV P2,#0FFH

NOP

MOV A, P2

NOP

MOV P1,A

LJMP LL

END

③如图1-3所示,假设采用P1.0口控制外部LED,拨动开关控制外部中断,用二号

导线将D2区80C51/C8051F020MCU模块的P1.0、P3.2口分别与A 5区八位逻辑电平显示模块的L0、C8区单次脉冲输出相连。并在Keil环境运行程序,观察实验现象。

图1-3 外部中断及LED显示电路

流程图为:

源程序:

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INTERRUPT

ORG 0030H

MAIN: CLR P1.0

MOV TCON,#01H

MOV IE,#81H

SJMP $

INTERRUPT: PUSH PSW ; 保护现场

CPL P1.0

POP PSW ; 恢复现场

RETI

END

④在上述步骤中,如果改变中断的触发方式为电平触发方式,试改动程序,并在Keil

环境运行程序,观察实验现象,说明实验结果。

5.设计型实验内容

①画出流程并设计程序实现8位逻辑电平显示模块的奇偶位的亮灭闪烁显示,闪烁间

隔为1S。

②画出流程并设计程序实现8位逻辑电平显示模块的LED轮流点亮,间隔为1S。

③设计硬件连接图,画出流程并设计程序实现当拨码开关K0往上拨时,实现设计型

实验内容步骤①,否则LED全灭;当开关K1往上拨时,实现设计型实验内容步骤②,否则LED全灭;当K0、K1同时往上拨的时候,LED全亮。

④累计INT0按键的中断次数,保存到内部RAM的30H单元。

51单片机基础知识试题题库(复习资料)

单片机原理与应用复习资料 第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时〃表示从P0口稳定地送出了低8位地址。(备注:ALE 为地址锁存控制信号,书上P22) 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。(p25 更具体些是在内部存储器的用户RAM区开辟的) 3、当使用8751且EA=1〃程序存储器地址小于1000H 时〃访问的是片内ROM。 4、MCS-51系统中〃当PSEN信号有效(备注:低电平为有效信号)时〃表示CPU要从外部程序存储器读取信息。(p22) 5、MCS-51有4组工作寄存器(p23 备注:称为通用寄存器或者工作寄存器)〃它们的地址范围是00H~1FH 。(延伸:通用寄存器占去32个单元,位寻址区占去16个单元,用户RAM区占去80个单元,三者总共为128个单元,组成内部数据存储器的低128单元区) 6、MCS-51片内20H~2FH(即为位寻址区)范围内的数据存储器〃既可以字节寻址又可 以位寻址。(p24) 7、PSW中RS1 RS0=10时〃R2的地址为12H 。 8、PSW中RS1 RS0=11时〃R2的地址为1AH 。(p27 查表2.3即可) 9、单片机系统复位后〃(PSW)=00H〃因此片内RAM寄存区的当前寄存器是第0 组〃8个寄存器的单元地址为00H ~ 07H 。(p27 参考下一题) 10、PC复位后为0000H 。(p38 查表2.6即可,有各种寄存器的初始化状态) 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。(p37) 12、PC的内容为将要执行的下一条指令地址。(p30)

单片机实验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。

单片机实验报告

单片机实验报告 班级:信科09-3 姓名:王艳辉 学号:08093581 指导老师:陈岱 完成时间:2012年1月8日

实验一 I/O接口P1、P3口实验 一,实验题目 1,用P1口做输出,接八只发光二极管,编写程序,使发光二极管循环点亮。 2,用P3口做输入口,接八个扭子开关,通过P1口在实验箱上LED 灯上输出,编写程序读取开关状态,将此状态,在发光二极管上显示出来。 二,实验目的 1.熟悉使用CPLD实验箱进行单片机实验的方法。 2.设计出符合实验要求的CPLD硬件电路。 3.学习单片机仿真开发软件Keil 51的使用方法。 4.学习MCS-51汇编语言编程方法。 5.学习Pl口的使用方法。 6.学习延时子程序的编写和使用。 三,实验准备 P1和P3口为准双向口,Pl、P3的每一位都能独立地定义为输出线或输入线,作为输入时,必须向锁存器相应位写入“l”,该位才能作为输入。803l中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“l”使它再成为一个输入。再来看一下延时程序的实现。现常用的有两种方法:一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。根据实验系统的工作主频,计算出延时0.1s的

时间常量,编制延时程序: MOV R7, #200 (1) DEl:MOy R6,#X (2) DE2:DJNZ R6,DE2 (3) DJNZ R7,DEl (4) 上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需1÷0.256us现求出X值: (X*1/0.256+1/0.256+l/0.256)*200+l/0.256=0.1*10^6。解出X=l26。代入上式可知实际延时约0.100O04s,近似符合要求。 四,实验步骤 (1)打开MAX+PLUSⅡ CPLD实验开发系统。 (2)点击File菜单Project子菜单之Name项,出现Project Name 对话框。为当前的实验选择恰当的路径并创建项目名称”E:\AT8031”。(3)点击File菜单之New项,出现对话框,为选择输入方式,选择Graphic Editor File。出现图形编辑窗口。 (4)双击空白编辑区,出现Enter Symbol 对话框。 (5)从Symbol Libraries项中选择mf子目录(双击),在prim子目录中选择输入脚input 和输出引脚output。 (6)在图形编辑窗口中的左侧点击连线按钮,并完成对电路的连线。(7)在引脚的PIN_NAME处左键双击使之变黑,键入引脚名称。

单片机基础资料介绍(doc 6页)

单片机基础资料介绍(doc 6页)

4.1 单片机介绍: 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。 单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个 计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的

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、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并 放回原处。 软件实验 实验一清零实验 一、实验目的:

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机实验指导书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 五、实验电路

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)

单片机实验指导书(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

单片机原理实验指导书(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口的

单片机实验报告

实 验 报 告 实验课程:单片机原理及应用 班级: 12自动化2班 学号: 姓名: 教师:张玲 成绩: 实验日期:年月日 实验名称:实验1——计数显示器 一、实验目的: 学习Proteus 软件的使用,掌握单片机原理图的绘图方法。 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图; 3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验

1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microproces sor ICs “U1”80C51 Miscellaneo us “X1”/12MHz CRYSTAL Capacitors“C1”~“C2” /1nF CAP Capacitors“C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors“R1”/100ΩRES Optoelectro nics “LED1”~ “LED2” 7SEG-COM-CAT-G RN Switches & Relays “BUT”BUTTON 1、编程思路及C51源程序:

2、电路原理图: 3、仿真运行效果展示:

4、实验小结: 熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法, 学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原 理图的绘制。

51单片机基本程序

1第一位隔一秒闪烁一次 #include #define uint unsigned int sbit led1=P1^0; uint i; uint j; void main() { while(1) { led1=0; for(i=1000;i>0;i--) for(j=110;j>0;j--); led1=1; for(i=1000;i>0;i--) for(j=110;j>0;j--); } } 2复杂广告灯 #include #define uint unsigned int #define uchar unsigned char uchar discode[]={ 0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,//正向流水灯 0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,//反向流水灯 0xAA,0x55,0xAA,0x55,0xAA,0x55,0xFF,//隔灯闪烁3次 0xF0,0x0F,0xF0,0x0F,0xFF,//高四盏。低四盏闪烁2次 0x33,0xCC,0x33,0xCC,0x33,0xCC,0xFF//隔两盏闪烁3次 }; void delayms(uint ms) { uint i; while(ms--) { for(i=0;i<120;i++); } } void main(void) { uchar i; P0=0xFF;

while(1) { for(i=0;i<35;i++) { P0=discode[i]; delayms(250); } } } 3拉幕式与闭幕式广告灯 #include #define uint unsigned int #define uchar unsigned char uchar discode1[4]={0x18,0x24,0x42,0x81}; uchar discode2[4]={0x7E,0x3C,0x18,0x00}; void delayms(uint ms) { uint i; while(ms--) { for(i=0;i<120;i++); } } void main(void) { uchar i,j; P0=0xFF; while(1) { for(i=0;i<4;i++) { j=discode1[i]; P0=~j; delayms(500); } j=0xFF; P0=~j; delayms(500); for(i=0;i<4;i++) { j=discode2[i]; P0=~j;

单片机实验资料大全

一、熟悉学习工具开发板 二、点亮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

单片机串行通信实验报告(实验要求、原理、仿真图及例程)

《嵌入式系统原理与实验》实验指导 实验三调度器设计基础 一、实验目的和要求 1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。 2.掌握Keil与Proteus的联调技巧。 3.掌握串行通信在单片机系统中的使用。 4.掌握调度器设计的基础知识:函数指针。 二、实验设备 1.PC机一套 2.Keil C51开发系统一套 3.Proteus 仿真系统一套 三、实验内容 1.甲机通过串口控制乙机LED闪烁 (1)要求 a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时 闪烁,关闭所有的LED。 b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。 i.甲机发送“A”,控制乙机LED1闪烁。 ii.甲机发送“B”,控制乙机LED2闪烁。 iii.甲机发送“C”,控制乙机LED1,LED2闪烁。 iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。 c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。两机的程序要 分别编写。 d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下: i.设置串口模式(SCON) ii.设置定时器1的工作模式(TMOD) iii.计算定时器1的初值 iv.启动定时器 v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。

(2)电路原理图 Figure 1 甲机通过串口控制乙机LED闪烁的原理图 (3)程序设计提示 a.模式1下波特率由定时器控制,波特率计算公式参考: b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。 2.单片机与PC串口通讯及函数指针的使用 (1)要求: a.编写用单片机求取整数平方的函数。 b.单片机把计算结果向PC机发送字符串。 c.PC机接收计算结果并显示出来。 d.可以调用Keil C51 中的printf来实现字符串的发送。 e.单片机的数码港显示发送的次数,每9次清零。

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

湖南城市学院 实验报告 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)观察仿真结果,检验与电路的正确性。

单片机实验讲义

实验一软件实验 1.1 实验目的 通过实验熟悉DAIS软件仿真环境和MCS-51系列单片机指令系统。掌握程序编制、调试方法和技巧。 1.2 实验内容 1、把R1中内容传送至R0中。 2、把内部数据存储器20H单元中的内容传送至内部数据存储器30H单元中。 3、把外部数据存储器2000H单元中的内容传送至内部数据存储器20H单元中。 4、把外部程序存储器2000H单元中的内容传送至内部数据存储器20H单元中。 5、应用MOVC A,@A+PC指令求累加器A的平方值Y(设Y<=255),并把结果送至R7中保存。 6、将(R2R3)和(R4R5)中的双字节无符号数相加,结果存放在40H和41H单元中。 7、设自变量X为一无符号数,存放在内部数据存储器的V AX单元,函数Y存放在FUNC 单元,请编写满足如下关系的程序: 当x>=50时y=x; 当x<50时y=5x。 8、在外部数据存储器从2000H到2030H地址单元中存放有一数据块,请将它们分别传送至3000H单元到3030H单元中。 9、将8051片内的数据存储器20H单元中存放的单字节二进制数,转化为ASCII码,存放在30H31H单元中,(要求将ASCII码转换部分设计为子程序)。 汇编语言程序如下 ;1、把R1中内容传送至R0中。 ;2、把内部数据存储器20H单元中的内容传送至内部数据存储器30H单元中。 ;3、把外部数据存储器2000H单元中的内容传送至内部数据存储器20H单元中。 ;4、把外部程序存储器2000H单元中的内容传送至内部数据存储器20H单元中。 org 0000h mov r1,#22h mov a,r1 ;1、把R1中内容传送至R0中 mov r0,a mov 20h,#33h mov 30h,20h ;2、把内部数据存储器20H单元中的内容传送至内部数据存储器30H单元中 mov dptr,#2000h ;3、把外部数据存储器2000H单元中的内容传送至内部数据存储器20H单元中 mov a,#66h movx @dptr,a clr a

单片机实验报告(学期全部实验)

单片机程序设计 实 验 报 告 姓名: 学号: 专业班级:

第二节课: 实验一:1357,2468位置的灯交替闪烁 一实验要求 1357,2468位置的灯交替闪烁。 二硬件连接图与结果 三原理简述 程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。四程序 #include main () { int i; P0=0XAA; //1357四个灯亮 for (i=0;i<=25000;i++); //延时程序 P0=0X55; //2468四个灯亮 for (i=0;i<=25000;i++); //延时程序 }

五所遇问题与解决方式 程序比较简单,没有遇到问题。 实验二:流水灯 一实验要求 流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。二硬件连接图与结果 三原理简述 程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转

移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。时间间隔简单的用了一个延时的语句。 因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。 四程序 //流水灯 #include main () { int i,j; while(1) { P0=0X01; //第1个灯亮 for (i=0;i<=30000;i++); //延时程序 for(j=0;j<=7;j++) //移位循环程序 { P0=P0<<1; //移位 for (i=0;i<=30000;i++); //延时程序 } P0=0xff; //全亮 for (i=0;i<=30000;i++); //延时程序 } }

单片机基础知识点总结

单片机基础知识点总结 单片机基础知识点总结 第1章 1、微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令 并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊 的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序 和数据;输入输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和IO端口引脚具有复用功能;软件上,采用面向控制的 指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机 还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性 高等特点。 3、单片机的几个重要指标的定义。 答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储器)、IO口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。

4、单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 5、单片机的特点 存储器ROM和RAM严格分工;采用面向控制的指令系统;输入输 出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用 性 6、水塔水位的控制原理 (1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水 塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与 +5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电,而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到 水位上限或下降到水位下限。 第2章 1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时计数器、多功能IO口和中断控制等基本功能部件。1)单片机的核心部分是CPU,CPU是单片机的大脑和心脏。2)程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。3)

相关文档
最新文档