最新单片机实验指导
- 格式:doc
- 大小:139.50 KB
- 文档页数:16
《单片机控制技术》实验指导书实验一流水灯实验(左移右移方式)一. 实验项目卡编号:59010115-01二. 实验目的通过此实验,让大家初步掌握左移位、右移位指令的使用。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1.打开编译软件伟煌MCS51开发系统。
2.编写源程序并进行调试。
要求:小灯先向左依次移动8次,再向右依次移动7次,随后循环前血的工作。
3.将S51E开发板连接到PC机上。
对应的89S51与LED引脚的连线为4.打开开发板电源,用软件将调试好的程序下载至单片机屮,观察实验现象。
五. 实验参考稈序ORG 0000HSTART: MOV A, #OFFHCLR CMOV R2, #08HLOOP: RLC AMOV Pl, ALCAI1 DELAYDJNZ R2, LOOPMOV R2, #07HL00P1: RRC AMOV Pl, ALCALL DELAYDJNZ R2, L00P1JMP STARTDELAY: MOV R4, #200DI: MOV R5, #248DJNZ R5, $DJNZ R4, DIRETEND实验二流水灯实验(利用查表方式)一. 实验项目卡编号:59010115-02二. 实验目的通过此实验,让同学们掌握杏表指令的使用。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1・打开编译软件伟煌MCS51开发系统。
2.编写源程序并进行调试。
要求:学习利用杏表方式,使小灯做舞台灯效果的变化,左移3次,右移3次,闪烁3次,廷时时问为200毫秒。
3.将S51E开发板连接到PC机上。
对丿卫的89S51与LED引脚的连线为4.打开开发板电源,用软件将调试好的程序下载至单片机屮,观察实验现象。
五. 实验参考程序ORG 0000HMOV Pl, #00HMOV A, #00HSTART:MOV DPTR, STABLELOOP: CLR AMOVC A, @A+DPTRCJNE A, #01H, L00P1JMP STARTL00P1:MOV Pl, AMOV R3,#20LCALL DELAYJMP LOOPDELAY:MOV R4,#20DI: MOV R5,#248DJNZ R5, $DJNZ R4,D1DJNZ R3, DELAYRETTABLE:DB OFEH, OFDH, OFBH, 0F7HDB OEFII, ODFII, OBFII, 07FIIDB OFEH, OFDH, OFBH, 0F7HDB OEFH, ODFH, OBFH, 07FHDB OFEH, OFDH, OFBH, 0F7H DB OEFH, ODFH, OBFH, O7FH DB 7FII, OBFII, ODFII, OEFII DB 0F7II, OFBII, OFDII, OFEII DB 7FH, OBFH, ODFH, OEFH DB 0F7H, OFBH, OFDH, OFEH DB 7FH, OBFH, ODFH, OEFH DB 0F7II, OFBII, OFDII, OFEII DB OOH, OFFH, OOH, OFFH DB OOH, OFFHEND实验三按键的应用(按键控制小灯)一. 实验项目卡编号:59010115-03二. 实验目的1.掌握按键的识别与处理。
单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。
实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种使用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
实验一P1口实验一、实验目的:1.学习P1口的使用方法..2.学习延时子程序的编写和使用..二、实验设备:EL-MUT-III型单片机实验箱、8051CPU模块三、实验内容:1.P1口做输出口;接八只发光二极管;编写程序;使发光二极管循环点亮..2.P1口做输入口;接八个按纽开关;以实验箱上74LS273做输出口;编写程序读取开关状态;在发光二极管上显示出来..四、实验原理:P1口为准双向口;P1口的每一位都能独立地定义为输入位或输出位..作为输入位时; 必须向锁存器相应位写入“1”;该位才能作为输入..8031中所有口锁存器在复位时均置为“1”;如果后来在口锁存器写过“0”;在需要时应写入一个“1”;使它成为一个输入..可以用第二个实验做一下实验..先按要求编好程序并调试成功后;可将P1口锁存器中置“0”;此时将P1做输入口;会有什么结果..再来看一下延时程序的实现..现常用的有两种方法;一是用定时器中断来实现;一是用指令循环来实现..在系统时间允许的情况下可以采用后一种方法..本实验系统晶振为6.144MHZ;则一个机器周期为12÷6.144us即1÷0.512us..现要写一个延时0.1s的程序;可大致写出如下:MOV R7;#X 1DEL1:MOV R6;#200 2DEL2:DJNZ R6;DEL2 3DJNZ R7;DEL1 4上面MOV、DJNZ指令均需两个机器周期;所以每执行一条指令需要1÷0.256us;现求出X值:1÷0.256+X1÷0.256+200×1÷0.256+1÷0.256=0.1×10指令1 指令2 指令3 指令4所需时间所需时间所需时间所需时间X=0.1××10 -1÷0.256/1÷0.256+200×1÷0.256+1÷0.256=127D=7FH经计算得X=127..代入上式可知实际延时时间约为0.100215s;已经很精确了..五、实验原理图:六、实验步骤:执行程序1T1_1.ASM时:P1.0~P1.7接发光二极管L1~L8..执行程序2T1_1.ASM时:P1.0~P1.7接平推开关K1~K8;74LS273的O0~O7接发光二极管L1~L8;74LS273的片选端CS273接CS0由程序所选择的入口地址而定;与CSO~CS7相应的片选地址请查看第一部分系统资源;以后不赘述..七、程序框图:八、实验程序1、循环点亮发光二极管2、通过发光二极管将P1口的状态显示实验二AT89S52在系统编程实验一、实验目的:1.学习AT89S52在系统编程的方法..2.学习P1口既做为输入口又做为输出口的使用方法..3.学习数据输入、输出程序的设计方法..二、实验设备:EL-MUT-III型单片机实验箱、A T89S52CPU模块三、实验原理:AT89S52是一种低功耗高性能CMOS 8位微控制器;与MCS—51系列单片机兼容;具有8K在系统可编程Flash存储器..编程方法:1、双击IspPgm.exe打开AT-ISP软件2、左击界面芯片选择窗口的下拉箭头;选择AT89S52..3、导入hex文件到缓冲区左击界面上的“Open File”按钮;选择需要写入的hex文件..4、向芯片导入文件左击界面上的“Write”按钮;向A T89S52导入程序..5、写入程序后退出..注意:对AT89S52编程时;应将模块中的开关拨到TEST位置;编程结束后;将开关拨到EXP位置..四、实验原理图:五、实验步骤:平推开关的输出K1接P1.0;K2接P1.1;发光二极管的输入LED5接P1.2;LED6接P1.3;LED7接P1.4;LED8接P1.5..取出AT89S52 CPU模块;连接电源并使AT89S52复位..运行实验程序;K1做为左转弯开关;K2做为右转弯开关..LED7、LED8做为右转弯灯;LED5、LED6做为左转弯灯..结果显示:1:K1接高电平K2接低电平时;右转弯灯LED7、LED8灭;左转弯灯LED5、LED6以一定频率闪烁;2:K2接高电平K1接低电平时;左转弯灯LED5、LED6灭;右转弯灯LED7、LED8以一定频率闪烁;3:K1、K2同时接低电平时;发光二极管全灭;4:K1、K2同时接高电平时;发光二极管全亮..七、程序设计:实验三键盘实验一、实验目的:1.掌握8255A编程原理..2.了解键盘电路的工作原理..3.掌握键盘接口电路的编程方法..二、实验设备:EL-MUT-III型单片机实验箱、8051CPU模块三、实验原理:1.识别键的闭合;通常采用行扫描法和行反转法..行扫描法是使键盘上某一行线为低电平;而其余行接高电平;然后读取列值;如所读列值中某位为低电平;表明有键按下;否则扫描下一行;直到扫完所有行..本实验例程采用的是行反转法..行反转法识别键闭合时;要将行线接一并行口;先让它工作于输出方式;将列线也接到一个并行口;先让它工作于输入方式;程序使CPU通过输出端口往各行线上全部送低电平;然后读入列线值;如此时有某键被按下;则必定会使某一列线值为0..然后;程序对两个并行端口进行方式设置;使行线工作于输入方式;列线工作于输出方式;并将刚才读得的列线值从列线所接的并行端口输出;再读取行线上的输入值;那么;在闭合键所在的行线上的值必定为0..这样;当一个键被按下时;必定可以读得一对唯一的行线值和列线值..2.程序设计时;要学会灵活地对8255A的各端口进行方式设置..3.程序设计时;可将各键对应的键值行线值、列线值放在一个表中;将要显示的0~F字符放在另一个表中;通过查表来确定按下的是哪一个键并正确显示出来..实验题目利用实验箱上的8255A可编程并行接口芯片和矩阵键盘;编写程序;做到在键盘上每按一个数字键0~F;用发光二极管将该代码显示出来..四、实验步骤:将键盘RL10~RL17接8255A的PB0~PB7;KA10~KA12接8255A的PA0~PA2;PC0~PC7接发光二极管的L1~L8;8255A芯片的片选信号8255CS接CS0..五、实验电路:六、程序框图实验四D/A转换实验一、实验目的:1.了解D/A转换的基本原理..1.了解D/A转换芯片0832的性能及编程方法..2.了解单片机系统中扩展D/A转换的基本方法..二、实验设备:EL-MUT-III型单片机实验箱、8051CPU模块三、实验内容:利用DAC0832;编制程序产生锯齿波、三角波、正弦波..三种波形轮流显示..四、实验原理:D/A转换是把数字量转换成模拟量的变换;从D/A输出的是模拟电压信号..产生锯齿波和三角波只需由A存放的数字量的增减来控制;要产生正弦波;较简单的手段是造一张正弦数字量表..取值范围为一个周期;采样点越多;精度就越高..本实验中;输入寄存器占偶地址端口;DAC寄存器占较高的奇地址端口..两个寄存器均对数据独立进行锁存..因而要把一个数据通过0832输出;要经两次锁存..典型程序段如下:MOV DPTR;#PORTMOV A;#DA TAMOVX @DPTR;AINC DPTRMOVX @DPTR;A其中第二次I/O写是一个虚拟写过程;其目的只是产生一个WR信号..启动D/A.. 五、实验电路:六、实验步骤:1、DAC0832的片选CS0832接CS0;输出端OUT接示波器探头..2、将短路端子DS的1、2短路七、程序框图。
最新单片机实验报告实验目的:1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机编程语言和开发环境的使用。
3. 通过实验加深对单片机控制逻辑的理解。
4. 实现简单的单片机控制项目,提高动手能力。
实验设备和材料:1. 单片机开发板一套(包含单片机芯片、电源模块、接口电路等)。
2. 连接线若干。
3. LED灯、蜂鸣器、按键开关等外围设备。
4. 电脑一台,安装有单片机编程软件。
实验步骤:1. 首先,连接单片机开发板到电脑,确保电源模块和接口电路正确无误。
2. 安装并打开单片机编程软件,创建一个新的项目。
3. 编写程序代码,实现LED灯的闪烁功能。
代码中需要定义LED灯所连接的端口和控制逻辑。
4. 将编写好的程序通过编程软件下载到单片机芯片中。
5. 测试程序是否按预期工作,即LED灯能够进行闪烁。
6. 在原有程序基础上,增加蜂鸣器的控制代码,实现按键控制蜂鸣器响铃的功能。
7. 再次下载并测试程序,确保所有功能正常运行。
实验结果:1. 成功编写并下载了控制LED灯闪烁的程序,LED灯能够按照设定的时间间隔进行闪烁。
2. 在程序中增加了蜂鸣器的控制逻辑,通过按键开关能够控制蜂鸣器的启动和停止。
3. 所有编写的功能均能稳定运行,达到了实验的目的。
实验分析:通过本次实验,我们了解了单片机的基本操作和编程方法。
在实验过程中,我们也遇到了一些问题,比如程序下载不成功、LED灯不闪烁等,但通过检查电路连接和程序代码,我们最终解决了这些问题。
实验让我们认识到了理论与实践相结合的重要性,也提高了我们解决实际问题的能力。
实验建议:1. 在编写程序时,应该注意代码的规范性和可读性,便于后续的检查和修改。
2. 在实验过程中,应该养成记录和备份程序代码的习惯,防止数据丢失。
3. 可以尝试更复杂的控制项目,比如温度控制、电机驱动等,以提高对单片机的掌握程度。
实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。
(2)、培养程序编制及调试的方法。
(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。
二、实验要求:(1)、给出程序设计流程图。
(2)、设计数制转换实验程序。
(3)、记录单片机实验板晶体振荡器的波形图。
(4)、记录单片机实验板上电复位电路的波形图。
三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。
(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。
在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。
(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。
也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。
实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。
此时,如果系统工作正常,会在显示器上显示“HB--51”。
如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。
2. 掌握单片机最小系统的搭建方法。
3. 学习使用单片机编程软件进行程序编写和调试。
4. 通过实际操作,加深对单片机应用的理解。
二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。
2. 软件环境:Keil uVision5、Proteus仿真软件。
三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。
(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。
② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。
2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。
(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。
② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。
3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。
(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。
② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
文库宝 百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
单片机实验步骤一、 实验箱准备工作检查实验箱配件是否齐全?电源线1根,串口线1根,数据线若干,实验手册1本。
1、接上实验箱电源线。
2、串口线一头接在计算机串口上,另一头接在实验箱的“仿真串口”端(注意:不能误接到“实验串口”端)。
3、根据本次实验要求,按实验手册连接数据线。
4、按下实验箱右上方的两个黄色圆形按钮,观察按钮旁的两个红色显示灯是否点亮。
二、 Keil C51集成软件使用步骤1、在D :盘根目录下新建一个空文件夹,文件夹名为学生学号,例如:D:\200811510012、打开Keil C51 集成软件,可以双击桌面上的图标3、建立工程点击菜单Project → 选择New Project … → 弹出以下对话框4、然后弹出以下对话框——选择单片机芯片型号(1)选择D 盘下的空文件夹路径(1)选择“Atmel ”公司 (2)选择“89C51”芯片型号(3)点击“确定”文库宝 百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
5、把本次实验的汇编源程序复制到刚才在D :盘建立的空文件夹里,例如本次实验为“实验十 广告灯实验”,翻开实验手册第28页,可以看到本次实验的源文件名为“ZY ADV .ASM ”,该文件在“C:\Keil\单片机实验程序”路径下。
6、将汇编源文件添加到当前工程项目中7、进入源代码编辑界面(1)点击“加号”(2)双击“ZY ADV .ASM ”编辑界面由三个窗口构成:左侧为工程窗口;右侧为编辑窗口;下方为输出窗口。
如果在源程序中存在语法错误,输出窗口中会出现错误提示信息。
如果源程序语法完全正确后,点击Debug → Start/Stop Debug Session进入软件模拟的仿真窗口,如下图所示:8、编译连接后进行硬件仿真在进行硬件仿真之前,还需对工程属性进行某些设置。
选择“Project → Options for Target ‘Targetl’”,(2)选择“Creat HEX”(4)硬件仿真选项文库宝百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
单片机实训指导书一、实训目的单片机实训是一门重要的实践课程,旨在通过实际操作和项目实践,让学生深入了解单片机的工作原理、编程方法和应用开发。
通过本次实训,学生将能够掌握单片机系统的设计、调试和维护技能,提高解决实际问题的能力,为今后从事相关领域的工作打下坚实的基础。
二、实训设备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.学习Keil uvision3单片机仿真软件的使用方法。
2.熟悉单片机实验操作步骤。
3.熟练掌握MOVC A,@A+DPTR和MOVC A,@A+PC两条查表指令的功能及应用原理。
通过实验进一步加深理解两条查表指令的异同。
4.掌握采用两条查表指令编写的实验程序的调试方法,验证程序的正确性。
二、实验设备PC机一台,keil uvision3软件三、实验内容采用查表法求1~20的平方数。
入口:自变量在累加器A中。
出口:平方高位数在R7中,低位在R6中。
分别采用MOVC A,@A+DPTR和MOVC A,@A+PC查表指令编写实验程序,并进行调试和验证;四、实验原理写出编程思路或画出程序流程图。
据此实验原理编写的实验源程序清单见附页。
五、实验步骤1.在盘下为工程建立文件夹ZL1;2.新建工程项目文件ZL1.uv2,保存在文件夹ZL1中,并为工程选择目标器件为AT89S523.编辑源程序,建立源文件ZL1.ASM,保存在文件夹ZL1中;4.将源文件ZL1.ASM添加到工程项目组中;5.设置调试环境,选择调试模式为软件模拟;6.加载运行程序,根据预习设计的数据记录表格记录实验数据;7.实验数据经过实验指导教师检查正确后,实验结束。
实验数据记录见附页。
六、实验结果分析记录的实验数据经过计数器验证,全部正确,说明源程序设计正确、实验步骤正确。
七、心得体会1.第一次使用Keil uvision3单片机仿真软件,学习了它的使用方法和操作技巧,掌握了它的常用功能;2.通过实验,进一步掌握了MOVC A,@A+DPTR和MOVC A,@A+PC两条查表指令的功能。
理解了两条查表指令的异同。
3.通过实验,学会了查表指令程序的调试方法;4.。
(自己的体会)5.。
(自己的体会)。
(自己的体会)。
实验二双字节乘法实验一、实验目的:1.进一步熟悉keil uvision3 单片机仿真软件的使用方法。
2.进一步熟练掌握单片机实验操作步骤。
3.熟练掌握利用循环程序实现双字节乘法编程技巧。
4.掌握keil uvision3对寄存器赋值和查看数据的命令和方法。
二、实验设备PC机一台,keil uvision3软件三、实验内容寄存器R6R7中的双字节无符号数,与寄存器R4R5中的双字节无符号数相乘,乘积存放在寄存器R2R3R4R5中。
四、实验原理略据此实验原理编写的实验源程序清单见附页。
五、实验步骤1.在盘下为工程建立文件夹ZL2;2.新建工程项目文件ZL2.uv2,保存在文件夹ZL2中,并为工程选择目标器件为A3.编辑源程序,建立源文件ZL2.ASM,保存在文件夹ZL2中;4.将源文件ZL2.ASM添加到工程项目组中;5.设置调试环境,选择调试模式为软件模拟;6.加载运行程序,根据预习设计的数据记录表格记录实验数据;7.实验数据经过实验指导教师检查正确后,实验结束。
实验数据记录见附页。
六、实验结果分析七、心得体会实验三数据排序实验一、实验目的1.掌握冒泡法排序的原理及编程技巧;2.熟练掌握双重循环程序的设计原理及方法;3.进一步掌握无符号数排序的编程及调试方法。
一、实验设备PC机一台,keil uvision3软件三、实验内容在起始地址为60H的数据存储区中,连续存放有10个无符号数,编程将其由大到小排序。
四、实验原理冒泡法是一种相邻数互换的排序方法,其过程类似于水中气泡上浮,故称冒泡法。
执行时从前向后进行相邻数比较,如果数据的大小次序与要求顺序不符时将相邻两个数互换,否则为正序不互换。
降序排序时通过这种方法,使较大的数向前移动,较小的数向后移动。
如此从前向后进行一次冒泡就会把最小数置于最后,再进行一次冒泡,就会把次小数排在倒数第二的位置,以此类推进行排序。
判断排序是否完成的方法是看冒泡中是否有互换发生,如果有数据互换,说明排序还没有完成,否则就表示已完成排序。
一般使用设置互换标志的方法,以其状态表示在一次冒泡中是否有数据互换来控制排序的结束。
据此实验原理编写的实验源程序清单见附页。
(注意程序中变动的内容)ORG 0000HLJMP PAIXU2ORG 1000HPAIXU2: MOV R7,#10 ;长度送R7LOOP1: DEC R7MOV A,R7MOV R6,ACLR F0 ;标志位为0MOV R0,#60H;从60H的地址开始存放数据LOOP2: MOV A,@R0 ;要确保A中数据是小数INC R0MOV R2,A;保护CLR CSUBB A,@R0 两数进行比较MOV A,R2;恢复JNC NEXT 第一个数大于第二个数跳转XCH A,@R0;交换DEC R0 ;A中原来存放是小数,经过交换后变为大数,必须把它放在该放的位置上,因为指针此时指的是后面一个单元的数据,所以必须减一。
MOV @R0,AINC R0SETB F0 ;标志位为1NEXT: DJNZ R7,LOOP2MOV A,R6MOV R7,AJB F0,LOOP1 ;一次循环中有交换继续DONE: SJMP $ ;无交换退出END五、实验步骤实验数据记录见附页六、实验结果分析七、心得体会实验四、外部中断控制实验一、实验目的1掌握51单片机中断功能的工作原理,中断方式及编程方法2熟练掌握外部中断功能的混合控制设计方法。
3通过实验进一步掌握两个外部中断的中断优先级关系。
二、实验设备PC机一台,TD-NMC实验系统一套三、实验内容51单片机的外部中断0与脉冲单元的KK1ˉ连接,外部中断1与脉冲单元的KK2ˉ连接。
当响应外部中断0时,LED指示灯D7D6点亮并顺次向右移动7次;当响应外部中断1时,LED指示灯D0点亮并顺次向左移动8次。
编程设计外部中断的混合控制。
四、实验原理见指导书51页据此实验原理编写的实验源程序清单见附页。
TIMER0 EQU 30HTIMER1 EQU 31HORG 0000HLJMP MAINORG 0003HLJMP INTERRUPT_0ORG 0013HLJMP INTERRUPT_1MAIN:MOV SP,#60HMOV IE,#10000101BMOV IP,#00000100BSETB IT0SETB IT1LOOP:MOV A,#11110000BMOV P1,ACALL DELAY500MOV A,#00001111BMOV P1,ACALL DELAY500JMP LOOPINTERRUPT_0:PUSH ACCPUSH BMOV B,#7MOV A,#00111111B LOOP1:MOV P1,ACALL DELAY500RR ADJNZ B,LOOP1POP BPOP ACCRETIINTERRUPT_1:PUSH ACCPUSH BMOV B,#8MOV A,#11111110B LOOP2:MOV P1,ACALL DELAY500RL ADJNZ B,LOOP2POP BPOP ACCRETIDELAY:MOV TIMER0,#250 DELAY2:NOPNOPDJNZ TIMER0,DELAY2 DJNZ TIMER1,DELAY RETDELAY500:NOPPUSH TIMER1MOV TIMER1,#250 LCALL DELAYLCALL DELAYPOP TIMER1RETEND五、实验步骤见53页(其中项目文件和源程序文件保存名为姓名首字母大写)。
六、实验结果分析七、实验总结;"传统模块”实验二十三中断特性实验;文件名:KEIL例程\实验二十三\A51\EX23.ASMORG 0000HSJMP MAINORG 0003H ;外中断0入口地址LJMP INTER0org 0030hMAIN: JB P1.3,MAIN1 ;判断是电平触发还是沿触发CLR TCON.0SJMP MAIN2MAIN1: SETB TCON.0 ;中断初始化MAIN2: ORL IE,#81HORL IP,#02HSJMP MAININTER0: CLR EA ;中断处理程序SETB P1.2LCALL DELYCLR P1.2LCALL DELYSETB EARETIDELY: MOV R6,#00H ;延时DELY1: MOV R7,#00HDELY2: DJNZ R7,DELY2DJNZ R6,DELY1RETEnd定时器实验一、实验目的1、掌握51单片机定时器/计数器的基本结构、工作原理和工作方式。
2、掌握定时器/计数器T0、T1工作在定时和计数两种状态下的编程方法。
3、掌握定时器/计数器工作在定时和计数两种状态下分别采用中断和查询方式控制的编程方法。
4、熟练掌握利用软件扩展定时器/计数器量程的工作原理和编程技巧。
二、实验设备PC机一台,SICELab-G2200单片机实验系统一套三、实验原理51单片机有2个16位的定时器/计数器,分别是T0、T1,它们有两种工作状态,可以工作在定时和计数方式,定时是对内部的机器周期进行加法计数,计数是对外部输入的计数脉冲进行加法计数,T0的外部计数脉冲从P3.4脚输入,T1的外部计数脉冲从P3.5引脚输入;计数满产生溢出,硬件使定时器/计数器T0、T1的中断请求标志TF0、TF1置位;如果定时器/计数器允许中断,则可以采用中断方式进行溢出处理,而如果定时器计数器不允许中断,则可采用查询方式进行溢出处理。
若定时器/计时器T0工作在定时状态,而实验系统的晶振频率fosc=12MHz 时,T0工作在方式1,16位最大计数量程,最长的定时时间是65ms多,要想实现10s定时,必须对T0进行量程扩展,实现中采用R1进行软件扩展,即R1对T0定时50ms进行计数,计数200次就是定时10s,每10s对累加器进行一次左移,然后送P1口显示。
四、实验内容设定时器/计数器工作于定时方式,定时时间为50ms,每当50ms到申请中断,每10s钟将A的内容循环左移一次送P1口显示。
ORG 0000HLJMP MAINORG 001BHLJMP DVT1ORG 0100HMAIN:MOV TMOD,#10HMOV TH1,#3CHMOV TL1,#0B0HMOV R7,#200SETB ET1SETB EAMOV A,#01HMOV P1,ASETB TR1SJMP $DVT1:MOV TH1,#3CHMOV TL1,#0B0H DJNZ R7,EXIT MOV R7,#200 MOV P1,ARL AEXIT: RETIEND实验四、交通灯控制实验[实验内容]将单片机的P1口作为输出口,模拟交通灯控制。
根据灯的不同状态,表示路口的通行或禁行。
D0 D1 D2 D3 D4 D5 D6 D7南北东西南北东西[实验现象]图中:表示相应的灯亮表示相应的灯闪烁表示相应的灯灭ORG 0000HLJMP MAINORG 0100HMAIN:MOV R2,#05HSTAUT1: ;状态1 打开交通控制灯MOV P1,#00HLCALL DELAY_INITMOV P1,#0FFhLCALL DELAY_INITDJNZ R2,STAUT1CIRCLE:LCALL STATUS2 ;进入状态2LCALL STATUS3 ;进入状态3LCALL STATUS4 ;进入状态4LCALL STATUS5 ;进入状态5LJMP CIRCLE ;状态2到状态5循环控制STATUS2: ;状态2 东西通行,南北禁行 MOV R2,#50HEW_PASS:MOV P1,#3CHLCALL DELAY_INITDJNZ R2,EW_PASSRETSTATUS3: ;状态3 南北准备通行MOV R2,#0AHSN_PREPARE:MOV P1,#0FCHLCALL DELAY_INITMOV P1,#30HLCALL DELAY_INITDJNZ R2,SN_PREPARERETSTATUS4: ;状态4 南北通行,东西禁行 MOV R2,#50HSN_PASS:MOV P1,#0C3HLCALL DELAY_INITDJNZ R2,SN_PASSRETSTATUS5: ;状态5 东西准备通行MOV R2,#0AHEW_PREPARE:MOV P1,#0F3hLCALL DELAY_INITMOV P1,#0C0HLCALL DELAY_INITDJNZ R2,EW_PREPARERETDELAY_INIT: ;延时子程序MOV R6,#0C8HLOOP1:MOV R7,#0F8hNOPLOOP2:DJNZ R7,LOOP2DJNZ R6,LOOP1RETEND一、实验要求; 利用8031单片机串行口,实现两个实验台之间的串行通; 讯。