单片机实验指导
单片机实验指导
51系列单片机原理与应用实验实验1 简单汇编语言实验一、实验目的:掌握汇编语言设计和调试方法,熟悉键盘操作。
熟悉汇编语言编程。
二、实验内容:1.查找相同数据个数:在2000H~200FH的N个单元中填入零,运行本程序后检查2100H中是否为N;2.清零:把2000H~20FFH的内容清零。
三、实验程序框图:查找相同数据个数程序实验框图清零程序框图四、实验步骤:1、在2000H~200FH的几个单元中填入零,运行查找相同数据个数程序后检查2100H中是否是几个单元数。
2、用连续或单步方式运行清零程序,检查2000~20FF中执行程序前后的内容变化。
五.思考:1、修改程序,查找其它内容。
2、修改清零程序,假使把2000H~20FFH中的内容改成FF,如何修改程序。
1/ 查找相同数据个数程序程序清单:ORG 0000HLJMP L5800ORG 0AA0HL5800: MOV R0,#10H ;查找16个字节MOV R1,#00HMOV DPTR,#2000HL5811: MOVX A,@DPTRCJNE A,#00H,L5816 ;取出内容与00H相等吗?INC R1 ;取出个数加1L5816: INC DPTRDJNZ R0,L5811 ;未完继续MOV DPTR,#2100HMOV A,R1MOVX @DPTR,A ;相同数的个数送2100HL581E: SJMP L581EEND2/ 清零程序清单:ORG 0000HLJMP SE01ORG 0640HSE01: MOV R0,#00HMOV DPTR,#2000H ;(0000H)送DPTRLOO1: CLR AMOVX @DPTR,A ;0送(DPTR)INC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,#00H,LOO1 ;不到FF个字节再清LOOP: SJMP LOOPEND实验2 拆字和拼字程序一、实验目的:掌握汇编语言设计和调试方法。
单片机实验指导书
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
单片机实验指导书
单片机原理及应用实验指导书殷爱华南京理工大学实验一62256 SRAM自检一、实验目的:1.熟悉仿真器的使用。
2.了解教学实验系统的结构和地址译码方式。
3.通过62256自检程序实验,掌握数据存储器检测方法。
二、实验要求1.实验内容与方法编写自检程序,要求通过循环程序逐个单元检测62256芯片。
分别由低地址单元到高地址单元写入55H和AAH,并读出后进行比较,以判断存储器单元是否工作正常,如果检测结果正常,则点亮一个发光二极管,若检测结果不正常,则使该二极管以闪烁的方式进行指示。
62256RAM的寻址范围为0000H ~7FFFH 。
2.要求①按实验内容自编程序,并输入计算机进行仿真调试。
②完成I/O口某一位的输出与发光二极管电路的连接。
③注意实验设备、电源的使用安全。
④调试完毕观察发光二极管的工作情况是否满足设计要求。
⑤提交试验报告。
三、注意事项1. 不带电操作。
2. 不要随便用手触摸电路板及元器件。
3. 接插电路时务必注意元件正负方向,以防止元件被击穿。
四、实验器材与设备:1. PC计算机一台2. 单片机教学实验开发系统一套3. 实验器材若干五、实验原理:六、实验步骤:七、程序功能要求:八、程序流程图:九、实验源程序并附简单说明:十、实验感想及建议实验二8255可编程并行口输入/输出一、实验目的:1.熟悉仿真器的使用。
2.了解教学实验系统的结构和地址译码方式。
3.掌握8255可编程并行I/O扩展口编程。
二、实验要求1.实验内容与方法编写8255并行输入输出程序,编写8255按位置位/复位程序。
要求8255工作于基本输入/输出方式,PA口和PC口的高4位为输出口,PB口和PC口的低4位为输入口。
用发光二极管显示工作是否正常。
8255的PA口地址—F228H,PB口地址—F229H,PC口地址—F22AH,控制寄存器地址—F22BH。
2.要求①按实验内容自编程序,并输入计算机进行仿真调试。
②完成8255并行输出口与输入口的对应电路连接。
单片机实验指导书
实验一数制转换实验一、实验目的:(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”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验指导书
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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Ω,故不会对外部输入产生影响。
单片机实验实验指导书
目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
延时时间500ms。
2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。
四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。
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 概述本实验指导为学生所用,完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、接口技术、编程技巧。
手册中详细叙述了实验的目的、内容、实验线路图、实验程序框图和实验步骤,减轻和免除了主讲教师设计、准备调试实验线路和实验程序所需的工作量,节约了宝贵的时间。
手册中编排了10个软件实验和13个硬件实验,全部的实验演示程序已固化区上,用EPROM传送命令传送送到DVCC仿真实验系统的仿真程序区,通过DVCC仿真实验系统的键盘显示直接运行实验程序和观察实验结果。
如果DVCC仿真实验系统在联PC机状态进行各种实验,其实验演示程序既可以用实验监控中的程序,亦可以用\DV598\DHEX子目录下的实验程序(.HEX),把.HEX文件用Load命令传到DVCC仿真实验系统仿真程序区(详细操作见《用户手册》第三章)。
每个实验程序的其实地址、目标文件名、源文件名、实验名称见下表一和二。
注:实验程序的源文件在\DV598\DASM子目录下。
实验程序的目标文件在\DV598\DHEX子目录。
ξ 1.2 实验部分通用电路简介1.LED显示:实验仪上装有12只发光二极管及相应驱动电路。
见图1-1,L1~L12为相应发光二极管驱动信号输入端为低电平“0”时发光二极管亮。
2.逻辑电平开关电路:见图1-2。
实验台上有9只开关K1~K8与之相对应的K1~K8引线孔为逻辑电平输出端。
开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。
3.单脉冲电路:实验台上单脉冲产生按钮,没按一次产生一个单脉冲。
4.计数器电路:该电路由一片74LS393组成,见图1-3,实验仪上T0~T7为分频输出插孔,该计数器在上电时由RESET信号清零。
当脉冲输入为1.0M时。
T0~T7输出脉冲频率为1M、500KHZ、250KHZ依次二分频。
5.脉冲发生器电路:实验台上提供一2MHZ的脉冲源见图1-4,实验台上标有2MHZ的插孔即为该脉冲的输出端。
单片机实验指导书
目录实验一P1口输入、输出实验 (2)实验二继电器控制实验 (8)实验三音频控制实验 (11)实验四程序调试 (14)实验五5LED静态串行显示实验 (16)实验六6LED动态扫描显示实验 (21)实验七查询式键盘实验 (28)实验八阵列式键盘实验 (36)实验九计数器实验 (47)实验十定时器实验 (49)实验十一外部中断实验 (54)实验一P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。
2、添加 P1_B.ASM源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。
向上拨为熄灭,向下拨为点亮。
四、流程图及源程序1.流程图2.源程序:(一)实验一ORG 0000HLJMP STARTORG 0030HSTART: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP STARTDELAY: MOV R6,#0MOV R7,#0DELAYLOOP:;延时程序DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND(二)实验二KEYLEFT BIT P1.0 ;定义KEYRIGHT BIT P1.1LEDLEFT BIT P1.2LEDRIGHT BIT P1.3ORG 0000HLJMP STARTORG 0030HSTART: SETB KEYLEFT ;欲读先置一SETB KEYRIGHTLOOP: MOV C,KEYLEFTMOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND五、思考题(1)对于本实验延时子程序Delay: MOV R6,0MOV R7, 0DelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET如使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
单片机实验指导
(3) 用LINK程序把OBJ文件转换成EXE文件;
(4) 运行程序
(1) 用编辑程序建立.ASM源文件
新建汇编文件
第一步:建立新程序 ; 第二步:保存程序;给出文件所要保存的位置 ,再给
出文件名MY1.ASM ;
注意:必须输入文件名的后缀“. ASM”,否则无法调试 ; 第三步:编译程序;选择菜单【编译】功能或按编译快捷图
六、实验框图
程序初始化,设 置P1口寄存器的 初值为FEH
延时0.1秒,使
显示稳定
将P1口寄存器的 数值逐位左移1位
循环点亮发光二极管
程序初始化,设 置P1口为输入口
将P1口数值读入 累加器A
将累加器A 的数 值送到273显示
Hale Waihona Puke 通过发光二极管将P1口的状态显示
七.注意事项: 1.连线时,要关闭实验箱电源,禁止带电插拔。
单片机实验
电子与计算机科学技术学院
实验要具备的知识
单片机实验是对所学单片机硬件、接 口电路、汇编语言的具体应用。要做好单 片机实验,首先要熟悉单片机的结构、工 作原理,其次要掌握汇编语言程序编写和 优化,另外要对单片机的接口电路有一定 得了解。
汇编程序的上机过程
1. 汇编程序的上机步骤 (1) 用编辑程序建立.ASM源文件; (2) 用MASM 程序把.ASM文件转换成.OBJ文件;
四、 实验原理图 P1口输出实验
P1 口 输 入 实 验
五、实验步骤
(1):做P1口输出实验时,P1.0~P1.7接发光二极管 L1~L8。 (2):做 P1口输入实验时:P1.0~P1.7接平推开关K1~ K8;74LS273的O0~O7接发光二极管L1~L8;74LS273的 片选端CS273接CS0。
单片机实验指导
51系列单片机原理与应用实验实验1 简单汇编语言实验一、实验目的:掌握汇编语言设计和调试方法,熟悉键盘操作。
熟悉汇编语言编程。
二、实验内容:1.查找相同数据个数:在2000H~200FH的N个单元中填入零,运行本程序后检查2100H中是否为N;2.清零:把2000H~20FFH的内容清零。
三、实验程序框图:查找相同数据个数程序实验框图清零程序框图四、实验步骤:1、在2000H~200FH的几个单元中填入零,运行查找相同数据个数程序后检查2100H中是否是几个单元数。
2、用连续或单步方式运行清零程序,检查2000~20FF中执行程序前后的内容变化。
五.思考:1、修改程序,查找其它内容。
2、修改清零程序,假使把2000H~20FFH中的内容改成FF,如何修改程序。
1/ 查找相同数据个数程序程序清单:ORG 0000HLJMP L5800ORG 0AA0HL5800: MOV R0,#10H ;查找16个字节MOV R1,#00HMOV DPTR,#2000HL5811: MOVX A,@DPTRCJNE A,#00H,L5816 ;取出内容与00H相等吗?INC R1 ;取出个数加1L5816: INC DPTRDJNZ R0,L5811 ;未完继续MOV DPTR,#2100HMOV A,R1MOVX @DPTR,A ;相同数的个数送2100HL581E: SJMP L581EEND2/ 清零程序清单:ORG 0000HLJMP SE01ORG 0640HSE01: MOV R0,#00HMOV DPTR,#2000H ;(0000H)送DPTRLOO1: CLR AMOVX @DPTR,A ;0送(DPTR)INC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,#00H,LOO1 ;不到FF个字节再清LOOP: SJMP LOOPEND实验2 拆字和拼字程序一、实验目的:掌握汇编语言设计和调试方法。
单片机实验指导书
实验一、输入输出接口编程一、实验目的1、掌握Keil软件的基本使用。
2、掌握单片机汇编语言基本编程。
二、实验内容1、学习用Keil软件进行51单片机的软件开发;学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。
(见参考程序一)2、霓虹灯控制程序设计用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。
将生成的HEX文件下载到实验板上验证。
(见参考程序二)三、实验原理1、Keil软件使用练习设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。
(见参考程序一)2、霓虹灯控制程序设计电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED图中用单片机的P1口作输出口接8个LED ,8个LED 按共阳极连接,端口逻辑值为0点亮LED ;P3口作输入口接2个SW-SPST 开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。
本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。
本实验中的延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。
输出表格确定发光模式,实验中定义表格如下:TAB1:DB 01H,02H,04H,08H,10H,20H,40H,80H (SW3,SW4为:00) TAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81H (SW3,SW4为:01) TAB3:DB 80H,40H,20H,10H,08H,04H,02H,01H (SW3,SW4为:10) TAB4: DB 用户自己定义(SW3,SW4为:11)输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。
单片机实验指导-17页精选文档
实验一跑马灯实验一、实验目的与要求熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。
熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。
2、照接线图编写程序:使用P1口控制F5区的8个指示灯,循环点亮,瞬间只有一个灯亮。
2、观察实验结果,验证程序是否正确。
四、实验原理图五、实验步骤1、连线说明:2、编写程序或运行参考程序。
3、实验结果:通过F5区的LED指示灯(8个指示灯轮流点亮),观察实验的输出结果是否正确。
六、演示程序ORG0000HLJMP STARTORG0100HSTART:MOV SP,#60HMOV A,#0FFHCLR CSTART1:RLC AMOV P1,AACALL DelaySJMP START1Delay:MOV R5,#2;延时Delay1:MOV R6,#0Delay2:MOV R7,#0DJNZ R7,$DJNZ R6,Delay2DJNZ R5,Delay1RETEND如果读者使用星研集成环境软件,请考虑以下问题?1、运行程序前,打开变量窗;2、使用单步进入命令,运行到第六行后,运行过程中变量窗有何变化?将鼠标停留在A、SP上一秒后,出现什么?,它与变量窗使用场合的区别?3、第九行是调用延时子程序,如何进入延时子程序(使用单步进入命令)?如何将延时子程序一下子运行完毕(使用单步命令;也可以将光标移到下一行,使用运行到光标处命令;)?单步进入命令与单步命令有何区别?4、运行几次后,在第十行设置一个断点,使用全速断点命令运行几次,观察运行结果,它与运行到光标处命令有何区别?5、Delay是一个延时子程序,改变延时常数,使用全速运行命令,显示发生了什么变化?6、观察寄存器,有哪几种方法?1)在工作区窗的通用寄存器标签视中;2)变量窗3)鼠标停留在寄存器上4)观察窗5)寄存器窗实验二数据传送(RAM–>XRAM)一、实验目的熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。
单片机实验指导书
第一章DVCC-52196JH单片机仿真实验系统简介第一节DVCC系列单片机仿真实验系统性能§ 1 . 1 系统性能指标1.仿真、实验相结合。
2.实验模块化结构,互不影响,通过连线又可将各模块有机结合。
3.实验内容设置丰富、合理,满足教学大纲要求。
4.每项实验连线方便,既能满足学生动手能力愿望,又能充分发挥学生的创新能力,提高教学实验的质量和效率。
5.自带集成调试环境,Win9X/NT软件平台,含:源程序库、芯片资料库、原理图库、元器件位置图库、实验说明、动态调试工具库。
6.提供源程序编辑、汇编、链接。
7.电路具有过压保护,确保系统安全、可靠工作。
8.整机采用热风整平工艺基板、波峰焊接,实验连接接口采用圆孔插座,整机可靠性好。
9.自带EPROM写入器,可对27128、2764EPROM进行写入。
10.自带键盘显示器,进口键座,专用彩色键帽,决无按键不可靠现象。
11.系统用串行口、用户用串行口相互独立,在通过RS232与上位机联机状态下,同样可以调试用户串行口程序。
12.系统带有示波器功能,通过RS232口,可将测得的信号显示在上位机的屏幕上。
该系统通过RS232口可连各种上位机,在Win9X/NT软件平台进行仿真开发和实验。
同时系统自带键盘显示器,无须任何外设也能独立工作,支持因陋就简建立单片机实验室。
系统提供实验程序库,均放在系统光盘上,可直接使用。
同时全部实验程序机器码已固化在EPROM中,作为用户程序。
在进入实验前,需将该EPROM中的程序(在固化区)传送到仿真RAM区,以便以单步、断点、连续等方式运行程序。
§ 1.2 系统提供的主要实验项目如下:一、MCS—51部分软件实验1、清零程序实验 6、字符串查找并统计相同字符串个数2、拆字程序实验 7、双字节乘法程序3、拼字程序实验 8、多分支程序设计4、数据块传送实验 9、定时/计数器实验5、数据排序实验 10、电脑时钟实验二、MCS—51部分硬件实验1、8031单片机P3、P1口应用 11、步进电机控制2、工业顺序控制 12、直流电机控制3、并行I/O口8255应用 13、电子音响4、简单I/O口输入、输出扩展 14、继电器控制5、A/D转换0809应用 15、数据存贮器扩展和程序存贮器扩展6、D/A转换0832应用 16、8031串行口应用实验(一)—双机通信实验7、串并转换实验 17、8031串行口应用实验(二)—与PC机通信8、定时计数器8253A应用 18、温度测量实验(5G14433应用)9、可编程键盘显示8279A应用 19、压力测量实验10、打印机接口应用对DVCC—××JH+机型增加下列四个扩展实验一、128×64液晶显示实验二、16×16LED点阵显示实验三、语音录放实验四、IC卡读写实验§ 1.3 实验系统主要机型如下:DVCC—52JH(JH+) 51实验、仿真DVCC—52196JH(JH+) 51、196实验、仿真DVCC—5286JH(JH+) 51实验、仿真,8088实验DVCC—598JH(JH+) 51、196实验、仿真,8088实验第二节 MCS—51实验系统安装与启动§ 2.1 MCS51实验系统安装与启动1. DVCC系列实验系统在出厂时均为51状态对DVCC—52196JH机型:SK1位1—5置ON位置,位6—10置OFF对DVCC—5286JH和DVCC—598JH机型:a.SK1位1—5置ON,位6—10置OFF;b.SK2位1—2置ON;c.SK3置ON;d.SK4置OFFe.卧式KBB置51、96位置,立式KBB1开关置51、88位置(只对DVCC—598JH/JH+);f.DL1—DL4连1、22. 如果系统用于仿真外接用户系统,将40芯仿真电缆一头插入系统中J6插座,另一头插入用户系统的8051CPU位置,注意插入方向,仿真头上小红点表示第一脚,对应用户8051CPU 第一脚。
单片机实验指导书
目录1、keil μVision2基本操作实验2、汇编程序设计实验3、在线编程脱机运行实验4、定时/计数器的应用实验5、中断应用实验6、I2C系统总线实验(E2PROM24C02 )7、串行AD转换实验(ADC0832)8、C51 简单程序设计实验9、C51综合程序设计实验附录 S51E单片机用户板介绍实验一 KeilμVision2基本操作实验一、实验目的1、熟悉KeilμVision2 集成开发环境2、初步掌握KeilμVision2的使用方法二、KeilμVision2使用方法介绍1、KeilμVision2启动从桌面上直接双击KeilμVision2的图标来启动软件。
KeilμVision2启动后,在程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这三个标签分别显示当前项目的文件结构、CPU寄存器和部分特殊功能寄存器的值(只有在调试的时候才出现)和所选CPU的附加说明文件,如果是第一次启动KeilμVision2,这三个标签都是空的。
2、源文件的建立使用菜单“File→New”或点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入以下汇编语言源程序,ORG 0000HMOV A,#0FEHMAIN: MOV P1, ARL ALCALL DELAYAJMP MAINDELAY: MOV R7,#255DL: MOV R6,#255DJNZ R6,$DJNZ R7,DLRETEND保存该文件,注意必须加上扩展名(汇编语言源程序一般使用asm或a51为扩展名,假如是C语言源程序,扩展名为*.c),这里假定文件保存为text1.asm,3、新建一个工程在项目开发中,不仅有一个源程序就可以了,还要为这个项目选择CPU,确定编译、汇编、连接的参数,指定调试的方式,有些项目会友多个文件组成,为了管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(内部教材)单片机实验指导书周小波编阜阳师范学院物理与电子科学学院电子信息科学与技术教研室第一章系统概述一、系统简介MCS-51单片机实验板是物理与电子科学学院自主研发设计的单片机实验系统。
板载一片51内核STC89C52单片机,整个实验系统由17个独立模块组成,各模块相互独立,给学生提供了更大的发挥空间。
利用目前流行的Keil c51软件,进行软、硬件仿真开发调试。
二、各模块电路(1)单片机最小系统模块最小系统电路主要由STC89C52单片机、时钟电路、复位电路等构成,所有的IO口均引出。
(2)串口电平转换模块串口电平转换电路主要由MAX232芯片以及相关外围电路构成,可以用来下载程序,以及作串口通信实验。
(3)数码管驱动模块8位共阳极数码管采用8550(PNP)三极管驱动,模块预留位选端口和段选端口两排插针,根据需要可自行连接。
(4)LED发光二极管模块板载8个发光二极管,J1为接线端口,可根据需要自行连接到单片机的IO 口或者其他外设上,PZ2为排阻,起限流作用。
(5)键盘模块键盘电路由4各独立按键和4*4矩阵键盘构成,Pk2接口为独立键盘的接线端子,Pk1端口为矩阵键盘的接线端子。
(6)DA转换模块DA转换电路采用8位DA芯片DAC0832,PDA端口为8位数据的输入端,11脚为DAC0832输出端,发光二极管用于指示DA转换的结果。
(7)AD转换模块AD转换电路由8位AD转换芯片ADC0804构成,通过调节VR1电位器可以改变AD输入端的模拟电压。
(8)电机驱动模块采用L298N模块作为电机驱动,可以驱动2个直流电机或1个步进电机,J5为信号输入端,输出端J6接直流电机或者步进电机。
(9)总线扩展模块采用82C55芯片作为总线的扩展,采用一片锁存器74HC573,使P0口可以作为地址和数据总线的复用端口。
J9为82C55的控制总线接线端子,J10为82C55的地址和数据接线端子,PA、PB、PC为82C55的输出端口,可以外接其他外设完成相应的实验。
(10)液晶显示模块液晶显示模块采用字符液晶1602,J0为接线端子,包括数据总线、地址总线以及相关控制总线。
(11)点阵模块点阵模块采用2片串入并出的74HC595芯片驱动一个8*8点阵,J3和J4为2片74HC595的控制端口。
(12)时钟模块采用DS1302作为时钟芯片,作为实时时钟的实验。
1203in端口为DS1302的接线端子,可以连接到单片机相应的IO口上,编写驱动程序可以读取DS1302芯片内部的时钟信息。
(13)继电器驱动模块采用8550 PNP三极管驱动继电器工作,继电器的常开端连接一个发光二极管,用于演示继电器的特点。
(14)EEPROM模块EEPROM模块采用AT24C02芯片作为存储器,用于演示非易失型存储器的特点,SDA、SCL为AT24C02的时钟线和数据线,需要连接到单片机的相应管脚。
(15)蜂鸣器驱动模块蜂鸣器驱动模块采用8550三极管驱动,J2接线端子分别为蜂鸣器、温度传感器DS18B20以及继电器的接线端。
(16)温度传感器模块采用数字型 DS18B20作为温度传感器,该传感器为单总线结构,总线上需要接一个上拉电阻。
(17)电源接口模块为了便于学生接线以及更好的完成相关实验项目,电路板上扩展了8路+5V 电源。
三、总体电路图四、PCB图第二章实验指导实验一熟悉开发环境1、实验目的:(l)学习使用Keil软件新建工程的方法;(2)学习如何编译程序;(3)学习如何下载程序。
2、实验内容:学习Keil软件建立工程以及编译工程,利用STC-ISP软件通过串口将编译生成的HEX文件下载到单片机中。
3、实验步骤:(1)新建一个工程在桌面上或者相应磁盘上新建一个文件夹,取名为Text(可任意取名),打开Keil软件,点击菜单栏的Project—New Project,弹出对话框,将工程保存到Text文件夹,工程名也取为Text(可以是其他名称),点击保存按钮,保存工程,如下图所示。
保存工程后,弹出一个对话框,如下图所示,选择其中的Atmel项,找到Atmel 公司的AT89C52单片机并选中后点击确定,此时会弹出一个对话框,选择“是”或者“否”都可以。
此时工程虽然成功创建了,但是工程中是空的,需要向工程里面添加相应的文件,点击菜单栏File—New,可以新建一个文件,保存为Text.c(可以为其他名称,如果用C语言写程序,后缀必须为.c,用汇编写程序后缀为.asm),如下图所示。
虽然新建了一个文件(C文件或者汇编文件),但是该文件还没有添加到工程中,添加文件到工程的方法如下图所示,右击Project Workspace 中的Source Group1,选择 Add Files to Group Source Group 1 弹出对话框,找到工程的保存目录即Text文件夹,选择以前新建的Text文件,点击Add即可将文件添加到工程中,工程新建完毕。
(2)程序的编译下面以C语言写程序为例演示工程编译的过程,点击Text.c文件,程序需要写在该文件中,如下图所示。
点击工具栏中的Option for Target,选择Output选项卡,将Create HEX File选项的复选框勾上后,点击确定。
这样编译后就可以生成单片机可执行的HEX文件了。
点击工具栏上的编译按钮即可对工程的所有文件进行编译,如下图所示。
(3)程序的下载打开位于桌面的STC-ISP.exe可执行软件,如下图所示。
首先选择MCU的型号,需要将MCU的型号选择为STC89C52,如下图所示。
选择打开程序文件按钮,找到以前编译的HEX文件,点击打开。
以Text工程为例,HEX文件与工程保存在同一个目录,如下图所示。
将实验板的通过串口线与PC即连接,下载程序前需要设置串口的端口号。
首先查看PC机串口的端口号,右击“我的电脑”—属性—硬件—设备管理器—端口—通讯端口,可以看出下图所示的串口端口号为COM1。
设置STC-ISP软件的COM端口号,如下图所示。
将实验板断电,点击STC-ISP软件的“Download/下载“按钮,再给实验板上电,程序即可下载到单片机中。
如下图所示。
4、思考:(1)为什么在编译之前需要将Create HEX File复选框选上。
(2)下载程序需要设置哪些选项。
5、实验报告要求:(1)整理新建工程的步骤,将它们按正确的格式详细书写在实验报告纸上。
(2)写出编译程序的步骤。
(3)写出思考题的答案。
实验二 I/0口输入输出实验1、实验目的:(l)学习51单片机IO口的使用方法;(2)学习延时子程序的编写。
2、实验内容:(1)学习IO口的位操作方法,分别选择P0、P1、P2、P3端口中的某一位,该位作为输出使用,连接一只发光二极管,控制器闪烁。
(2)P0、P1、P2、P3口作为输出口,连接八只发光二极管,编写程序,使发光二极管从左至右循环点亮。
(3)将P1口的某一位作为输入使用,连接一个按键,当按键按下时使发光二极管亮,否则发光二极管熄灭。
3、实验电路图:发光二级管电路,PZ2为限流电阻,J1为接线端子。
按键电路,本实验可以选择独立按键来完成,独立按键的接口为Pk2。
本实验需要用到的模块标注如下图所示。
4、实验步骤:(1)将P0.x(P0口的任意一位)连接到一只发光二极管上(J1接口的任意一个插针),编写程序使发光二级管闪烁,将P1.x、P2.x、P3.x依次接到一只发光二极管上,重复上述过程。
(2)将P0口连接到8只发光二极管上(J1接口),编写程序使发光二极管从左至右循环点亮,将P1、P2、P3口依次接到J1接口,重复上述过程。
(3)将P1.0口连接到一只发光二极管上(J1接口的任意一个插针),P1.1连接到Pk2独立键盘端口的某一插针,编写程序当按键按下时,发光二级管亮,放开按键时,发光二极管熄灭。
5、思考:(1)改变延时常数,使发光二极管闪亮时间改变。
(2)修改程序,使发光二极管闪亮移位方向改变。
6、实验报告要求:(1)整理本实验涉及的程序,将它们按正确的格式详细书写在实验报告纸上。
(2)写出实验结果、实验收获与对本实验改进的意见。
(3)写出思考题的答案。
实验三数码管显示实验1、实验目的:(l)学习数码管的静态显示;(2)学习数码管的动态显示。
2、实验内容:(1)编写程序让8只数码管同时显示0;(2)编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复。
(3)编写程序学习数码管的动态显示,让8只数码管从从左往右显示1、2、3……8。
3、实验电路图:低电平选中相应的位。
4、实验步骤:(1)将P0.x(P0口的任意一位)连接到一只发光二极管上(J1接口的任意一个插针),编写程序使发光二级管闪烁,将P1.x、P2.x、P3.x依次接到一只发光二极管上,重复上述过程。
(2)将P0口连接到8只发光二极管上(J1接口),编写程序使发光二极管从左至右循环点亮,将P1、P2、P3口依次接到J1接口,重复上述过程。
(3)将P1.0口连接到一只发光二极管上(J1接口的任意一个插针),P1.1连接到Pk2独立键盘端口的某一插针,编写程序当按键按下时,发光二级管亮,放开按键时,发光二极管熄灭。
5、思考:(1)改变延时常数,使发光二极管闪亮时间改变。
(2)修改程序,使发光二极管闪亮移位方向改变。
6、实验报告要求:(1)整理本实验涉及的程序,将它们按正确的格式详细书写在实验报告纸上。
(2)写出实验结果、实验收获与对本实验改进的意见。
(3)写出思考题的答案。
实验四外部中断实验1、实验目的:(l)掌握中断的特点;(2)掌握外部中断的两种触发方式;(3)掌握中断嵌套的特点。
2、实验内容:(1)编写程序学习外部中断的电平触发方式。
无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警。
(2)设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管加1显示程序)。
3、实验电路图:蜂鸣器驱动电路如下图所示,其他电路见IO口实验和数码管实验电路。
蜂鸣器采用PNP三极管驱动,低电平有效。
实验板上数码管为4位一体的共阳极数码管,采用8550 PNP三极管驱动,低电平选中相应的位。
4、实验步骤:(1)将P3.2或者P3.3(外部中断0和外部中断1引脚)连接到一个独立按键,发光二极管和数码管接口连接到单片机的相关IO口,设置外部中断的触发方式ITx(x=0,1),使其为电平触发方式,主程序中实现发光二极管的流水灯功能,中断程序中实现数码管显示程序。