修改新编单片机实验指导书

合集下载

单片机实验指导书

单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。

本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。

在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。

二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。

- 通过适配器给单片机开发板供电。

- 检查驱动程序是否正确安装。

2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。

- 选择适当的单片机型号和编程语言。

- 编写程序代码,实现所需功能。

- 编译程序并下载到单片机开发板。

3. 实验操作:- 根据实验要求连接相应的电路元件。

- 调试程序,确保程序能正确运行。

- 运行实验并观察结果。

四、实验注意事项1. 请确保您具备基本的电路和编程知识。

2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。

3. 如果遇到问题,请及时咨询实验指导人员或相关专家。

五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。

程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。

中北大学MCS51单片机实验指导书

中北大学MCS51单片机实验指导书

MCS 51 单片机实验指导书一. 实验系统: 1 系统硬件2 实验系统软件:Keil uVision4 51单片机仿真开发集成开发软件 二. 实验步骤:1、 双击桌面图标---启动2、 录入程序(1)建立新文件PC 机北京精仪达盛科技 EL-EMCU-I 实验箱串行通信电缆(2)录入程序(3)保存文件注意:汇编程序保存为*.Asm C语言程序保存为*.C 2、建立新Project3、保存新建Project4、选择仿真单片机型号5、将文件加入Project用鼠标选中Target 中的Source Group, 点击鼠标右键,选择6、设置仿真参数7、工程编译(汇编)(1)7、调试(1)单步运行(2)断点运行(3)全速运行三.实验内容:实验一:实验系统认知实验一、实验目的1. 学习P1口的使用方法(输入/输出方式)。

2. 学习指令的功能3.学习实验系统。

二、实验内容(1)编写一个16位除以16位数的子程序,并进行调试。

(2)P1口做输入口:读取四个开关的状态并将其在发光二极管上显示,编写程序,调试。

三、硬件原理图设计四、软件流程设计五、程序设计实验二:定时计数器实验一、实验目的1. 学习定时计数器的功能和应用2. 学习指令的功能二、实验内容用MCS 51单片机内部定时计数器控制一个发光二极管闪烁,周期为1秒,要求利用一个按键控制发光二极管闪烁的启停。

三、硬件原理图设计四、软件流程设计五、程序设计实验三:7段LED显示块实验一、实验目的1. 学习LED显示块的控制方法2. 学习指令的功能二、实验内容用MCS 51单片机控制7段LED显示块连续显示0-9999(循环)。

三、硬件原理图设计四、软件流程设计五、程序设计实验四:外部中断实验一、实验目的1. 学习外部中断的用法2. 学习指令的功能二、实验内容用MCS 51单片机外部中断对外部脉冲进行计数,并用7段LED显示块显示计数值。

三、硬件原理图设计四、软件流程设计五、程序设计四.实验相关电路:1、实验箱接头标号与单片机引脚对照表接头标号单片机引脚接头标号单片机引脚IO1 P0.0 CAP0 P1.0IO2 P0.1 SDA P1.1IO3 P0.2 SCL P1.2IO4 P0.3 PWM0 P1.3IO5 P0.4 CADC0 P1.4IO6 P0.5 CDAC0 P1.5IO7 P0.6 SPICLK P1.6IO9 P0.7 SPISTE P1.7IO10 NC RXD P3.0IO11 NC TXD P3.1IO19 NC INT0 P3.2INT1 P3.3T0 P3.4T1 P3.52、相关电路原理图(1)发光二极管电路(2)拨动开关电路(3)七段LED显示块电路(其中7段LED显示块为共阴极)(4)单脉冲发生电路实验一:实验系统认知实验(1)编写一个16位除以16位数的子程序,并进行调试。

单片机实验教材修订版(2013.2)1

单片机实验教材修订版(2013.2)1

Proteus软件使用简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,是目前较好的仿真单片机及外围器件的工具。

下面以制作一个闪烁灯为例给出proteus的使用方法。

1.创建文件双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”进入Proteus ISIS集成环境,选择“File”→“Creat New Design”命令,选择Default模板,单击OK并进行保存命名为“Led.DSN”,如图所示。

创建文件2.绘制电路图1)将所需元器件加入到对象选择器窗口。

