MCS-51单片机实验指导书

MCS-51单片机实验指导书
MCS-51单片机实验指导书

MCS-51单片机实验指导书

黄惟公邓成中编写

西华大学机械工程与自动化系

机械电子工程教研室

目录

单片机实验板原理图与零件布置图---------------------------2 说明---------------------------------------------------------------------5 实验1 红绿灯控制--------------------------------------------6 实验2 LED显示-----------------------------------------------9 实验3 键盘的应用-------------------------------------------11 实验4 定时、中断的应用---------------------------------13 四位LED显示参考程序--------------------------------15 实验5 计数器实验-------------------------------------------18 实验6 A/D转换器-------------------------------------------19 实验7 D/A转换器-------------------------------------------24 实验8 PC机与单片机的串行通讯实验----------------26 附:ISP下载程序使用说明--------------------------------29 MedWin集成开发环境用户手册-----------------------33-74 Practice is a best way to learnig “实践”是学习单片机的最好方法。

说明

1 每次实验学生必须进行预习。

2 实验提供的参考程序只是为学生提供了一个参考样本,学生必须按实验报告的要求完成的思考题中的有关实验。

3 有条件的同学可以完成所有思考题中要求的实验。

4 西华大学的网站上有所有本实验需要使用的软件下载。

5 对本实验装置有兴趣,希望自己制作的同学,可与有关老师联系。

实验1 红绿灯控制

实验目的:

初步学习如何用开发系统调试程序。

了解89C51单片机I/O端口的结构特点。

掌握89C51单片机I/O端口的控制和使用方法。

相关知识:

89C51单片机的P0~P3四个端口均可为通用I/O口使用。

89C51单片机的P0~P3端口,输入数据可以缓冲,输出时能够锁存,并具有一定的带负载能力。

实验要求:

利用单片机的P1.3、P1.4、P3.3控制3个LED指示灯,模仿交通控制灯。红灯亮4秒;黄灯亮2秒;黄灯、绿灯同时亮1秒;绿灯亮4秒,如此循环。

电路:

电路图见“图1 单片机实验板原理图”有关部分。

参考程序清单:

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN: CLR P1.3 ;红灯亮4秒

SETB P1.4

SETB P3.3

MOV R0, #40

LCALL DELAY

SETB P1.3 ;黄灯亮2秒

CLR P1.4

SETB P3.3

MOV R0, #20

LCALL DELAY

CLR P1.4 ;黄绿灯亮1秒

CLR P3.3

SETB P1.3

MOV R0, #10

LCALL DELAY

SETB P3.3 ;绿灯亮4秒

MOV R0, #40

LCALL DELAY

AJMP MAIN ;循环

DELAY: MOV A, R0

MOV R5, A;延时程序,(R0)=10 延时1秒DELAY3:MOV R6,#211

DELAY2:MOV R7,#00H

DELAY1:DJNZ R7,DELAY1

DJNZ R6,DELAY2

DJNZ R5,DELAY3

RET

END

操作步骤:(参考MedWin仿真软件简介)

①编辑程序:按参考程序输入并命名为led1.Asm ;

汇编程序并装入,如出现标点符号方面或语法错误,编辑、修改并“产生代码并装入”后,结果如下图所示:

②仿真(软件)调试;

◆“查看”→“寄存器”以及“特殊功能寄存器”→“调试”→“单步”观察每一步运行后,寄存器的变化是否与预期一致。

每当运行到DELA Y时注意观察“特殊功能寄存器”中的P1.3、P1.4、P3.3是否为程序编写时所预期的结果,若是,则证明本程序正确。

◆也可以利用断点功能来调试程序,在DELAY和RET指令前单击设置两个断点→“全速运行”。

结果:“全速运行”一次,PC指针停留在第一个断点处(用断点调试程序的方法很重要);再“全速运行”,PC指针停留在第二个断点处:继续下去,则交替停留在两个断点处。这表明程序按要求执行到了延时子程序。

②下载程序后调试。将仿真器与计算机通过打印机并行口连接好。

按ISP说明书的要求将程序下载到用户板上。这样,程序就会真正

在用户的硬件系统中运行,其运行状况正确与否一目了然。

程序调试的方法有很多,并且不同的情况会有不同的调试手段,惟有在实战中不断积累经验,才能熟中生巧,缩短程序开发的时间周期,产生更大的效益。

思考题:

1.怎样计算延时子程序的时间?

2.如何计算与LED连接的电阻的阻值?

3.画出单片机实验板、开发系统、PC机之间的连接框图。

4.如何用89C51的I/O端口控制继电器,画出电路原理图。

实验报告:

画出本实验相关的原理图。

回答思考题中1、3、4题,选作第2题。

对本次实验有何建议和感想?

实验2 LED显示

实验目的:

了解八段码LED的显示原理。

掌握单片机控制LED显示器的编程方法。

相关知识:

1.八段LED数码LED显示器件分为共阴极与共阳极两种,其显示原理与引脚分布见教材的有关部分。

