单片机应用实验指导书-实验2
- 格式:doc
- 大小:87.50 KB
- 文档页数:4
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, #200DE1: MOV R6, #XDE2: DJNZ R6, DE2DJNZ 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五、实验电路66图1-1 题目1 图1-2 题目2 六、实验步骤:(1) 先通过MS-DOS 方式进入DOS ,然后键入E:<回车>,再键入CD\MCS51<回车>,进入MCS51文件夹。
单片机原理及应用实验指导书罗钧付丽编重庆大学光电工程学院2010年5月目录实验规则 (2实验一单片机监控程序实验(4学时 (3 附1.1:LAB2000P实验仪 (9附1.2:验证实验程序 (10附1.3:K EIL的使用步骤参考 (17实验二 A/D转换实验 (3学时 (21附2.1:验证实验程序 (24实验三 D/A转换实验 (2学时 (25附3.1:DA转换实验程序 (27实验四单片机系统综合实验( 3学时 (28附4.1:实验仪中的温度传感器电路 (30附4.2:直流电机和步进电机控制接口电路 (31实验规则为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则:一、实验前必须充分预习,完成指定的预习内容,预习要求如下:1.认真阅读本实验指导书,分析掌握本次实验的基本原理;2.完成各实验预习要求中指定的内容;3.明确实验任务。
二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问;三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障,必须及时报告指导老师,严禁私自乱动。
四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。
五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。
六、凡有下列情况之一者,不准做实验:1.实验开始后迟到10 分钟以上者;2.实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从教育者;七、实验后,必须认真作好实验报告,在规定时间里必须交给实验指导老师,没交实验报告者,视为缺做一次实验。
实验报告要求必须包括:1.写出设计实验程序;2.总结实验步骤和实验结果;八、一次未做实验,本实验课成绩视为不及格。
以上实验规则,请同学们自觉遵守,并互相监督。
实验一单片机监控程序实验(4学时实验预习要求:1.按照附3学习使用Keil软件。
单片机原理及应用实验二报告实验二:单片机IO口的输入输出实验一、实验目的:1.理解并掌握单片机IO口的输入输出原理;2.掌握基础的输入输出编程技巧;3.熟悉单片机实验的基本流程和实验报告格式。
二、实验器材:1.STM32F103C8T6开发板2.LED灯3.电阻(220Ω)4.面包板、杜邦线等。
三、实验原理:单片机的IO口是实现与外部器件进行通信的重要接口,通过编程,我们可以控制IO口的状态(低电平或高电平)来实现对外部器件的控制或检测。
IO口的输入输出原理主要有两种:1.三态输出方式:通过设置IO口的DDR寄存器来将IO口设置为输出模式(推挽输出),并通过设置IO口的ODR寄存器来控制IO口的输出状态为低电平或高电平;2.上拉输入方式:通过设置IO口的DDR寄存器来将IO口设置为输入模式,同时设置IO口的CR寄存器的PUPD位为上拉使能,通过读取IO口的IDR寄存器可以获取IO口的输入状态。
四、实验步骤:1.连接电路:将STM32F103C8T6开发板的VDD和VSS(即5V和GND)分别连接到面包板的3V3和GND,将LED的阳极(长脚)连接到STM32F103C8T6开发板的PA0引脚,将LED的阴极(短脚)通过一个220Ω的电阻连接到GND。
2. 打开Keil uVision5软件,创建一个新的工程,并选择适合的芯片型号(STM32F103C8T6)。
3.编写代码实现将PA0引脚设置为输出模式,并控制LED的亮灭。
五、实验代码:```c#include "stm32f10x.h"void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);int main(void)GPIO_Configuration(;while (1)GPIO_SetBits(GPIOA, GPIO_Pin_0); // 点亮LEDGPIO_ResetBits(GPIOA, GPIO_Pin_0); // 关闭LED}```六、实验结果与分析:七、实验心得:本次实验主要学习了单片机IO口的输入输出原理,了解了三态输出方式和上拉输入方式,并通过实际编写代码的方式,在STM32F103C8T6开发板上实现了控制LED的亮灭。
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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.实验目的:(1)学习KEIL Uv2/Uv3集成调试环境下的编辑、编译、排错、调试方法。
(2)学习修改和观察变量的方法;综合使用单步、断点调试的方法。
2.实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号正整数,按从小到大的次序重新排列。
3.实验器材:(1)G2010+实验箱 1 台4.程序框图:6.思考问题:编一程序把50H-5AH中内容按从大到小排列。
7.软件清单:(实验例程\实验4\ASM51\EX4.ASM)(实验例程\实验4\C51\EX4.C)实验六 P1口输入输出实验1.实验目的:(1)掌握P1口作为IO口时的使用方法。
(2)理解读引脚和读锁存器的区别。
2.实验内容:P1.3脚的状态来控制P1.2的LED亮灭。
3.实验器材:(1)G2010+实验箱 1 台(2)连线若干根4.实验原理:由8051组成的单片机系统通常情况下,P0口分时复用作为地址、数据总线,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。
P1口是8位准双向口,它的每一位都可独立地定义为输入或输出,因此既可作为8位的并行I/O 口,也可作为8位的输入输出端。
当工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。
每个I/0端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以I/0端口为源操作数的指令,如MOV C,P1.3,而读锁存器指令一般为“读-修改-写”指令,如ANL P1.3,C指令,请同学们在实验中体会。
图示中,P1.2作为输出口,P1.3作为输入口。
5.接线图案:“总线插孔”框中P1.2孔连“发光二极管组”的L0孔,P1.3孔连“开关量发生器”的K0孔。
6.程序框图:7.实验步骤:(1) 编写程序实现当P1.3为低电平时,发光管高;P1.3为高电平时,发光管灭。
实验指导书单片机原理及应用邵阳学院2015年02月目录目录目录 (1)实验一流水灯实验 (3)实验二(1)计数器实验 (4)实验二(2)定时器实验 (5)实验三外部中断实验 (6)实验四键盘实验 (7)实验五AD转换实验 (9)实验六DA转换实验 (10)实验八(1)直流电动机控制实验 (12)实验八(2)步进电动机控制实验 (13)附录实验装置的使用 (15)1、电子信息工程专业从7周开始至第九周,每周二的5、6、7、8为实验课2、物联网工程专业从第7周开始至第九周,每周一的5、6节,周四的7、8节为实验课3、有笔记本的可自动笔记本来做实验验。
4、实验目的相同,实验内容自定,本实验指导书仅供参考,希望学生自行设计实验内容。
5、实验考核:每个学生都要独立完成8个实验项目,完成后请老师评价,对不合格都重做。
在实验过程中,老师只负责答疑和考核实验效果。
6、实验七要求学生在PROTEUS中完成。
实验一流水灯实验一、实验目的1.学习51的P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验说明AT89S52有32个通用的I/O口,分为P0、P1、P2、P3,每组都是8位,它们是准双向口,它作为输出口时与一般的双向口使用方法相同。
P3口也可以做第二功能口用,本实验使用P1口做输出口,控制LED三、实验内容及步骤注:实验程序放在Soundcode/MS51的文件夹中。
用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管循环点亮。
1.最小系统中插上80C51核心板,用扁平数据线连接MCU的P1口与八位逻辑电平显示模块JD3。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先“流水灯”文件夹下的“8031.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序,程序功能使发光二极管循环点亮的流水灯的效果。
实验一LED控制程序设计一、实验目的:1.掌握单片机单片机学习板和软件的使用。
2.掌握单片机程序的调试方法。
二、实验设备:单片机学习板、PC机三、实验内容:1.掌握C51程序的编辑、汇编、仿真调试的操作。
2.掌握目标程序的下载。
3.P1口输出控制LED的实验。
(1)编写控制8个LED巡回点亮的程#include<reg52.h>#define uint8 unsigned charunsigned char code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0x00,0,0x55,0x55,0xaa,0xaa};void Delayms(uint8);void main(){unsigned char i;while(1){P1=0xfe; //流水灯右循环for(i=0;i<8;i++){Delayms(100);P1 <<=1;P1 |=0x01;}}}void Delayms(uint8 Tms){uint8 i,j; for( ; Tms > 0; Tms--)for(i=5;i>0;i--)for(j=98;j>0;j--);}(2)改为流水灯效果或其他显示效果,说明方法;(3)修改延时时间并计算具体的时间;(4)自行设计LED点亮效果。
实验二数码管显示程序设计一、实验目的:1.了解七段数码显示数字的原理。
2.掌握数码管显示程序的设计。
二、实验设备:单片机学习板、PC机三、实验内容:1.在4位数码管上显示“1234”。
#include<reg52.h> //包含头文件,对IO进行定义,可以选中后右击,查看里面具体定义。
#define uint8 unsigned charsbit dula=P2^6; //段选信号的锁存器控制sbit wela=P2^7; //位选信号的锁存器控制unsigned char code value[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void Delayms(uint8);void main(){P0=value[1];dula=1;P0=0xfe;//选择第一个数码管wela=1;wela=0;Delayms(3);P0=0xff; //消除串显wela=1;wela=0;P0=value[2];dula=1;dula=0;P0=0xfd;//选择第二个数码管wela=1;wela=0;Delayms(3);P0=0xff; //消除串显wela=1;wela=0;P0=value[3];dula=1;dula=0;P0=0xfb;//选择第三个数码管wela=1;wela=0;Delayms(3);P0=0xff; //消除串显wela=1;wela=0;P0=value[4];dula=1;dula=0;wela=1;wela=0;Delayms(3);P0=0xff;wela=1;wela=0;}void Delayms(uint8 Tms){uint8 i,j;for( ; Tms > 0; Tms--)for(i=5;i>0;i--)for(j=98;j>0;j--);}“12.34”。
一般性实验实验一普通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方,用来接收和发送数据。
实验二指示灯循环控制基础实验实验名称:指示灯循环控制基础实验学时安排:2学时实验类别:综合性实验要求:必做 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的和任务1、掌握80C51单片机程序的调试与下载方法。
2、掌握80C51单片机并口的特性及程序控制方法。
二、实验原理简介80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。
ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。
STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。
本课程的全部实验只用到MCU1,其P0口用作普通I/O口,为提高I/O口的利用率,除驱动8个发光二极管外,P0口还连接有数码管、点阵管、字符液晶、行列键盘等设备。
图2-1为P0口控制8个发光管的电路结构,P0口某口线输出低电平时,相应的发光管点亮,口线输出高电平时发光管熄灭。
在做发光管相关实验时,应将实验箱上LED101~LED108发光管右上侧的拨码开关JUMP2拨到ON一侧,使发光管限流电阻公共端连接到MCU1电源正极(即Vcc端)。
三、实验设备1、PC机一台;2、ZSC-1单片机实验箱一台。
四、实验内容和步骤1、编写一段程序,用P0口作为控制端口,使发光管LED101~LED108轮流点亮。
①在Keil中编写源程序。
汇编语言参考程序如下:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A,#0FEH ;准备点亮第一只发光管NEXT: MOV P0,AACALL DELAY ;软件延时RL A ;准备点亮下一只发光管SJMP NEXT; 延时子程序DELAYDELAY: MOV R2,#5DELAY2: MOV R3,#100DELAY3: MOV R4,#100DJNZ R4,$DJNZ R3,DELAY3DJNZ R2,DELAY2RETEND②在Keil中创建工程,加入源程序文件,设置选项,进行汇编/编译、连接、转换处理,生成HEX格式的单片机程序文件。
实验2 花样跑马灯实验(仿真部分)1 实验目的学习P1口的使用方法;学习延时子程序的编写。
2 实验内容用P0口驱动8个发光二极管,任选P2口的三个引脚连接三个按钮。
实现:按钮1按下八个发光二极管循环顺序点亮,按钮2按下八个发光二极管循环逆向点亮,按钮3按下八个发光二极管循环花样点亮(花样为:先依次顺序点亮,再依次逆序点亮,接着全部点亮,闪烁两次)。
按钮未按下时八个发光二极管均不点亮。
3 实验说明要使灯闪烁,可让灯点亮,延时一段时间,然后再熄灭,延时一段时间,再次点亮,即可看到闪烁的效果。
延时程序可采用指令循环来实现。
4 参考实验电路图利用元件:AT89C51、CAP、CAP-POL、CRYSTAL、RES、BUTTON、RES16DIPS、LED-BARGRAPH-GRN,设计出如下的硬件电路。
晶振频率为12MHz。
5 参考程序框图6 参考程序代码实验2 花样跑马灯实验(选做)(实验箱部分)一、实验任务在MCU BANK3上完成:按下按钮K1时,八个流水灯循环顺序点亮;按下按钮K2时,八个流水灯循环逆向点亮;按下按钮K3时,八个流水灯循环花样点亮(花样为:先依次顺序点亮,再依次逆序点亮,接着全部点亮,闪烁两次)。
按钮松开后八个发光二极管全灭。
二、实验原理(以下为MCU BANK3内部分电路截图)1、独立按键电路2、流水灯电路3、单片机控制电路三、实验说明74HC573为8路三态锁存器,其功能为:四、实验步骤1、建立keil C51工程,注意选择CPU类型为:PHILIPS公司的P89V51RB2。
2、编辑程序,生成.HEX文件。
3、将ISP下载开关拨到“10”(表示下载到BANK3 的MCU中)。
4、运行Flash Magic软件,下载生成的.HEX文件到MCU BANK3,运行。
具体操作为:(1)设置:COM Port:COM1Baud Rate:设置波特率,9600Device:89V51RB2Interface:None(ISP)(2)勾选“Erase blocks used by HEX File”。
《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院2007.3目 录实验一 单片机开发系统的使用方法 (1)实验二 I/O口输入、输出实验 (7)实验三 定时器/计数器实验 (9)实验四 中断实验 (12)实验五 串行通讯实验 (15)附录一 逻辑分析工具 (17)附录二 系统自动检测功能 (21)实验一 单片机开发系统的使用方法一、实验目的1.学习单片机开发系统和仿真软件的使用及程序调试方法。
2.掌握汇编程序的编写方法及常用技巧。
二、单片机实验系统简介单片机的开发与应用需要借助于开发软件及硬件仿真系统进行。
在单片机应用系统的开发过程中,为了得到满足要求的用户程序,需要有一个对程序的调试过程,这项工作依靠单片机自身是无法完成的。
因为程序在机器内连续高速地运行,难以观测程序的运行情况。
此外,还需要把调试成功后的程序固化到单片机的程序存储器中,当单片机运行起来后,对整个用户样机系统的软硬件进行实时的诊断、调试。
因此需要有相应的仿真设备才能完成。
单片机实验系统LAB6000即是具有对应用程序进行输入编辑、修改等功能的设备,软硬件仿真可以实现对源程序进行编译,及程序的执行和检测。
在对目标系统的调试过程中,可以运用单步执行,设置断点执行、状态查询等功能,以达到设计目的、完成从用户程序的编写到单片机应用系统的正确运行之前的一切准备工作即仿真功能。
系统运行时,能够产生和单片机完全相同的实时信号,以实现对用户样机系统中软、硬件的故障诊断和调试。
LAB6000实验系统由硬件及软件两部分组成。
三、调试步骤(一)建立源文件并保存 双击桌面WAVE图标,进入伟福开发环境。
1、选择菜单:文件/新建文件,进入源程序编辑窗口,在此输入源程序。
如图1-1。
图 1-1选择菜单:文件/保存文件或直接点击工具栏上小磁盘图标,指定文件所要保存的位置,例如:F:\0820101文件夹,再确定文件名:sy1.ASM ,注意后缀应为 .ASM。
实验1 红黄绿灯控制1.实验目的(1)学习编译软件的使用和调试程序方法;(2)学习将用户程序下载到应用系统的方法;(3)掌握STC89C52单片机I/O端口的控制和使用方法。
2.实验设备PC机、keil编译软件、proteus仿真软件。
3.实验内容利用单片机的P1.4、P1.5、P1.6控制3个LED指示灯,模仿交通控制灯:红灯亮4秒;黄灯亮2秒;黄灯、绿灯同时亮1秒;绿灯亮3秒,如此循环。
4.实验电路实验电路原理图如下:5.参考程序实验程序流程图见右图:ORG 0000H ;程序起始地址RED EQU P1.4 ;给标号RED赋值P1.4 YELLOW EQU P1.5GREEN EQU P1.6MAIN: CLR REDSETB YELLOWSETB GREENMOV R0,#40ACALL DELAY。
;黄灯亮2s 自己编写。
;黄绿灯亮1s 自己编写。
;绿灯亮3s 自己编写DELAY: MOV A,R0MOV R7,ADEL0: MOV R6,#200DEL1: MOV R5,#250DEL2: DJNZ R5,DEL2DJNZ R6,DEL1DJNZ R7,DEL0RETEND6.实验步骤(1)根据实验原理图编写程序,用“Keil”编译软件进行编译,如未通过,修改程序,直至通过;(2)用STC-ISP。
EXE软件将所编程序的“.hex”代码下载到实验板的STC89C52芯片中;(3)运行程序,观察实验板中三个LED(红黄绿)灯点亮的次序和时间是否按要求发生变换,如果不符合要求,改写程序,直至成功。
7.思考题(1)怎样计算延时子程序的时间?(2)如何计算与LED连接的电阻的阻值?(3)如何用89C52的I/O端口控制继电器,画出电路原理图。
实验2 键盘、LED数码管显示实验1.实验目的掌握独立键盘、LED数码管的电路连接和编程方法。
2.实验设备单片机实验板、PC机、Keil编译软件、STC-ISP.EXE程序下载软件。
《单片机应用技术》实验指导书向玲编写华北电力大学机械工程系机械电子工程教研室2010年 10月目录实验说明 (1)实验一单片机基本操作实验学时:2 (2)实验二单片机程序设计实验学时:2 (3)实验三 P1口输入输出实验学时:2 (4)实验四信号灯中断定时控制实验学时:2 (6)实验说明单片机实验要求学生熟练掌握51单片机的指令系统,掌握汇编语言的编程方法。
在熟悉MCS-51单片机硬件结构的同时,能掌握单片机的基本输入输出口、定时器/计数器和外部中断技术的使用及编程方法。
其实验内容和学时分配安排如下:实验一单片机基本操作实验(2学时):要求学生熟悉51单片机的指令和熟悉实验系统。
实验二单片机程序设计实验(2学时):进一步熟悉单片机的指令系统;掌握程序设计的方法。
实验三 P1口输入输出实验(2学时):熟悉P1口输入输出的原理和使用;掌握P1口输入输出的编程方法;掌握软件延时子程序的的编程方法。
实验四信号灯中断定时控制实验(综合性实验 2学时):掌握中断的基本使用方法及中断处理程序的编程技巧;掌握定时器的使用方法;结合信号灯用定时器和中断的方法实现循环点亮控制。
实验一单片机基本操作实验学时:2一、实验设备1.D70和D70-1单片机技术实验挂箱或伟福Lab2000P单片机仿真实验系统2.PC机一台二、实验目的1.熟悉51单片机的寻址方式和指令系统。
2.熟悉D70和D70-1单片机实验系统或伟福Lab2000P单片机仿真实验系统。
三、实验内容编写熟悉指令系统的程序。
四、实验步骤1.用串行数据通信线连接好计算机与仿真器。
2.打开仿真软件,建立本实验的源程序,进行编译,直到编译无误。
3.进行仿真软件设置,选择对应的选项。
4.可单步执行程序,观察程序执行过程和结果。
五、填写实验报告书1.要求写出仿真环境的基本使用方法。
2.写出实验源程序和程序执行结果。
实验二单片机程序设计实验学时:2一、实验设备1.D70和D70-1单片机技术实验挂箱或伟福Lab2000P单片机仿真实验系统2.PC机一台二、实验目的1.掌握数据传送程序的设计方法。
《单片机原理与应用》实验指导书目录实验一无符号双字节乘法运算子程序实验二BCD码与ASCII码转换实验三P1口实验实验四定时器实验—循环彩灯实验实验五数码显示实验实验六A/D转换实验实验一无符号双字节乘法运算子程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:(1)在(R2R3)和(R6R7)中输入双字节无符号整数。
(2)将(R2R3)和(R6R7)中双字节无符号整数相乘,积存入R2R3R4R5中。
(3)连续或单步运行所编程序。
检查R2R3R4R5中的内容是正确。
四、实验原理:R6 R7⨯R2 R3R4 R5B AB AB A(B)→R2 (B+B+A) →R3 (R4+A+A) →R4 R5五、实验调试1、打开Keil,新建Keil项目;2、选择CPU类型为A TMEL中的AT89C52单片机;3、根据流程图新建汇编源程序(*.asm),并保存;4、在项目管理器窗口(project windows)中,将新建的ASM源程序添加到“source group 1”中;5、在Keil中选择“project”->“build target”菜单,编译汇编源程序,如有错,修改后重新编译;6、选择“debug”->“start/stop debug session”菜单,进入程序调试环境;7、按“F11”键,单步运行程序,观察“project windows”中,寄存器R0~R7的变化情况,最后验证R2R3R4R5无符号双字节相差的结果是否正确(可和程序/附件计算器的相乘结果对比)。
六、参考程序实验二 BCD码与ASCII码转换程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:将本人的班号学号以压缩的BCD码的形式由低到高存放在50H开始的单元中,如10050941班,学号为01的同学,将10→50H、05→51H、09→52H、41→53H、01→54H。
实验一单片机最小系统设计一、实验目的:1、学习单片机时钟电路设计;2、学习单片机复位电路设计;3、学习单片机I/O口输出控制;4、学习keil编译软件的应用5、学习Proteus仿真软件的应用6、学习延时子程序设计。
二、实验任务1、设计单片机最小系统;2、利用单片机最小系统控制发光二极管秒周期闪烁。
三、实验仪器PC一台、keil编译软件、Proteus 仿真软件四、实验说明单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统.1、系统时钟电路单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,系统时钟电路结构如图2所示,可以根据情况选择6MHz、8MHz或12MHz等频率的石英晶体,补偿电容通常选择20-30pF左右的瓷片电容。
图1 系统时钟电路2、复位电路单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
复位电路结构如图3所示。
上电自动复位通过电容C3充电来实现。
手动按键复位是通过按键将电阻R2与VCC接通来实现。
图2 复位电路3、延时子程序设计单片机延时程序可以采用延时子程序和定时中断完成,定时中断延时不会占用CPU时间,将在后续章节介绍,延时子程序主要采用CPU运行指令占用时间而得到,通常采用循环指令编写,本例中单片机晶振为12MHz,因此机器周期为1µs,0.05s程序如下:DLYHS:MOV R5,#1 ;置外循环次数DLY0:MOV R6,#100 ;置中循环次数DLY1:MOV R7,#250 ;置内循环次数DLY2:DJNZ R7,DLY2 ;2机周×250×1µs=0.5msDJNZ R6,DLY1 ;0.5ms × 100=0.05sDJNZ R5,DLY0 ;0.05ms × 1=0.05sRET五、实验说明1、根据单片机最小系统定义,设计单片机最小系统设计,并设计单片机控制发光二极管电路;2、编程并调试,实现对发光二极管循环闪烁;3、编写500ms延时子程序,并于主程序中调用,完成对时间周期的控制。
目录实验一开发板的基本操作与应用软件的使用 (1)实验二指令系统实验 (4)实验三汇编程序设计实验 (7)实验四键盘显示实验 (9)实验五外部中断实验 (11)实验六定时/计数器实验 (13)实验七串行口通信实验 (16)实验八模数、数模转换实验 (17)实验一开发板的基本操作与应用软件的使用一、实验目的(1)了解并熟悉开发板软、硬件,掌握开发板的基本操作;(2)重点掌握程序下载方法以及Keil C软件的使用;(3)掌握在开发板上调试程序的方法。
二、实验内容(1)开发板使用说明1.软件下载:打开STC-ISP软件,按照下图设置好对应的参数,将要下载的文件加载到软件当中,点击DownLoad,再出现“仍在连接中。
”,这时给开发板上电,几秒钟将程序下载到MCU中,下载完成后程序运行。
下图为下载完成后的图示。
2硬件结构说明:ISP下载口,实验开发板上开放出的ISP下载接口,可以兼容AT系列单片机下载功能,用户可以根据自己的需要制作下载器,或用同样线序的下载器下载。
本实验配备的是STC系列下载电路及下载线。
实验板供电部分:实验板采用了典型取电模式USB供电,而且提供了外接电源接口。
用户可以根据自己需要选择电源的供电。
3流水灯连接电路注意跳线J9-LED发光二极管供电,其中蜂鸣器共用P10口。
低电平时LED点亮,高电平时LED熄灭。
(2)流水灯实验程序内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果汇编语言:ORG 0000HMOV P1,#0FFHMOV A,#0FEHNEXT: MOV P1,AACALL DEYRL ASJMP NEXTDEY: MOV R3,#00H ;延时子程序LOOP: MOV R4,#00HDJNZ R4,$DJNZ R3,LOOPRETENDC语言编程:#include<reg52.h>void delay(unsigned int cnt){while(--cnt);}main(){P1=0xfe; //给初始化值换算成二进制是1111 1110 while(1) { delay(30000);//延时程序P1<<=1; //左移一位该语句等效于 P1=P1<<1P1|=0x01; //最后一位补1,该语句等效于 P1=P1|0x01 符号"|"表示"或"if(P1==0x7f) //检测是否移到最左端?"=="表示检测符号2端的值是否相等 {delay(30000);P1=0xfe; //重新赋值}}}三、主要实验仪器(1)单片机开发板、(2)安装有Keil软件的计算机实验二指令系统实验一、实验目的(1)掌握单片机的寻址方式;(2)掌握传送类指令的使用;(3) 掌握算数逻辑运算类指令的使用;(4)掌握跳转类指令的使用;(5)掌握位操作指令的使用。
江西理工大学《单片机原理及应用》课程实验指导书主审人:主撰人:前言单片机技术作为计算机技术的一个重要分支,广泛用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有集成度高、性能价格比优越、货源充足等优点。
因此,越来越受到工程技术人员重视,目前国内中高等学校电力技术、电气自动化、自动控制、电子技术等均开设了此课程。
目录第一部分绪论第二部分基本实验指导实验一单片机及其开发系统入门实验二单片机I/O口控制实验实验三外部中断实验实验四定时/计数器实验实验五蜂鸣器驱动实验实验六串转并的I/O口实验实验七 8x8LED扫描输出实验实验八基于C51单片机综合程序设计实验九并转串的I/O口实验实验十 RS232串行口通信实验实验十一并行的模数转换实验实验十二并行的数模转换实验附录实验仪硬件结构第一部分绪论本实验指导书是根据《单片机原理及应用》课程实验教学大纲编写,适用于电气工程及自动化、自动化专业。
一、本课程实验的作用与任务《单片机原理及应用》实验是单片机学习过程中必不可少的重要实践环节。
通过实验和设计,让学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念,使学生在分析问题和解决问题等方面受到系统科学的训练,从而提高学生理论联系实际能力、自主动手能力和创新能力。
二、本课程实验的基础知识本课程要求学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念。
学生在学习这门课程之前,必须掌握《模拟电子技术》、《数字电路》、《微机原理及应用》、《C语言程序设计》等课程相关内容。
三、本课程实验教学项目及要求第二部分基本实验指导实验一单片机及其开发系统入门一. 实验目的熟悉 Keil C51集成开发环境的使用方法。
二.实验原理利用单片机的P1口控制发光二极管,进行Keil C51集成开发环境的仿真调试练习。
实验二指示灯循环控制基础实验
实验名称:指示灯循环控制基础实验学时安排:2学时
实验类别:综合性实验要求:必做
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一、实验目的和任务
1、掌握80C51单片机程序的调试与下载方法。
2、掌握80C51单片机并口的特性及程序控制方法。
二、实验原理简介
80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。
ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。
STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。
本课程的全部实验只用到MCU1,其P0口用作普通I/O口,为提高I/O口的利用率,除驱动8个发光二极管外,P0口还连接有数码管、点阵管、字符液晶、行列键盘等设备。
图2-1为P0口控制8个发光管的电路结构,P0口某口线输出低电平时,相应的发光管点亮,口线输出高电平时发光管熄灭。
在做发光管相关实验时,应将实验箱上LED101~LED108发光管右上侧的拨码开关JUMP2拨到ON一侧,使发光管限流电阻公共端连接到MCU1电源正极(即Vcc端)。
三、实验设备
1、PC机一台;
2、ZSC-1单片机实验箱一台。
四、实验内容和步骤
1、编写一段程序,用P0口作为控制端口,使发光管LED101~LED108轮流点亮。
①在Keil中编写源程序。
汇编语言参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV A,#0FEH ;准备点亮第一只发光管
NEXT: MOV P0,A
ACALL DELAY ;软件延时
RL A ;准备点亮下一只发光管
SJMP NEXT
; 延时子程序DELAY
DELAY: MOV R2,#5
DELAY2: MOV R3,#100
DELAY3: MOV R4,#100
DJNZ R4,$
DJNZ R3,DELAY3
DJNZ R2,DELAY2
RET
END
②在Keil中创建工程,加入源程序文件,设置选项,进行汇编/编译、连接、转换处
理,生成HEX格式的单片机程序文件。
③用串行电缆连接实验箱和PC机的RS232串口,运行PC机上的STC_ISP_V483.exe,进
行程序下载。
具体步骤:
a.在STC_ISP_V483主界面选择MCU型号为STC12C5A60S2,打开②中生成的HEX格式程
序文件,选择COM1串口,设置最高波特率为38400bps;
b.将实验箱电源电路中的总电源开关拨到左侧位置,使主电源接通,将MCU1电源开
关拨到下方位置,使1#单片机断电;
C.点击STC_ISP_V483主界面中的下载按钮,约等待5s,待系统提示“请给MCU上电”
时再将MCU1电源开关拨到上方位置,使1#单片机通电,开始下载程序,数秒后下
载结束,写入单片机Flash存储器中的程序自动开始运行。
④观察LED显示效果,若与要求的效果不同,或者想试验其它效果,就需要修改源程
序,重新进行汇编/编译、连接、转换处理,生成最新HEX文件,再按③中介绍的步
骤下载和运行最新程序。
2、用C语言编写发光管控制程序,实现相同功能。
实验步骤同上,参考程序如下:
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay_ms(uint);
uchar LedCtrl;
main()
{ LedCtrl=0xfe;
while(1)
{ P0=LedCtrl;
delay_ms(1000);
LedCtrl=_crol_(LedCtrl,1); //_crol_函数的功能?
}
}
void delay_ms(uint x) //以毫秒为单位的软件延时函数{
uint i,j;
for (i=x; i>0; i--)
for (j=114; j>0;j--);
}
五、注意事项和要求
1、注意程序的完整性、正确性和逻辑性,对出现的语法和逻辑错误要认真分析原因。
2、STC12C5A60S2单片机的CPU采用了优化的内部时钟电路,程序运行速度比传统80C51
单片机快了8-12倍,因此程序中控制软件延时的循环变量的取值要相应增大,具体
取值可通过多次试验后确定。
3、程序下载前,也可利用Keil进行软件模拟调试,以便于观察各寄存器、内存单元以
及P0口的变化情况。
六、作业及预习要求
1、分析各参考程序的结构和功能,对其中的主要语句进行注释。
2、自行编写步骤3的汇编或C语言程序。
3、自己设想一种由更多LED组成的花样控制图案,绘出电路图,并编程实现(选做)。
七、参考书目
1.林立,单片机原理及应用-基于Proteus和Keil C,北京:电子工业出版社,2013.1.
2.周立功,单片机实验与实践,北京:北京航空航天大学出版社,2004.8.。