选择“Library”→“Pick Device/Symbol”命令,弹出“Pick Devices”页面,在“Keywords”输入AT89C51,如图所示。

单击“OK”,元件名出现在“DEVICES”列表中,如图所示。

DEVICES窗口2)在“DEVICES”列表中选择AT89C51,在绘图区域单击鼠标左键摆放元件。

3)同理摆放其它元件,如图所示。

摆放元件4)使用左下角的旋转或反转命令,改变元件方向。

也可用鼠标右键单击元件,进行旋转或反转。

5)在左侧单击图标,列表框中显示可用的终端,单击“Power”摆放电源终端,单击“Ground”摆放接地终端,如图所示。

添加终端6)选中元件,单击鼠标左键,设置元件参数,7)布线,分别单击两个引脚,两个引脚之间会自动走线,也可以手动走线,连接走线后的电路如图所示。

连接走线3.加载目标文件在AT89C51上双击鼠标左键,弹出Edit Component 窗口,点击Program File,添加目标程序在Keil中生成的HEX文件,如图。

加载目标文件4.运行仿真点击OK,单击ISIS编辑环境下方的启动仿真按钮,运行仿真,可观察到实验运行结果,如图9-17所示。

单片机实验指导书

单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。

通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。

第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。

3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。

设置工程的名称和保存位置,确定后点击“保存”。

3.3 编写程序在Keil C51开发环境中,编写单片机程序。

首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。

3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。

编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。

3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。

第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。

4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。

4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。

第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。

通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。

本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。

在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。

通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。

在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。

单片机实验指导书(用于完成实验报告)

单片机实验指导书(用于完成实验报告)

一、实验目的1. 掌握存储器读写方法。

2. 了解存储器的块操作方法。

二、实验内容1. 指定内部RAM中某块的起始地址和长度,要求能将其内容清零。

2. 指定外部RAM中某块的起始地址和长度,要求能将其内容清零。

3. 指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。

三、实验说明通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。

四、实验仪器和设备PC机、W A VE软件。

五、参考程序框图存储器块清零参考程序框图六、参考程序(略)一、实验目的掌握汇编语言设计和调试方法。

二、实验内容把7000H的低四位BCD数和7001H的低四位BCD数,拼成压缩BCD码的形式存放在7002H。

三、实验说明通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。

四、主要仪器设备及耗材PC机、W A VE软件五、参考程序框图六、参考程序(略)实验三数据块移动(基础实验)一、实验目的1.了解内存的移动方法。

2.加深对存储器读写的认识。

二、实验内容将指定源地址和长度的存储块移到指定目标位置。

三、实验说明块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。

本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。

另外,若源块地址和目标块地址有重叠,该如何避免?四、实验仪器和设备PC机、W A VE软件。

五、参考程序框图存储块移动参考程序框图六、参考程序(略)实验四实验三跑马灯实验一、实验目的1、掌握P1口控制跑马灯程序的编写方法。

2、延时程序的编写方法。

二、实验内容实现P1控制的8个灯D1~D8的间隔半秒的循环点亮。

三、实验说明1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。

单片机原理实验指导书及其程序

单片机原理实验指导书及其程序

实验一伟福编程软件、编程器、实验箱的使用一、实验目的1.掌握仿真软件、编程器、实验箱的安装、使用方法2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明使用伟福仿真软件Wave6000、编程器、实验箱。

实验时间:3学时。

三、实验内容及步骤1.启动计算机,按照软件安装说明安装伟福仿真软件,进入开发环境。

2.参照开发环境说明,掌握软件的使用。

3.P1.0 P1.1接发光二极管,参照如下结构,使用软件延时方式,编写程序,控制P1.0以4Hz、P1.0以2Hz的频率闪烁。

4.使用编程器、单片机开发实验箱,调试程序,观察发光二极管的闪烁。

5.写实验报告,内容包括电路原理图,汇编程序,延时的计算,心得体会等四、程序示例;P1.0输出以某频率方波,P1.1以其1/2频率输出方波ORG 00HSJMP MAIN ;跳转到主程序ORG 30HMAIN: MOV R0,#02HFP10: CALL DELAYCPL P1.0DJNZ R0, FP10CPL P1.1MOV R0,#02HSJMP FP10DELAY: MOV R1,#100DEL1: MOV R2,#50DJNZ R2,$NOPNOPDJNZ R1,DEL1RETEND;思考:在此例中,P1.0、P1.1输出方波的频率究竟是多少?实验二程序设计实验一、实验目的:⑴熟练掌握80C51汇编语言程序设计方法。