2.为了在LED上显示字母和数字,必须根据LED与CPU的连接方法,事先计算出LED的显示“段码”,通过软件译码来实现。

实验要求:

循环显示0~9十位数字,时间间隔为1秒。

电路:

电路图见“图1 单片机实验板原理图”有关部分。

参考程序:

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN: MOV P2, #00H ; 使左边LED不显示(黑)

SETB P2.7 ;用右边LED显示

HERE: MOV R0, #00H

MOV R1, #0AH

LP: MOV A, R0

MOV DPTR, # TAB ;0~9段码表的首地址,

MOVC A, @A+DPTR ;查表指令

MOV P0,A

LCALL DELAY;延时1秒

INC R0 ;显示内容加1

DJNZ R1, LP ;判断0~9是否显示完了

AJMP HERE ;循环

DELAY: MOV R5, #10 ;延时1秒子程序

DELAY3: MOV R6, #211

DELAY2: MOV R7, #00

DELAY1: DJNZ R7, DELAY1

DJNZ R6, DELAY2

DJNZ R5, DELAY3

RET

ORG 0100H

TAB: DB 88H, 0BBH, 4AH, 2AH, 39H

DB 2CH, 0CH, 0BAH, 08H, 28H

END

思考题:

1.段码与那些因素有关,写出本实验中A、B、C、D、E、F、P的段码。2.将本实验程序改写成显示0~99。

实验报告:

画出本实验相关的原理图。

回答思考题。

对本次实验有何建议和感想?

实验3 键盘的应用

实验目的:

掌握独立键盘的电路连接和编程方法。

相关知识:

独立键盘的原理,防止键盘的抖动。

实验要求:

1.按KEY1,只有红灯亮;按KEY2,只有黄灯亮;按KEY3,只有绿灯亮。2.LED显示0,每按KEY1一次,LED显示加1,至9后,再循环从0显示到9。

电路:

电路图见“图1 单片机实验板原理图”有关部分。

参考程序(按KEY1,只有红灯亮;按KEY2,只有黄灯亮;按KEY3,只有绿灯亮):

ORG 0000H

AJMP KEY1

ORG 0030H

KEY1: SETB P2.2 ;将P2.2置1

JB P2.2, KEY1 ;有键按下P2.2=0

KEY11: ACALL DELAY;延时,防止抖动

SETB P2.2

JNB P2.2, KEY11 ;键是否释放

CLR P1.3 ;红灯亮

SETB P1.4 ;黄灯黑

SETB P3.3 ;绿灯黑

KEY2: SETB P2.1

JB P2.1, KEY2

KEY22: ACALL DELAY

SETB P2.1

JNB P2.1, KEY22

SETB P1.3

CLR P1.4

SETB P3.3

KEY3: SETB P2.0

JB P2.0, KEY3

KEY33: ACALL DELAY

SETB P2.0

JNB P2.0, KEY33

SETB P1.3

SETB P1.4

CLR P3.3

AJMP KEY1

DELAY:请自己编写

END

思考题:

1.参考程序在运行时必须依次按键,如何改为按LED对应的键,使对应

的LED点亮?

2.用实验板左边的键实现按键中断,每按键一次,LED加1, 从0~9循环,

如何实现?请编程实现。

实验报告:

画出本实验相关的原理图。

写出调试通过的LED显示0,每按KEY1一次,LED显示加1,至9后,再循环从0显示到9的程序,并加相关注释。

思考题2的调试程序。

对本次实验有何建议和感想?

实验4 用中断实现LED显示

实验目的:

掌握定时器的使用方法。

掌握中断的使用方法。

实验要求:

利用定时器和中断方式,做一个显示0~9的秒钟。

电路:

电路图见“图1 单片机实验板原理图”有关部分。

编程思想:

用定时器T0,方式1,产生每隔1/150秒的中断,在中断服务程序中计算中断的次数,产生150次中断为1秒,并进行显示。

参考程序清单:

LED_1 EQU P2.5

LED_2 EQU P2.7

ORG 0000H

AJMP MAIN

ORG 000BH ;T0中断服务程序入口

LJMP INTR0

ORG 0030H

MAIN: MOV R0, #00H

MOV R2, #150

CLR LED_1

SETB LED_2

MOV TMOD,#01H ;T0定时,工作方式1

MOV TH0,#0DEH ;T0计数初值

MOV TL0,#0E0H

SETB EA

SETB ET0

SETB TR0

AJMP $ ;等待到中断

INTR0: MOV TH0, #0DEH ;T0重赋初值

MOV TL0, #0E0H

MOV DPTR, #TAB ;查表显示

MOV A, R0

MOVC A, @A+DPTR

MOV P0, A

DJNZ R2, LP ;中断150次为1秒

MOV R2, #150

INC R0

CJNE R0, #0AH, LP

MOV R0, #00H ; 跳回循环LP: RETI

ORG 0200H

TAB:DB 88H, 0BBH, 4AH, 2AH, 39H

DB 2CH, 0CH, 0BAH, 08H, 28H

END

实验报告:

1.画出本实验相关的原理图。

2.绘出参考程序的详细流程图。

