单片机实验分析指导书
- 格式:doc
- 大小:537.02 KB
- 文档页数:20
第3章MCS-51单片机内部资源应用实验3.1 MCS-51并行口实验一、实验目的1.学习KEIL软件的程序调试方法。
2.学会KEIL C程序设计及调试,重点学会预处理命令、数据类型的定义。
二、实验内容1.单片机P2口的P20和P21各接一个开关K1、K2,P34、P35、P36和P37各接一只发光二极管。
由K1和K2的不同状态来确定发光二极管的点亮。
K2 K1 亮的二极管0 0 L10 1 L21 0 L31 1 L42.设计一个二进制加1计数器,按一次键,加1,并用4个LED显示计数结果,加至16时清零重新计数。
三、实验步骤1.设计实验电路,画出电路原理图2.按照KEIL软件的使用步骤,建立工程。
3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。
4.用STC-ISP下载软件下载HEX文件到单片机系统。
5.运行、调试程序,观察实验结果。
四、实验参考电路及参考程序1.实验1#include<reg51.h>sbit k1 = P2^0;sbit k2 = P2^1;void main(){while(1){if(k1 == 0&k2 == 0){P3 = 0xef;}if(k1 == 1&k2 == 0){P3 = 0xdf;}if(k1 == 0&k2 == 1){P3 = 0xbf;}if(k1 == 1&k2 == 1){P3 = 0x7f;}}}2.实验2#include<reg52.h>sbit key = P3^2;unsigned char a ;unsigned char count = 0;void delay(unsigned int xms){unsigned int i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}void main(){while(1){if( key==0 ){delay(10);if( key==0){count++;while(!key);if( count==16)count = 0;a = count;a = a<<4;a = ~a;P3 = a;}}}}五、思考题1.设计一个二进制减1计数器,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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.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学习板接口说明:(1). 接口说明(2). 跳针(短路块)说明:2. AVR Studio使用环境简介(1). 安装方式:双击安装文件A VR Studio V4.13 b528.exe,见到如下安装界面:图1.2.1 安装界面点击Next,选择I accept the terms of the license agreement 这个选项,继续点击Next。
ADuC831/MCS-51单片机实验实验一 BCD码加法实验一、实验要求利用子程序实现压缩BCD码的加法运算,通过循环多次调用子程序实现多字节BCD码的加法运算。
二、实验目的熟悉并掌握ADuC831/MCS-51单片机开发系统的使用,掌握BCD码的加法和子程序的编程方法。
三、实验说明编写程序,实现多字节BCD码的加法运算。
四、实验电路连线此实验不需要连线。
实验二输入/输出接口实验一、实验要求编写程序,使得八位发光二极管的亮灭变化与八位拨动开关的状态相一致。
二、实验目的掌握总线方式输入输出口的编程方法。
三、实验说明读入八位拨动开关的状态值,输出到八个二极管。
四、实验电路连线此实验不需要连线。
五、程序框图实验三外部中断实验一、实验要求编写程序,使其可以响应外部中断源产生的中断触发信号,并在对应的中断服务子程序中点亮/熄灭一个发光二极管作为观察现象。
二、实验目的1.学习外部中断技术的基本使用方法。
2.学习中断处理程序的编程方法。
三、实验说明1.中断服务程序的关键是:1).保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2).必须在中断程序中设定是否允许中断重入,即设置EX0位。
另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。
2.实验可使用INT0中断,并采用边沿触发方式。
3.实验可使用单脉冲输出或脉冲边沿输出申请中断,可用逻辑笔显示中断处理结果。
四、实验电路连线实验中将P3.2(INT0)扩展插孔与单脉冲输出插孔相连,P3.4(用于驱动发光二极管亮灭)扩展插孔与逻辑笔输入插孔相连。
五、程序框图实验四定时器实验一、实验要求编写程序,使用单片机的内部定时器中断方式,实现一秒钟输出状态反转一次。
二、实验目的1.学习MCS-51单片机内部定时器的使用和编程方法。
2.进一步掌握中断处理程序的编程方法。
三、实验说明1. 内部计数/定时器的编程主要是定时常数的设置和有关控制寄存器的设置。
实验一数制转换实验一、实验目的:(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文件,在程序窗口中输入已编好的程序,保存。
实验指导书单片机原理及应用邵阳学院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、全速运行程序,程序功能使发光二极管循环点亮的流水灯的效果。
一般性实验实验一普通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方,用来接收和发送数据。
MCS51 单片机实验指导书————————————————————————————————作者:————————————————————————————————日期:2- 1 -第一章 实验系统结构和功能1。
1 实验系统结构和组成整个实验系统是单板结构,由两大部分构成:一部分是以MCS-51系列单片机中的8031为核心器件,扩展64K 字节的27512 EPROM 芯片作为系统监控程序存储器和32K 数据存储器(62256)作为仿真RAM;通过扩展一片8155控制6只8段显示LED 数码管作为输出设备和32个按键作为输入设备。
另一部分是各种基本的常用外围接口器件:包括用一片8255控制的EPROM 编程器、8253定时器/计数器电路、A/D 转换器ADC 0809、D/A 转换器DAC 0832、由74LS393构成的计数器电路、单脉冲输出电路(可产生正脉冲或负脉冲)、外置8 MHz 的振荡器电路、用运放LM386驱动的小扬声器、用74LS138构成的地址译码电路、带有驱动电路的小步进马达、12只带有驱动电路的发光二极管和8只逻辑电平开关等。
这些接口器件都有相应插孔可根据需要与核心部分相连。
这是一种开发型的单片机系统,通过RS-232C 串行口与DBUG 仿真软件通信可以构成一个类似于MICE 的仿真开发系统.在仿真软件的支持下,可以提供汇编语言源程序的编辑、汇编、反汇编、加载和在线仿真运行调试程序等功能。
1。
2 实验系统功能实验系统综合了仿真器开发系统与实验学习装置的功能,可以独立利用系统上自带的键盘和LED 数码显示器工作,也可以通过RS-232C 串行口利用PC 机运行DBUG 仿真软件进行CPU 或EPROM 仿真工作,仿真功能基本上与Microtek 的MICE 仿真器相同。
系统独立工作时有如下基本功能:1. 丰富的编辑功能系统具有丰富的程序和数据编辑功能,包括程序和数据代码的输入、检查和修改,片内数据存储器(包括专用寄存器)的检查和修改,片外数据存储器的数据输入、检查和修改,地址加1检查和修改,地址减1检查和修改,插入和删除数据,数据块移动和比较等功能。
实验指导书单片机基础长春工业大学人文信息学院第一章前言ξ 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的插孔即为该脉冲的输出端。
前言《单片机原理及应用》是电子、自动化控制等相关专业的一门专业必修课,随着交通技术的不断发展,单片机在交通控制、信息等方面的应用也越来越广泛。
由于单片机实践性强,理论与实际结合紧密,传统的教学方法不能较好的适应教学的需要。
为提高教学效果,我们从最简单的实际问题出发,设计了一些由易到难,由纯软件到要求硬、软件结合,综合性较强的题目。
每个题目的内容分为两个部分:基础部分:给出源程序,要求学生在阅读分析理解的基础上,画出程序流程图,完成题目内容(包括编辑源程序、编译仿真调试、实际运行通过);提高部分:在充分掌握第1部分内容的基础上,独立编程完成功能要求更高的课题程序。
要求学生课外理解、编写提高部分的程序,上机调试通过。
我们采用提出任务——学习相关知识——解决实际问题——总结提高这样一个教学过程,使学生在解决实际问题的过程中学习提高,培养较强的实践能力。
这种从实践——理论——再回到实际的探索性的教学方法,能有效的提高学生的学习兴趣,符合人们的客观认知规律。
我们通过四章的内容来完成单片机实验课程:第一章介绍伟福硬件仿真器及其仿真软件,即程序开发环境第二章介绍实验开发板的功能、电路原理第三章程序设计从基础程序设计到应用实例设计,其中包括12个实际课题第一节开发软件的使用第二节基础程序设计一、算术运算题1.加、减法基本运算程序2.乘、除法基本程序3.二-十进制调整基本程序二、控制转移和子程序调用第三节应用实例设计一、简单单片机应用实例设计二、按钮控制发光二极管三、定时器实现流水灯控制四、MCS-51存储器系统设计五、MCS-51 I/O接口设计与应用六、串口通讯七、参考课题第四章附录部分附录一 PC与MCU串行通信的应用设计方法附录二 KEIL C51 编译器简介附录三串行接口LED数码管及键盘管理器件ZLG7289A的原理与应用第一章仿真器及仿真软件简介第一节伟福硬件仿真器简介伟福仿真器采用主机+POD(仿真头)组合的形式构成,通过更换POD,可以对各种CPU进行仿真。
目录实验一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、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
实验一、输入输出接口编程一、实验目的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种模式。
第一章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、做实验前必须预习2、带教材和实验指导书哈尔滨理工大学自动化学院自动化系实验仪的使用本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。
程序是用汇编语言来编写。
下面介绍相应的操作步骤:1、运行桌面“星研集成软件”,画面如下:2、建立源文件执行[主菜单»文件»新建],(或者点击图标)打开窗口。
选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。
对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。
比如:.ASM文件,使用A51来对它编译。
本实例文件名为xunhuan.asm 。
窗口如下:按“确定”即可。
然后即出现文件编辑窗口:输入源程序,参照实验一源程序。
1这样一个源文件就建立好了。
3.编译、连接文件首先选择一个源文件,然后可以编译、连接文件了。
对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。
编译、连接文件的方法有如下二种:(1)使用[ 主菜单»项目»编译、连接]或[主菜单»项目»重新编译、连接]”。
(2)点击图标或来“编译、连接”或“重新编译连接”。
编译、连接过程中产生的信息显示在信息窗的“建立”视中。
编译没有错误的信息如下:若有错误则出现如下信息框:有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。
这时用户可以作相应的修改,直到编译、连接文件通过。
4.调试编译、连接正确后,可以开始调试程序。
进入调试状态方法有:a)执行[ 主菜单»运行»进入调试状态]b)点击工具条的进入后的窗口如下:2在整个图片中我们可以看到相对应的窗口信息。
在“工作区窗”的“CommonRegister”中我们可以了解通用寄存器的信息。
中间的窗口为源程序窗口,用户可在此设置断点,设置光标的运行处,编辑程序等。
寄存器窗我们可以看到一些常用的寄存器的数值。
存贮窗1、存贮窗2显示相应的内部数据空间、外部数据空间的数据,还有变量窗,自动收集变量显示其中。
反汇编窗显示对程序反汇编的信息代码、机器码。
在信息窗的“装载”视中,显示装载的代码文件,装载的字节数,装载完毕后,显示启始地址,结束地址。
这种船坞化的窗口比通常的窗口显示的内容更多,移动非常方便。
用鼠标左键点住窗口左边或上方的标题条,移动鼠标,将窗口移到您认为合适的位置;将鼠标移到窗口的边上,鼠标的图标变成可变化窗口时的形状,用鼠标左键点住,移动鼠标,变化一个或一组窗口的大小。
在调试过程中,可以根据您的需要,在[主菜单»查看]中打开:寄存器窗、存贮器窗1、2、3、观察窗、变量窗、反汇编窗。
您也可以通过[主菜单»辅助»设置»格式],设置每一种窗口使用的字体、大小、颜色。
移动窗口到您喜欢的位置、大小。
首先在“种类”中选择一个窗口,然后选择“字体”、“大小”,在“颜色”中选择某一类,在“前景”、“背景”中选择您喜欢的颜色。
对于高级语言,在您的程序前有一段库文件提供的初试化代码,(当前可执行标志)不会出现在您的文件行上,如果您使用C语言,可将光标移到main函数上,按F4功能键,让CPU全速运行到main行上后停下;如果您使用PL/M语言,按F7功能键,让CPU“单步进入”,运行到您的任何一个可执行后停下。
您可以使用以下命令调试您的程序:设置或清除断点(功能键为F2)在当前光标行上设置或清除一个断点单步进入(功能键F7)单步执行当前行或当前指令,可进入函数或子程序。
SUPER ICE16、SUPER ICE51“单步进入”时,不响应中断。
3连续单步进入(功能键Ctrl + F7)连续执行“单步进入”,用鼠标点击或按任意键后,停止运行。
SUPER ICE16、SUPER ICE51“单步进入”时,不响应中断。
单步(功能键F8)单步执行当前行或当前指令,将函数或子程序作为一条指令来执行。
如果当前行中含有函数、子程序或发生中断,CPU将执行完整个函数、子程序或中断,停止于当前行或当前指令的下一有代码的行上。
SUPER ICE16、SUPER ICE51“单步”时,不响应中断。
连续单步(功能键Ctrl + F8)连续执行“单步”,用鼠标点击或按任意键后,停止运行。
SUPER ICE16、SUPER ICE51“单步”时,不响应中断。
运行到光标行(功能键F4)从当前地址开始全速运行用户程序,碰到光标行、断点或用鼠标点击,停止运行。
全速断点(功能键F9)从当前地址开始全速运行用户程序,碰到断点或用鼠标点击,停止运行。
全速运行(功能键Ctrl + F10)从当前地址开始全速运行用户程序,此时,按用户系统的复位键,CPU从头开始执行用户程序,即对于MCS51类CPU是从0开始执行;对于MCS96、MCS196类CPU是从2080H开始执行。
用鼠标点击,停止运行。
停止运行终止微机与仿真器之间通信(功能键ESC)。
注意:欲终止微机与仿真器之间通信,功能键ESC是一个很方便的键,它的效果比点击相应的图标的效果要好。
建议用户多用ESC键。
在系统运行“连续单步”或者“连续单步进入”时ESC键被禁止,这时用户可以按键盘的其他任意键停止其运行。
5.调试的方法及技巧一般来说,用户的程序或多或少的会有一些逻辑错误,我们的仿真器、实验仪和星研集成软件可以帮助用户很快的定位,很快的查出相应的错误。
一般刚刚写好的程序,在进入调试状态后,执行“单步”或者“单步进入”,我们推荐您能记住这些操作的相对应的功能键,这样您就在调试程序的过程中很方便。
在调试状态的窗口中我们可以看到很多的窗口,用户只要熟练地应用这些窗口来观察、分析数据就会很快的调试好程序,达到事半功倍的效果。
比如在刚才的调试程序中我们多次执行“单步(F8)”命令,在工作区窗口的CommonRegister视中查看通用的寄存器:我们可以观察到在本程序中所使用的一些寄存器的变化,比如累加器A、P1口的数值的变化。
我们可以看到P1口中的数值变化为:FEH(11111110B)—FDH(11111101B)—FBH(1111 1011B)—F7H(11110111B)—EFH(1110 1111B) —DFH(1101 1111B)—BFH(10111111B)—7FH(0111 1111B)—FEH(1111 1110B)很好的实现了P1口循环点亮发光二极管的功能。
对于其他的一些寄存器的数值的观察我们也可以用来分析自己的程序。
把光标移动到DELAY子程序(具体操作是:用鼠标点击DELAY,然后再点击图标,即可运行到光标行):45这时执行“连续单步(Ctrl+F7)”命令,在工作区窗口的CommonRegister 视中我们可以寄存器R5,R6,R7的数据的连续的变化。
用户可对此做专门的分析。
我们在调试时,观察工作区窗口的CommonRegister 视,就会看到尽管有A ,R4的数值在变化,但是P1的数值始终没有变化。
这样我们在调试时就会发现问题 LJMP START 应改为LJMP LOOP 。
我们也可以在软件中查看变量,查看变量有多种方法,a )鼠标移到文件窗、反汇编窗口中的变量、寄存器、内部RAM 、外部RAM 上,半秒钟后,在它们的旁边,会显示相应的值。
b )在变量窗中,“全局”显示所有的全局变量;“模块”显示所有模块级变量;“局部”显示所有当前函数中的变量;“自动”自动收集当前可执行及前二行中的所有变量、寄存器、内部RAM 、外部RAM 。
--------------------------------------------------------------------------------实验一 跑马灯实验一、实验目的与要求1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。
2、熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
二、实验设备STAR 系列实验仪一套、PC 机一台 三、实验内容P1.01P1.12P1.23P1.34P1.45P1.56P2.1(A9)22P2.2(A10)23P2.3(A11)24P2.4(A12)25P2.5(A13)26P2.6(A14)27P2.7(A15)28PSEN 29ALE/PROG30EA/Vpp 31P0.7(AD7)32P0.6(AD6)33P0.5(AD5)34P0.4(AD4)35P0.3(AD3)36P0.2(AD2)37P0.1(AD1)38P0.0(AD0)39Vcc 40P1.67P1.78RST9(RXD)P3.010(TXD)P3.111(INT0)P3.212(INT1)P3.313(T0)P3.414(T1)P3.515(WR)P3.616(RD)P3.717XTAL218XTAL119P2.0(A8)21GND 2089C52U42DS35DS36DS37DS38DS39DS40DS41VCCDS4212345678510R111510R112510R113510R114510R115510R116510R117510R118请考虑以下问题?1、运行程序前,打开变量窗;2、使用单步进入命令,运行到第六行后,运行过程中变量窗有何变化?将鼠标停留在A、SP上一秒后,出现什么?,它与变量窗使用场合的区别?3、第九行是调用延时子程序,如何进入延时子程序(使用单步进入命令)?如何将延时子程序一下子运行完毕(使用单步命令;也可以将光标移到下一行,使用运行到光标处命令;)?单步进入命令与单步命令有何区别?4、运行几次后,在第十行设置一个断点,使用全速断点命令运行几次,观察运行结果,它与运行到光标处命令有何区别?5、Delay是一个延时子程序,改变延时常数,使用全速运行命令,显示发生了什么变化?6、观察寄存器,有哪几种方法?1)在工作区窗的通用寄存器标签视中;2)变量窗3)鼠标停留在寄存器上4)观察窗5)寄存器窗实验二数据传送(RAM–>XRAM)一、实验目的熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。
熟悉MCS51汇编指令,能自己编写简单的程序,掌握数据传输的方法。
二、实验内容1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。
2、编写程序,实现内外部数据段的传送、校验。
三、程序框图数据传送程序框图7四、实验步骤在内部RAM 30H ~3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM的1000H ~100FH中的内容。
熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。