⑵熟练掌握80C51汇编语言程序的调试方法。

二、实验说明实验时间:2学时。

三、实验内容:完成从内部数据存储区20H开始的8个单字节数累加、计算平均程序的设计与调试。

累加结果存放在29H(高字节)、2AH(低字节),平均数存放在2BH。

四、实验设备:PC机五、思考:如何使用软件Wave6000调试所编写的计算程序?六、实验报告要求1. 整理好执行正确的程序和数据;2. 写实验报告,内容包括实验项目、内容,汇编程序及其相应的注释说明,实验完成情况,心得体会。

最新修改后单片机实验程序

将RAM30H、31H、32H内容相加并存入33HORG 0000HLJMP 0200HORG 0200HST:MOV R0,#30HMOV R1,#03HMOV A,#00HLOOP: ADD A,@R0INC R0DJNZ R1,LOOPMOV @R0,ASJMP $END单片机8个LED灯来回左移右移ORG 0000HSTART:MOV R2,#8MOV #01HCLR CLOOP: MOV P1,ALCALL DELAYRLC ADJNZ R2,LOOPMOV R2,#8LOOP1: MOV P1,ALCALL DELAYRRC ADJNZ R2,LOOP1LJMP START添加DELAY的延时程序部分实验3-3LED数码管“8”从右往左不停移动ZWMADDR EQU 8002HZXMADDR EQU 8004HORG 0000HST: LJMP MAINORG 0030HMAIN: MOV A,#7FHLOOP: MOV DPTR,#ZXMADDRMOVX @DPTR,AMOV A,#01HMOV DPTR,#ZWMADDRLOOP1: MOVX @DPTR,AMOV R2,#25HRL ASJMP LOOP1DELAY: PUSH 02HLP1: PUSH 02HLP2: PUSH 02HLP3: DJNZ R2,LP3POP 02HDJNZ R2,LP2POP 02HDJNZ R2,LP1POP 02HDJNZ R2,DELAYRETEND实验3-4LED数码管把0-f逐一从左向右显示ZWMADD R EQU 8002HZWMADDR EQU 8004HORG 0000HST: LJMP MAINORG 0100HMAIN: MOV R3,#01HMOV R4,#00HLOOP: MOV DPTR,#CHARMOV A,R4MOVC A,@A+DPTRMOV DPTR,#ZXMADDRMOVX @DPTR,AMOV A,R3MOV DPTR.#ZWMADDRMOVX @DPTR,AMOV R2,#25HLCALL DELAYMOV A,R3RL AMOV R3,AINC R4CJNE R4,#10H,LOOPSJMP MAINDELAY: PUSH 02HLP1: PUSH 02HLP2: PUSH 02HLP3: DJNZ R2,LP3POP 02HPOP 02HDJNZ R2,LP1POP 02HDJNZ R2,DELAYRETCHAR: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HEND3-4大改LED数码管上显示0-f先慢后快ZWMADDR EQU 8002HZXMADDR EQU 8004HORG 0000HST: LJMP MAINORG 0100HMOV R5,#02HMAIN: MOV R3,#80HMOV R4,#00HINC R5LOOP: MOV DPTR,#CHARMOV A,R4MOVC A,@A+DPTRMOV DPTR,#ZXMADDRMOVX @DPTR,AMOV A,R3MOV DPTR,#ZWMADDRMOVX @DPTR,ACLR AMOV A,R5JB ACC.0,AGAINMOV R2,#25HLCALL DELAYAGAIN: MOV R2,#14HLCALL DELAYCLR AMOV A,R3RR AMOV R3,ANEXT: INC R4CJNE R4,#10H,LOOPSJMP MAINDELAY: PUSH 02HLP1: P USH 02HLP2: P USH 02HLP3: D JNZ R2,LP3POP 02HDJNZ R2,LP2POP 02HDJNZ R2,LP1POP 02HDJNZ R2,DELAYRETCHAR: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07HDB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HEND实验4-1使数码管不停取反达到一闪一闪效果ORG 0000HSTART: CPL P1.0MOV R2,#25HLCALL DELAYSJMP STARTDELAY: PUSH 02HLP1: P USH 02HLP2: P USH 02HLP3: D JNZ R2,LP3POP 02HDJNZ R2,LP2POP 02HDJNZ R2,LP1POP 02HRETEND实验4-2低四位输入,高四位输出的与输入相反。