3.用计时器中断的方法与用软件延时的方法产生的秒钟相比较,有何优点?

4位LED显示的参考程序:

;*************************************************************** ;程序名称:display.asm 显示程序

;本科生产实习版,此程序供参考,注意程序的注释和编程的风格

;主要原理:用定时器定时中断,每隔10ms显示一位

;作者:黄惟公、邓成中2003.2.25

;**************************************************************** LED_0 EQU 7FH ;显示缓冲区;LED_0存放个位数要显示的内容

LED_1 EQU 7EH ;存放十位数要显示的内容

LED_2 EQU 7DH ;存放百位数要显示的内容

LED_3 EQU 7CH ;存放千位数要显示的内容

DIS_FLAG EQU 7BH ;显示位标记,DIS_FLAG=0,显示个位;

; DIS_FLAG=1显示十位

; DIS_FLAG=2,显示百位

;DIS_FLAG=3显示千位

DIGIT0 EQU P2.7 ;个位控制位

DIGIT1 EQU P2.5 ;十位控制位

DIGIT2 EQU P2.6 ;百位控制位

DIGIT3 EQU P2.4 ;千位控制位

BELL EQU P2.3 ;蜂鸣器控制位

ORG 0000H

AJMP MAIN

ORG 000BH ;T0中断服务程序入口

LJMP INTR0

ORG 0030H

MAIN: MOV LED_0, #1 ;个位数显示1

MOV LED_1, #2 ;十位数显示2

MOV LED_2, #3 ;百位数显示3

MOV LED_3, #4 ;千位数显示4

MOV DIS_FLAG,#00 ;为显示个位作准备

MOV P2,#00H

SETB BELL ;关蜂鸣器控制

MOV TMOD,#01H ;T0定时,工作方式1

MOV TH0,#0EAH ;T0计数初值

MOV TL0,#00H

SETB EA

SETB ET0

SETB TR0

sjmp $

;***************************************************

INTR0: MOV TH0,#0EAH ;重载T0计数初值

MOV TL0,#00H

LCALL DISPLAY

INTREND: RETI

;*******************************************************

;显示子程序

;根据DIS_FLAG的内容决定显示哪一位

;从显示缓冲区中调出要显示的数据放入A,查段码表后显示

;因占用寄存器A,所以把A推入堆栈

;******************************************************* DISPLAY: PUSH ACC

MOV A,DIS_FLAG

L0: CJNE A, #00H,L1 ;根据DIS_FLAG的内容决定显示哪一位AJMP DISLED0 ;DIS_FLAG=0,转显示个位子程序

L1: CJNE A, #01H,L2

AJMP DISLED1 ;DIS_FLAG=1,转显示十位子程序L2: CJNE A, #02H,L3

AJMP DISLED2 ;DIS_FLAG=2,转显示百位子程序L3: AJMP DISLED3 ;DIS_FLAG=3,转显示干位子程序DISLED0: MOV A, LED_0 ; 将个位要显示的内容放入A

SETB DIGIT0 ;(用P2.7)打开控制个位的三极管

CLR DIGIT3 ;(用P2.4)关闭控制干位的三极管

MOV DIS_FLAG, #01H ;为下一次显示十位做好标志

LJMP DIS ;转查表显示部分

DISLED1: MOV A, LED_1

SETB DIGIT1

CLR DIGIT0

MOV DIS_FLAG, #02H

LJMP DIS

DISLED2: MOV A, LED_2

SETB DIGIT2

CLR DIGIT1

MOV DIS_FLAG, #03H

SJMP DIS

DISLED3: MOV A, LED_3

SETB DIGIT3

CLR DIGIT2

MOV DIS_FLAG, #00H

DIS:MOV DPTR,#TAB ;查段码表

MOVC A, @A+DPTR

MOV P0,A

DISEND: POP ACC

RET

TAB: DB 88H, 0BBH, 4AH, 2AH, 39H, 2CH, 0CH, 0BAH, 08H, 28H END

实验5 计数器实验

实验目的:

掌握计数器的使用方法。

实验要求:

利用计数器,记录关断管被遮断的次数,并用4位LED显示出来。

电路:

电路图见“图1 单片机实验板原理图”有关部分。

编程思想:

用计数器T0方式1,记录光断管被遮断的次数。修改指导书中提供的4位LED显示程序(改用T1产生定时中断进行显示),在主程序中循环读取T0寄存器TH0、TL0中的计数值,进行十进制转换后,分为千、百、十、个位,装入4位LED显示程序的数据缓冲区,进行显示。

实验报告:

1.画出本实验相关的原理图。

2.绘出参考程序的详细流程图。

实验6 A/D转换器

实验目的:

掌握串行AD转换器的使用方法。

学习正规程序的书写与注释方法。

实验要求:

利用TLC0832采集直流0~5v的电压,并显示结果。

电路:

电路图见“图1 单片机实验板原理图”有关部分。

将单片机实验板的AN1接稳压电源的可调节电源端,GND接稳压电源的地端(调整直流电压时千万不要超过5v,否则会烧坏TLC0832芯片)。