实验指导书(修改)

实验一清零程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。

二、实验内容把c000H~c0FFH的内容清零。

三、程序框图清零四、实验步骤用连续或单步方式运行程序,检查C000~C0FF中执行程序前后的内容变化。

五、思考(1)对于清零程序,假使把C000H~C0FFH中的内容改成FF,如何修改本程序?(2)如何用断点方式调试程序?实验二拆字程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。

二、实验内容把C000H的内容拆开,高位送C001H低位,低位送C002H低位,C001H、C002H 高位清零,一般本程序用于把数据送显示缓冲区时用。

三、程序框图拆字四、实验步骤程序一:用连续或单步方式运行程序,检查C000~C002H中内容变化情况。

程序二:单步或用断点方式运行程序,检查C002H内容变化情况。

五、思考编写程序:把C000H、C001H的低位分别送入C002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。

实验三数据区传送程序(综合性)一、实验目的(1)掌握RAM中的数据操作;(2)熟悉8031(8051)指令系统,掌握程序设计方法。

二、实验内容把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。

三、程序框图数据区传送四、实验步骤在R2、R3中输入源首址(例如c000H),R4、R5中输入目的地址(例如D000H),R6、R7中输入字节数(例如0FFFH),运行程序,检查C000~CFFFH中内容是否和D000~DFFFH 中内容完全一致。

一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。

二、实验预备知识本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

对于延时程序DELAY: MOV R6,#00HDELAY1:MOV R7,#80HDJNZ R7,﹩DJNZ R6,DELAY1MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms。

Freescale单片机实验指导书2【2024版】

一般性实验实验一普通I/O口操作实验实验目的:1、熟悉SDIDE开发环境,熟悉GP32基本程序结构2、理解Freescale MCU的编程框架3、熟悉编程调试环境,编译、调试、下载运行第一个程序4、掌握I/O的基本编程方法范例程序:① A01_简单IO及程序框架\ FrmMain.ASM② C01_简单IO及程序框架\纯C\prgframe.prj③ C01_简单IO及程序框架\C&ASM混编\prgframe.prj实验要求:1、参看教材6.4节,熟悉实验板结构2、运行并读懂教材第7章的关于I/O口操作的LED灯控制程序3、按下列要求新建一程序:根据PB口低2位(PTB1和PTB0)的状态输出四种不同的LED显示效果,要求用最简洁的语句实现以下各效果。

(1)PTB1=0,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。

(效果1)(2)PTB1=0,PTB0=1时,效果为:8个LED中只有两个连在一起的灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。

(效果2)(3)PTB1=1,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约8秒。

(效果3)(4)PTB1=1,PTB0=1时,效果自定。

(效果4)实验二串行通信实验实验目的:1、理解串行通信基本原理,掌握MCU串行通信基本编程方法2、理解串行通信的查询方式和中断方式原理及其编程范例程序:1、C02_1串行通信查询方式\ H08SCI_1.prj2、C02_2串行通信中断方式\ H08SCI_2.prj3、A02_1串行通信查询方式\ SCIMain1.asm4、A02_2串行通信中断方式\ SCIMain2.asm5、以上四目录都有VB_SCI目录,该目录是对应Visual Basic6.0程序,运行在PC方,用来接收和发送数据。

单片机实训指导书

单片机实训指导书一、实训目的单片机实训是一门重要的实践课程,旨在通过实际操作和项目实践,让学生深入了解单片机的工作原理、编程方法和应用开发。

通过本次实训,学生将能够掌握单片机系统的设计、调试和维护技能,提高解决实际问题的能力,为今后从事相关领域的工作打下坚实的基础。

二、实训设备1、计算机:用于编写和调试单片机程序。

2、单片机开发板:包含单片机芯片、外围电路和接口,如STC89C52 开发板。

3、编程器:用于将编写好的程序下载到单片机中。

4、示波器:用于观察电路中的信号波形。

5、万用表:用于测量电路中的电压、电流等参数。

三、实训要求1、学生应提前预习相关的理论知识,熟悉单片机的基本结构和编程方法。

2、实训过程中,要严格遵守实验室的规章制度,注意安全,爱护实验设备。

3、认真完成每个实训项目,按时提交实训报告。

4、培养团队合作精神,积极参与小组讨论和项目开发。

四、实训内容(一)单片机基础知识1、了解单片机的发展历程、应用领域和特点。

2、熟悉单片机的内部结构,包括中央处理器(CPU)、存储器(ROM、RAM)、输入输出端口(I/O 口)、定时器/计数器、中断系统等。

3、掌握单片机的指令系统和编程方法,能够使用汇编语言或 C 语言进行简单的程序编写。

(二)单片机开发环境搭建1、安装单片机编程软件,如 Keil C51。

2、学习编程软件的使用方法,包括创建工程、编写代码、编译调试等。

3、安装并使用下载软件,将编写好的程序下载到单片机开发板中。

(三)单片机 I/O 口控制实验1、学习单片机 I/O 口的工作原理和控制方法。

2、编写程序实现对单个 I/O 口的输出控制,如点亮 LED 灯。

3、实现对多个 I/O 口的组合控制,如流水灯效果。

(四)定时器/计数器实验1、了解单片机定时器/计数器的工作原理和计数模式。

2、利用定时器/计数器实现定时功能,如控制LED 灯闪烁的频率。

3、实现计数器功能,如对外部脉冲进行计数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51系列单片机原理与应用实验华南师范大学物理与工程工程学院微机教研室20010年9月目录实验须知 (2)实验一数字量输入输出实验 (4)实验二定时与中断实验 (6)实验三串行通信实验 (9)实验四串行A/D转换实验 (11)实验五交通灯控制实验 (12)实验六现实人体视觉暂留特性测试实验 (14)实验七实时时钟制作实验 (17)实验八简易电子琴制作实验 (18)实验九EEPROM应用—数字密码锁 (20)实验十综合实验:教学板自检程序设计 (25)实验十一数据采集—火灾报警装置的软硬件设计 (26)附录一实验教学板 (27)附录二实验用软件使用说明 (28)实验须知一、预习要求1.实验前认真阅读实验指导书的相关内容,明确实验目的和实验任务。

2.实验前应做好预习报告,在报告中,要求画出所设计的实验电路原理图、程序流程图,编写好程序,并对程序加以注释,还要拟订好实验步骤。

二、实验要求1.按实验中心安排的时间到指定实验室上实验课,不要迟到、缺席。

有特殊原因不能在原安排时间来实验时,须提前一天通知实验中心负责教师。

2.认真完成每次实验的各项任务,实验结果要请指导教师检查。

教师对实验内容提问,并对完成者进行记录。

3.爱护设备,保持清洁,不得在实验室内大声喧哗,不要将食物带入实验室,不擅自更换设备。

4.在实验箱(板)通电状态下,不要用手随意触摸电路板上除按键和开关以外的芯片等其它元器件。

,严禁带电操作,即所有接线、改线和拆线操作均应在不带电的状态下进行。

5.实验中若发生异常情况应立即切断电源,并向指导教师报告,检查原因,避免再次发生类似情况。

6.实验完毕,请整理好实验设备后再离开实验室。

三、实验报告要求实验报告必须使用实验报告专用纸,书写要工整、清楚,并在下一次实验时交给指导教师。

实验报告应包括以下内容:1.实验名称、实验人姓名、学号、班级、同组人姓名。

2.实验目的、任务(内容)。

3.各任务程序流程图、自编程序清单,对程序须给出适量注释(例如:变量和某些寄存器的作用,关键程序段的功能等)。

4.应画出所设计的完整实验电路图。

5.记录和分析实验调试过程中遇到的问题并给以合理的解释,简述是如何解决的。

记录实验结果,6.解答思考题。

实验一数字量输入输出实验一、实验目的1.熟悉教学板电路及其结构。

2.掌握利用μVision C51 软件编辑、调试(包括仿真调试、单步调试)、运行单片机程序的步骤和方法,掌握利用STC-ISP V39软件和下载线将程序写入单片机的方法。