编程思想:

用定时器T0,方式1,产生每隔1/150秒的中断,在中断服务程序中显示AD转换的数据。

TLC0831/0832串行A/D简介:

主要技术特点:

- 8位分辨率

-易于和微处理器接口或独立使用

-满比例尺工作或用5v基准电压

-可单通道或差分输入选择

-单5V供电,输入范围0~5V

-输入和输出与TTL和CMOS兼容

-在F

CLOCK

=250Hz时,转换时间为32us

-总非调整误差±=LSB

这些器件是8位逐次逼近模数转换器。TLC8031有1个输入通道。TLC8032有2个输入通道。

TLC8031 、TLC8032使用采样-数据-比较器的结构,用逐次逼近流程,转换差分模拟输入信号。要转换的输入电压连到一个输入端,相对于地(单端输入)或另一输入端(差分输入)。TLC0832的输入端可以分配为正极(+)或负极(-)。TLC0831只有1个极性已固定配置的差分输入端,因此不需

要地址信号。TLC0831可以使用差分信号,连在它的IN

+和IN

端;或使IN

-连到地,IN

连到信号,作为单端输入。当连到分配为正端的输入电压低于

分配为负端的输入电压时,转换结果为全0。

TLC8031的工作时序如图。

置CS为低,方能启动转换开始,使所有逻辑电路使能。CS在整个转换过程中必须置为低。接着从处理器接受一个时钟,一个时钟的时间间隔被自动插入,以使多路转换器选定的通道稳定。DO脱离高阻状态,提供一个时钟的时间间隔的前导低电平,以使多路器稳定。在转换过程中,转换数据同时从DO端输出,以最高位(MSB)开头。经过8个时钟后,转换完成。当

CS变高,内部所有寄存器清零。此时,输出电路变为高阻态。如果希望开

始另一个转换,CS必须做一个从高到低的跳变,后面紧接地址数据。

TLC8032的输入配置在多路器寻址时序中进行,多路器地址通过DI端移入转换器。多路地址选择模拟输入通道,也决定输入是单端输入还是差分输入。当输入是差分的,要分配输入通道的极性。另外在选择差分输入模式时,极性也可以选择。输入通道的两个输入端的任一个都可以作为正极或负极。

在每个时钟的上升跳变时,DI端的数据移入多路器地址移位寄存器。DI端的第一个逻辑高,表示起始位。紧接的两位是TLC8032的配置位。在连续的每个时钟的上升跳变,启动位和配置位移入移位寄存器。当启动位移入多路器寄存器的开始位置后,输入通道选通,转换开始。TLC8032的DI 端在转换过程中和多路器的移位寄存器是关断的。

TLC8032在输出以最高位(MSB)开头的数据流后,又以最低位(LSB)开头重输出一遍(前面的)数据流。DI和DO端可以连在一起,通过一根线连到处理器的一个双向IO口进行控制。之所以能这样做是因为DI端只在多路器寻址时被检测,而此时DO端仍为高阻状态。

TLC8031和TLC8032的时序图如下:

单片机实验指导书

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本实 例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 .专业DOC.

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接 ]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下:

《单片机》课程实验教案

《单片机》课程实验教案 实验一流水灯实验 实验目的: 1、熟悉仿真软件PROTEUS的使用方法。 2、掌握利用PROTEUS软件进行单片机系统设计与仿真的过程。 3、掌握发光二极管的控制方法。 实验原理: 利用P1口的通用I/O口功能,P1口做输出口,通过程序向P1口传送数据,用8只发光二极管分别显示P1.7~P1.0各管脚的电平状态,编写程序实现暗点以1HZ频率由低位到高位循环。 P1口接发光二极管的阴极,P1口的管脚输出低电平时对应的发光二极管点亮,实验电路如图所示。 1、从 (1)AT89S51:单片机; (2)RES、RX8:电阻、8排阻; (3)LED-GREEN:绿色发光二极管; (4)CAP、CAP-ELEC:电容、电解电容; (5)CRYSTAL:晶振。 2、放置元器件。 3、放置电源和地。 4、连线。 5、元器件属性设置。 6、电气检测。 实验设备及软件系统: 1、电脑;

2、MA TLAB软件。 实验步骤: 1、画流程图。 2、编写汇编程序。 3、通过菜单“source→Add/Remove Source Files…”新建源程序文件:DSJ1.ASM。 4、通过菜单“source→DPJ1.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。 5、程序编辑好后,单击按钮存入文件DSJ1.ASM。 6、源程序编译汇编、生成目标代码文件。 7、通过菜单“source→Build All”编译汇编源程序,生成目标代码文件。若编译失败,可对程序进行修改调试直至汇编成功。 8、加载目标代码文件。 9、全速仿真。 单击按钮,启动仿真。暗点以1HZ频率由低位到高位循环移动。 10、仿真调试。 (1)带断电仿真。

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 口,如图所示:

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支

持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

单片机实验指导书

《单片机原理实验指导书》 2013年03月

单片机实验是学习单片机理论的重要实践环节。其目的在于通过试验来验证和研究单片机理论,增强感性认识, 以促进认识的深化,培养学生科学的分析能力,使学生掌握单片机试验的操作方法和基本技能;培养学生严肃认真和实事求是的科学作风,锻炼科学实验的能力。 为了培养学生独立分析问题和解决问题的能力;培养学生的动手操作能力;为了更有效的完成每项实验,要求学生在实验前必须作充分预习。除复习与实验有关的理论,还要认真研究实验指导书,了解实验目的、内容、弄清实验原理,掌握编程步骤、调试程序的方法。 本指导书是根据数控专业实验教学大纲的要求以及我校单片机实验室的现状编写的。

前言 keil51软件使用简要说明---------------------------------------------------4 实验一数据传送类指令实验----------------------------6 实验二算术指令实验-----------------------------------9 实验三逻辑指令实验-----------------------------------------------------11 实验四控制转移和子程序调用实验-----------------------------------13 实验五典型程序设计-----------------------------------------------------14 实验六定时/计数器及中断实验---------------------------18 keil51使用简要说明

51单片机20个实验-代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。 主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板

单片机实验指导书

单片机实验指导书 适用专业:计算机控制、网络、物联网等 学时:12 编写人:孔庆臣 2016-5-12

实验一 IO口输入输出实验 1. 实验内容 (1) P2口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 (2) P1口做输入口,接八个扭子开关,P2口接八只发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。 2. 实验目的 学习keil仿真软件的使用方法 学习IO口的使用方法。 学习延时子程序的编写和使用。 stc-isp软件的使用 3.有关说明 P1口为准双向口,P1的每一位都能独立地定义为输入或输出线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。单片机IO口在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。 可以用第二个实验做一下实验。先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1作输入口,会有什么结果。 再来看一下延时程序的实现。通常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。 本实验系统晶振为11.0592MHZ,则一个时钟周期为0.0904us。现要写一个延时0.1s的程序,可大致写出如下: void Delay100ms() //@11.0592MHz { unsigned char i, j, k; i = 5; j = 52; k = 195; do { do { while (--k); } while (--j); } while (--i); } 5.实验电路设计 (1)分析附录1 单片机实验系统部分原理图,选择合适的电路模块,并根据实验要求的功能进行合理的电路模块间的电路连接。 (2)画出本次实验独立的原理图 5、实验要求 (1)完成实验电路设计 (2)完成实验程序设计 (3)实现要求的实验结果

单片机课程设计指导书

单片机原理及应用课程设计指导书 一、课程设计目的 《单片机原理及应用》是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 二、课程设计要求 1、每个学生可以从下面的课程设计题目中任选一个(也可以根据自己的兴趣选题,但选题必须是和单片机应用有关的其他控制或测试系统,同时要通过指导老师确认),选题后按任务书的要求查阅资料,完成系统的总体设计和各个模块的设计。具体实现可以用Proteus仿真,也可以用硬件。 2、进入实验室以后应根据前面的设计在2周内独立完成仿真和调试任务。课程设计过程中,要认真记录资料来源、出现的问题和解决方法。 3、不同的学生如果选题相同,相互之间可以相互探讨,但杜绝抄袭。如果发现,按零分计算。 4、设计完成后学生要按要求认真撰写课程设计报告,并于设计完成后一周内交指导老师评阅。同时准备设计测试和答辩。

三、时间安排 1、13周之前完成分组和选题,并根据选题向指导老师要任务书 2、14周根据任务书的设计要求,查阅相关的资料,完成系统总体方案设计及各模块的软硬件设计 3、15周进入实验室进行仿真、调试,并馔写设计报告,并于16周周一交给指导教师,并准备系统测试和答辩。 四、设计作品提交 1、课程设计报告书 2、proteus仿真程序(对于用proteus仿真的学生) 3、硬件实物及单片机源程序文件 五、设计报告的撰写 1、设计报告采用统一的格式,封面包括:课程设计名称、班级、姓名、学号、设计时间,具体参考设计摸板。 2、设计报告书写规范,系列分以下几个部分进行书写: 1、绪论:介绍设计的背景和意义 2、系统总体方案设计:给出系统设计硬件框图,说明实现的基本原理 3、硬件系统设计:针对框图中的硬件模块,分别介绍选择的具体元器件型号,并介绍这些器件的性能及和单片机的连接图,最后画出详细的这个系统硬件原理图。 4、系统软件设计:根据设计的功能划分模块,画出主程序和主程序的软件流程图。 5、系统调试及仿真 写出调试方法和运行结果 6、设计总结 六、课程设计内容及提示

51单片机实验程序