3.通过实验熟悉51单片机的并行I/O口,并掌握它们的应用。

4.掌握矩阵键盘、LED动态显示的工作原理。

二、实验设备PC机一台、实验教学板一块。

三、实验准备1.阅读实验讲义附录一、实验教学板电路图和附录二、μVision软件使用说明2.按实验题目要求设计好硬件电路,画出电路原理图,设计出相应程序,并给程序加上较详细的注释。

四、实验内容1. 1.实验线路如附图所示,51单片机的P0口输出接8个发光二极管的阴极,P2.4经NPN三极管9011控制发光管的阳极。

P3口支持一个8位行列式键盘,其中P3.4~P3.7供键盘扫描输出,P3.2、P3.3作键盘扫描输入。

2.实验要求:编程实现键盘对发光二极管的控制,每按一个按键,使对应的二极管点亮。

2.51单片机P0口输出同时接4个数码管的阴极,P2.0~P2.3,经NPN三极管9011接数码管的阳极,该端口用于分别控制相应数码管的导通。

实验要求:编程实现对任意按键动作的次数进行计数(最大99次),同时将计数值实时显示。

五、实验步骤1.将实验板与PC机通过COM口连接。

启动PC机,进入μVision软件环境,选择建立新工程文件,即可开始输入源程序。

2.完成汇编、编译、连接,若有错误,则修改源程序,直至编译、连接通过为止。

3.接上实验板上的电源。

3.运行“STC-ISP V39.EXE”,将程序代码下载到实验板的单片机中。

操作的顺序是:1)选择单片机(MCU TYPE)型号。

如:“STC89C51RC”要与实验板上所装单片机的型号一至。

2)打开文件(Open File)。

即把要下载到单片机的程序文件(已通过编译了的机器码文件——二进制(.Bin)或十六进制(.Hex)的)调到“文件缓冲区”,这时可看到右边的“文件缓冲区”有数字变化。

3)选择串行通信口。

选对时,软件上的小灯会变绿。

否则小灯是灰色。

且在左下窗口提示“出错信息”。

4)下载:按“Download/下载”按键下载。

5)把实验板上的供电的直流电源拔掉或关掉3秒钟再插入或打开电源(为单片机上电复位)。

注意: 4)和5)顺序不能反!4.观察单片机运行情况,验证程序是否能完成题目给出的控制要求,若不能达到要求,分析原因、查找错误,修改源程序,再次汇编、连接,重新下载、运行,直至达到题目的控制要求。

六、参考程序流程图实验内容1流程图实验内容2流程图键盘处理程序流程图七、思考题1.在调试程序过长中,你是如何发现程序中的错误?2.按键程序为什么要有去抖动功能,如何去抖动?3. 在显示时,为什么要延时1ms,这个时间过长或过短,会出现什么现象?实验二定时与中断实验一、实验目的1.通过实验掌握51单片机的定时/计数器的应用。

2.掌握51单片机的中断原理及应用。

3. 进一步学习系统应用程序的设计和调试方法二、实验设备PC机一台、实验教学板一块。

图2-1三、实验内容实验线路如图2-1, 通过定时器的定时,产生一定频率的波形信号,经P2.5输出,驱动蜂鸣器,便可发出某一频率的音调,若按乐曲的音调连续发出,并使其按节拍变化,便可演奏一首乐曲。

实验要求:编程实现演奏一首乐曲C调常用音频及其对应频率如下表:定时器初值计算方法:由于软件是通过定时器溢出后对P2.5取反产生方波,故定时器溢出时间为1//2f,则计数器计数初值为:X = 65536 —n = 65536—(1/2f)/12/fosc = 65536—fosc/24f电路板上的晶振频率为11.0593MHZ,根据不同音调的频率值,就可以计算出上表的初值。

用乐曲最短的1/4拍为一个基本节拍时间,定为0.5秒,基本节拍时间由另一个定时器产生,设此定时器定时时间为50ms,定时时间常数(计数器初值)= 65536 —(50000*12/11.0593)=02C13H,可以分别通过该定时中断10、20、40、80次满足1/4拍、1/2拍、1拍、2拍的定时要求。

软件编程时,要先将乐谱转换成包含有音符和音长信息的代码,然后,以查表方式通过乐谱代码控制喇叭演奏出乐曲。