3 3 3 用查表方式编写y=x1 +x2 +x3 。(x 为0~9 的整数) #include void main() { int code a[10]={0,1,8,27,64,125,216,343,512,729}; //将0~9 对应的每位数字的三次方的值存入code中,code为程序存储器,当所存的值在0~255 或-128~+127 之间的话就用char ,而现在的值明显超过这个范围,用int 较合适。int 的范围是0~65535 或-32768~32767 。 int y,x1,x2,x3; //此处定义根据习惯,也可写成char x1,x2,x3 但是变量y 一定要用int 来定义。 x1=2; x2=4; x3=9; //x1,x2,x3 三个的值是自定的,只要是0~9 当中的数值皆可,也可重复。 y=a[x1]+a[x2]+a[x3]; while(1); //单片机的程序不能停,这步就相当于无限循环的指令,循环的内容为空白。 } //结果的查询在Keilvision 软件内部,在仿真界面点击右下角(一般初始位置是右下角)的watch 的框架内双击“double-click or F2 to add”文字输入y 后按回车,右侧会显示其16 进制数值如0x34,鼠标右键该十六进制,选择第一行的decimal,可查看对应的10 进制数。 1、有10 个8 位二进制数据,要求对这些数据进行奇偶校验,凡是满足偶校验的 数据(1 的个数为偶数)都要存到内RAM50H 开始的数据区中。试编写有关程序。 #include void main() { int a[10]={0,1,5,20,24,54,64,88,101,105}; // 将所要处理的值存入RAM 中,这些可以根据个人随意设定,但建议不要超过0~255 的范围。 char i; // 定义一个变量 char *q=0x50; // 定义一个指针*q 指向内部0x50 这个地址。 for(i=9;i>=0;i--) //9~0 循环,共十次,也可以用for(i=0;i<10;i++) { ACC=a[i]; //将a[i] 的值赋给累加器ACC if (P==0) //PSW0 位上的奇偶校验位,如果累加器ACC 内数值1 的个数为偶数那么P 为0,若为奇数,P 为1。这里的P 是大写的。 { *q=a[i]; q++; // 每赋一个值,指针挪一个位置指向下一个。 } } while(1); //同实验一,程序不能停。 }

单片机实验指导书

实验一8051简单编程与调试实验目的 通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。学会Proteus与Keil的整合调试。 实验基本要求 建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。画出实验程序的流程框图。 实验步骤 采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤: 1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。 在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。如图所示。 点击“确定”按钮后,弹出如下的对话框

如果是进行汇编语言编程选择“否”。 2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。 在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。程序编写完后,再次保存。 在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group 中,此时“Project Workspace”子窗口如图所示。

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

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

单片机实验指导书

单片机实验 实 验 指 导 书 2017年2月

单片机实验报告 (自动化XX级) 实验名称 学生 联系方式 学号 院系工学院电气与信息工程系专业自动化 指导教师 填写日期

实验一数据传送 一、实验目的 1.进一步熟悉仿真器的使用方法。 2.练习设计简单的程序。 3.掌握8051片RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。 二、实验容 将8051部RAM 40H~4FH置初值00H~0FH,然后将40H~4FH容传送到外部RAM的4800H~480FH,再将4800H~480FH传回部RAM的50H~5FH。设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的容。 三、实验准备 1、认真阅读本实验指导。 2、读懂下面的程序: #include #include char data *p40 ,*p50 ; char xdata *p4800; char i, j, k; void main( ) { p40=0x40; p50=0x50; p4800=0x4800; for(i=0;i<16;i++) { *p40=i; p40=p40+1; } //B1 p40=0x40; for(j=0;j<16;j++) { *p4800=*p40; p40=p40+1; p4800=p4800+1; } // B2 p4800=0x4800; for(k=0;k<16;k++) { *p50=*p4800; p50=p50+1;

p4800=p4800+1; } } //B3 3、画出如下要测的数据表格: 四、实验步骤 1、向机器输入程序。 2、运行程序至第一个断点B1,检查40H~0FH单元容及指针p40的容。 3、运行程序至第二个断点B2,检查4800H~480FH单元容及指针p40,p4800的容。 4、运行程序至第三个断点B3,检查50H~5FH单元容及累加器及指针p50的容。 五、实验报告要求 1、写出C语言源程序和对应的汇编语言指令及注解的程序清单。 2、将测得的数据填入表格,并和理论分析的结果相比较。 3、说明8031CPU对部存贮器和外部扩展RAM存贮器各有哪些寻址方式? 4、如果要读外部程序存储器0x4800中的容,该如何访问? 5.实验心得。(必须)

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)

单片机课程实验指导书

单片机实验指导书 编写者:小编 机械学院 2018年12月

目录 单片机实验指导书 (1) 实验1 - LED流水灯实验 (3) 实验2 - 模拟汽车转向灯实验 (5) 实验3 - 模拟二进制累加器实验 (7) 实验4 - 继电器控制实验 (9) 实验5 - 步进电机控制实验 (11) 实验6 - PWM波输出实验 (13) 实验7 - 直流电机调速实验 (15) 实验8 - 中断控制实验 (17)

实验1 - LED流水灯实验 一、实验目的 1.熟悉C51的开发环境; 2.掌握芯片的基本开发技能; 3.加深对单片机I/O口工作原理的了解; 4.掌握单片机引脚输出状态的基本控制方法。 二、实验原理 1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,可以通过控制寄存器输出对应的高低电平; 2.L1-L8等8颗LED灯管的电气特性与类似,正向电压点亮,反向电压熄灭; 3.P1口的8个引脚可以有效控制8颗LED的工作状态,合理编排输出状态即可实现LED流水灯的基本功能。 三、实验材料 1.DICE-598KⅢ实验平台; 2.PC机一台; 3.导线若干。 四、基本电路原理图 五、参考程序流程

六、实验步骤 1.单片机AT89S52的P1.0-P1.7口接L1-L8; 2.根据程序流程图编写出相应的C51工程代码; 3.使用keil_v5对代码进行调试和仿真; 4.记录调试过程和仿真结果,并结合理论知识进行分析; 5.将代码烧写到芯片上并运行,观察运行结果; 6.如实记录观察到的现象,并结合理论知识进行分析。 七、实验要求 1.准时到达实验室; 2.合理完善实验步奏; 3.独立完成单片机工程的建立、调试和仿真; 4.独立完成实验过程,能自由调整流水灯的周期; 5.如实记录实验过程; 6.认真撰写实验报告。

单片机实验

实验一:MCS-51单片机开发环境的应用(2学时) 实验目的: 掌握MCS-51单片机实验系统的使用,以及在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 实验要求: ⑴将数据存储器的40H~4FH的内容赋值成00H~0FH,并将40H~4FH 的内容整体复制到50H~5FH。 ⑵将数据存储器的40H~4FH的内容赋值成00H~0FH,并将两两相加之和送到50H~57H的数据空间中。 实验二:MCS-51汇编语言典型算法程序设计(2学时) 实验目的: 掌握汇编语言程序设计的方法及常用算法的实现。 实验要求: ⑴将数据存储器的40H~4FH中杂乱无序的数按降序排列。 ⑵将两个ASCII码表示的两位10进制数转换成压缩BCD码(低4位存个位,高4位存十位)。

实验三:单片机I/O实验(2学时) 实验目的: 掌握MCS-51单片机的I/O口使用方法。 实验要求: ⑴P1口作输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 ⑵P1.0,P1.1作为输入口接两个拨动开关,P1.2,P1.3作输出口接两个发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。 实验四:单片机定时器实验(2学时) 实验目的: 了解MCS-51单片机定时器的结构及使用方法。 实验要求: 用CPU内部定时器方式计时,实现每秒钟输出状态发生一次翻转。

实验五:单片机中断实验(2学时) 实验目的: 掌握中断控制单元的设置方法及中断的编程方法。 实验要求: ⑴用单次脉冲申请中断,在中断处理程序中对输出信号进行翻转。 ⑵用单次脉冲申请中断,要求程序中对每次中断进行计数,并将计数结果显示在发光二极管上。 实验六:单片机综合实验(4学时) 实验目的: 通过实验培养学生综合设计能力,并从整体上了解单片机的性能。实验要求: 本实验模拟交通信号灯控制,一般情况下正常显示,当有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。设急救车通过路口时间为10秒。急救车通过后,交通恢复正常。本实验需用另一台PC机上的串口调试助手(或超级终端)发送“1”,表示有急救车通过。

单片机实训指导书

实训项目一让单片机动起来1、实训目的及要求: 1)掌握单片机开发板的使用方法(驱动识别,程序下载) 2)掌握单片机程序开发软件KEIL的使用 3)掌握单片机程序烧录软件STC-ISP下载软件的使用 2、实训内容 1)根据实训报告内容编写单片机程序 2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中 3)观察实验现象并记录 4)完成实训报告内容 3、实训准备 硬件:单片机开发板、电脑、杜邦线 软件:keil uvision4 、STC-ISP 4、实训过程 1)流程图

2)实训程序一: #include "reg52.h" sbit LED=P1^0; void main() { LED=0; while(1); } 实训程序二: #include "reg52.h" #define LED P1; void main() { LED=0xaa; while(1); } 3)实训步骤 ①打开KEIL软件编写LED控制程序。 ②程序调试无误后,使用KEIL生产HEX文件。 ③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。

3)实验现象记录 实训程序一:。实训程序二:。 4)实训报告要求 ①将实训程序中的注释补充完整,了解每条语句作用。 ②完成如下评分表

实训项目二LED的闪烁1、实训目的及要求: 1)掌握单片机控制LED点亮和熄灭的方法。 2)了解单片机延时程序的原理及设计。 3)了解单片机中常用的变量类型及其定义方法。 2、实训内容 1)根据实训报告内容编写单片机程序 2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录 4)完成实训报告内容 3、实训准备 硬件:单片机开发板、电脑、杜邦线 软件:keil uvision4 、STC-ISP 4、实训过程 1)流程图

实验(8课时用)单片机实验指导书

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

目录 实验一:流水灯实验.......................................... 1...实验二:中断实与定时器中断实验................................ 4..实验三:串行口实验.......................................... 9...实验四:矩阵式键盘输入识别.................................. 1..3实验五:LCD循环显示设计 (19)