具体方法如下:(1)乐谱代码用字节结构,字节高4位代表音符,从SI到RE分别用0到9表示;字节低4位代表该音符的节拍,用1、2、3、、、8分别表示1/4拍、1/2拍、1拍、、、4拍,按照这样的规则,将整段音乐变换成相应的代码数据表,最后一个字节内容为00H,代表数据表的结束。

(2)在程序执行时按顺序查表,从字节数据中取出音符代码和节拍代码,查频率表得该音符对应频率的定时初值,再根据节拍代码控制音长,启动两个定时器后,即可发出要求的音,这样就控制演奏出完整的乐曲。

四、实验参考汇编主程序:ORG 0000HRESET: AJMP MAINORG 000BH ;定时器0中断入口AJMP TT0PORG 001BH ;定时器1中断入口AJMP TT1P0RG 0020HMAIN: MOV SP,#70H ;设堆栈区CLR P2.5 ;关声音MOV IE,#**H ;开中断(参数自己填写)MOV R1,#0H ;乐谱数据表偏移量ACALL PTOM2 ;调乐曲输出子程序CLR TR0 ;停止定时器的工作CLR TR1CLR P2.5 ;关声音HERR: AJMP HERR ;程序结束PTOM: MOV TMOD,#****H ;设定时器的工作方式(参数自己填写)PTOM1: MOV DPTR,#MUCI ;乐曲数据表首地址送DPTRMOV A,R1MOVC A,@A+DPTR ;取乐谱数据JNZ PTOM2RET ;数据为00时结束PTOM2: MOV R2,A ;暂存ANL A,#0F0H ;保留音符数据SWAP ARL A ;乘2(每个音符要2个字节的定时值)MOV R3,AMOV DPTR,#TABL ;频率表MOVC A,@A+DPTR ;查表得定时高8位MOV TH0,AMOV A,R3INC AMOVC A,@A+DPTR ;查表得定时值低8位MOV TL0,AMOV A,R2ANL A,#0FH ;保留节拍数据MOV B,#8MUL AB ;乘8得定时中断次数MOV R0,AMOV TH1,#2CH ; 50ms定时的初值MOV TL1,#13HSETB TR1 ;启动定时器SETB TR0HERE: CJNE R0,#0H,HERE ;当前的节拍时间完成了?INC R1 ;是,准备取下一个数据AJMP PTOM1TT0P: 自编定时器0中断服务程序……TT1P: 自编定时器1中断服务程序……TABL: DW 64603,64654,64751,64837……;乐曲“送别”的数据表MUCI: DB 54H,32H,52H,88H,64H,82H,62H,58H,54H,12H,22H,34H DB 22H,12H,2CH,54H,32H,52H,86H,72H,64H,84H,58H,54HDB 22H,32H,46H,02H,1CH,64H,84H,88H,74H,62H,72H,88HDB 62H 72H,82H,62H,62H,52H,32H,12H,28H,28H,54H,32HDB 52H 84H 72H,64H,86H,58H,54H,22H,32H,46H,02H,1CHDB 00H五、思考题1.总结程序调试的方法。

2.根据实验板,设计一个任意乐曲的音乐盒子,并给出程序流程图。

实验三 串行通信实验一、实验目的1.了解51单片机串行口的结构、串行通讯的原理。

2.掌握51单片机与PC 机之间通讯的方法。

3. 学习系统应用程序的设计和调试二、实验设备PC 机一台 、 实验教学板一块。

三、实验原理51单片机的串行接口是全双工的,它能做异步接收器/发送器(UART ),也能做同步移位寄存器使用。

在做UART 使用时,相关的寄存器有SBUF 、SCON 、和PCON 中的波特率倍增位SMOD 。

SBUF 是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的,用读写操作来选择。

SCON 是串行口控制寄存器,用于设定串行口的工作方式;保存方式2和方式3的第9位数据;存放发送、接收的中断标志。

在串行通讯的方式1和方式3中,通信的波特率是可以设置的,满足下式:2/132SMOD=⨯波特率(定时器计数器的溢出率)PC 机的串行通讯口是借助通用异步接收发送器8250(或16C550等)实现的,可使用comdebug.exe 等提供了有关串行口的收、发操作窗口的软件实现通讯。

相关文档
最新文档