实验一:流水灯实验 通过对P3 口地址的操作控制8位LED 流水点亮,从而认识单片机的存储器 实验参考电路图如下: VCC A P17 P3.7ZEQ P1.6 P3.6M^ P1.5 P3.5/T1 PI -1 P3.4/T0 P1.3 P33JlhJT1 P1.2 P3.2JirJT0 P1 1 P3.1 仃: // 包含单片机寄存器的头文件 sfr x=OxbO; 〃P3 口在存储器中的地址是 bOH 通过sfr 可定义8051内核单 片机 // 的所有内部8位特殊功能寄存器,对地址x 的操作也就是对P1 口的 操作 ************************************** 实验目的: 实验原理图 —>XTAL1 AD[O .7] D4 R447QR D6 R6屮斤 D0 R8_470R D3 R3_4?OR D1 R1 470R- D7 R74Z0F? D5 R5_4?OR D2 R2 470R

单片机实验指导书

单片机实验指导书

目录 一、基础知识 1.A VR MEGA16学习板简介 (1) 2.A VR Studio 使用环境简介 (3) 3.ICC使用环境简介 (7) 4.下载程序说明 (12) 二、实验内容 1.熟悉实验环境 (14) 2.I/O口实验 (18) 3.秒表时间显示实验 (19) 4.串口通信实验 (21)

一、基础知识 1. AVR MEGA16学习板简介 a. 简介: A VR MEGA16 学习板专为A VR单片机初学者设计,简单实用是本学习板的最大特点。布局合理,模块划分清晰符合正常使用习惯。电路简单,安排了最常用最实用的功能电路,接口上尽量不复用。人性化设计,学习板没有追求那些高级的热门的功能实验,集成了A VR单片机学习必不可少的A VR ISP下载线,可以直接与PC机连接通过STK500 标准界面进行程序下载。 b. 学习板实物图片: c. 硬件资源: AT Mega16,A VR 单片机主芯片,内包含有:16K Flash、512Byte EEPROM、1K SRAM。 学习板上CPU 可升级到AT Mega32,以完成更大容量需要。 AT24C02,I2C总线器件,EEPROM数据存储器,256Byte EEPROM。 74HC595,SPI 总线器件,SPI 总线并口扩展器件,8 位移位寄存器。 DS1302,时钟芯片。 RS232,RS232 接口芯片。 8 个输入按键、1 个中断输入按键、1 个复位按键。 4 位动态扫描LED 数码管、8 位LED 发光二极管。 1 个无源蜂鸣器,1 个A/D 输入可调电阻器。 LCD 接口,液晶显示屏接口,可接LCD1602 及LCD12864 液晶屏,LCD 为选配件。 A VR JTAG 仿真接口,A VR ISP 下载接口。 板上集成有STK500 V2.0 版本的A VRISP 下载器 d. A VR MEGA16学习板接口说明:

单片机实验指导书——带答案

《单片机原理及应用》 实验指导书 姓名: 学号: 专业班级: 所在学院:成人教育学院 2012年5月日

单片机实验指导书 目录 实验一系统认识实验 (3) 实验二程序调试 (6) 实验三外部中断实验 (6) 实验四串口实验 (8)

实验一系统认识实验 一、实验目的 1.掌握SICElab-G2200实验/仿真系统的结构与使用方法; 2.熟悉单片机系统开发软件WA VE6000。 二、实验设备 1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台 3.连线若干根 4.计算机 1 台 三、实验内容 P1端口接发光二极管,加1点亮。 四、连线方案: 五、实验步骤 1.连接Lab51CPU板。(已由实验师连好) 2.仿真器与实验平台的连接 将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。(已由实验师连好) 3.仿真器与计算机的连接 用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。 特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。 4.实验连线 按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。拆线时,应先回转一下,不要硬拨,以免损坏线路板。不管是拆线还是插线,都应 在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。

5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。 6.在计算机上打开“WA VE6000集成调试环境”,界面如下图所示: 7.建立新程序(如果程序已编好,直接跳到第9步) 选择菜单[文件 | 新建文件]功能。 出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序 ORG 0 MOV P1,#0 ;熄灭发光二极管 LOOP: INC P1 CALL Delay SJMP LOOP Delay: MOV R2,#3 ;延时程序 MOV R1,#0 MOV R0,#0 DLP: DJNZ R0,DLP DJNZ R1,DLP DJNZ R2,DLP RET END 8.保存程序 选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。 9.建立新的项目 选择菜单[文件 | 新建项目]功能。 新建项目会自动分三步走。 (1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。如果你是多模块项目,可以同时选择多个文件再打开。 (2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如果没有包含文件,按取消键。 (3)保存项目。在保存项目对话框中输入项目名称。MY1无须加后缀。软件会自动将后缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。 10.设置项目 11.编译程序 选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。 在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序存盘。在编译没有错误后,就可以执行、调试程序了。 12.执行、调试程序 有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。 (1)全速执行 (2)程序单步跟踪 选择[执行 | 跟踪]功能或按跟踪快捷图标或按F7键进行单步跟踪调试程序。 (3)执行到光标处 (4)设置断点 (5)观察各变量值的方法

相关文档
最新文档