MCS-51单片机实验指导书
- 格式:doc
- 大小:444.00 KB
- 文档页数:32
第一章系统概述1.1 系统组成Dais系列单片机微机仿真实验系统的MCS-51单片机实验与仿真由管理CPU 89C52系统单元、目标CPU 8032或仿真CPU438单元、接口实验单元和稳压电源(外接或内置)组成,通过RS232C串行接口与PC微机相连,系统硬件主要内容如下:1.2 系统功能与特点(1)自带键盘、显示器,能独立运行,也可以PC机为操作平台。
两种工作方式任意选择,均全面支持《单片机原理与应用》等课程的实验教学。
(2)系统采用紧耦合多CPU技术,用89C52作为系统管理CPU,8032或仿真CPU438作为目标机仿真与实验CPU,其软硬件资源100%出借。
(3)目标CPU8032/438采用主频为6MHz,向用户提供实验方式和两种仿真方式(RAM 方式和EPROM方式)。
(4)配有一片RAM 61C256构成系统的32K程序空间,地址范围为0000H~7FFFH,还配一片61C256(32K)作为用户设置的断点区(BPRAM)。
(5)实验项目完整丰富,与课程教学紧密结合,同时配有电机、温压、音响等实验对象,可支持控制应用类综合实验。
(6)系统接口实验电路为单元电路方式,电路简捷明快,一体机的8位数据总线以排线形式引出,这样既减轻繁琐的连线工作,又提高学生的实验工作能力。
(7)通过RS232通信接口,在Windows/DOS集成软件的支持下,利用上位机丰富的软件硬件资源,实现用户程序的编辑、编译、调试运行,提高实验效率。
(8)具有最丰富的调试手段,系统全面支持硬件断点,可无限制设置断点,同时具有单步、宏单步、连续运行及无限制暂停等功能,100%保护用户现场,返回监控。
(9)自带EPROM编程器,可对2764/27128快速读出(软硬件实验所需的代码文件)。
1.3 系统资源分配实验系统寻址范围定义如下:系统已定义的I/O地址如下:第二章安装使用2.1硬件安装(1)对卡式结构的机型而言应把8032/8789CPU卡更换到主机板的CPU-SUB(36)总线接口位置。
MCS-51单片机基础综合实验板实验指导书李家庆2009年2月目录第1章实验箱功能简介1.1 实验箱外观 (1)1.2 实验箱配置 (2)1.3 仿真下载使用说明 (3)1.4 电路图 (4)第2章实验箱使用快速入门2.1 KEIL C51 简介 (5)2.2 uVision使用入门 (5)2.3 实验箱的仿真 (10)2.4 实验箱的下载 (13)第3章单片机实验3.1 基本实验 (23)实验一熟悉Keil C51开发环境 (23)实验二熟悉实验箱的仿真与下载 (26)实验三 I/O口延时实现流水灯 (27)实验四蜂鸣器驱动实验 (29)实验五定时器中断实验 (32)实验六外部中断实验 (33)实验七数码管显示123456 (34)实验八 8155扩展实验 (35)实验九 ADC0809实验 (37)实验十 DAC0832实验 (41)实验十一串口通信实验 (42)3.2 高级实验 (51)实验十二 100位计数器实验 (51)实验十三矩阵键盘实验 (53)实验十四实时时钟实验 (56)实验十五数字温度计实验 (64)实验十六 I2C总线实验 (68)实验十七单片机实钟实验 (74)注:实验书只是提供了部分参考实验,供用户初次使用时熟悉各模块电路,更多实验源代码详见光盘,另外,您也可根据自己的思路编写各种各样的实验代码,均可以非常方便的在此实验箱上运行。
其它相关资料,请参考光盘第1章 实验板功能简介1.1 单片机实验板概览实物图如图1.1所示:1.2 实验箱配置 基础板配置:1、STC89C51支持在线下载程序。
.2、8位LED 发光二极管(可做流水灯实验)。
3、4位数码管(可做动态扫描及静态显示实验)。
图1.1 单片机实验板实物图图1.2 单片机实验板功能组成4、4 *4矩阵键盘。
(也可将其中的行或列接地,将独立按键实验)。
5、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口,同时也可做为STC单片机下载程序的接口,SST单片机仿真接口)6、USB供电系统,直接插接到电脑USB口即可提供电源,此时不需另接直流电源。
目录实验实验一:WAVE软件使用实验二:常用指令的使用练习实验三:循环程序实验四:查表程序实验五:数制转换程序实验六实用子程序:(编程器的使用)实验七:输入检测与输出显示程序实验八:中断/定时程序课设一、课程设计目的和意义二、实验电路系统的结构和使用方法三、设计参考题目介绍和设计提示性思考题四、设计任务书及要求五、课程设计报告格式及要求六、考核办法七、课程设计内容及学时安排实验一:WAVE软件使用一、预习内容1、试验目的:学习WAVE软件安装和基本使用。
2、WAVE软件的安装选择WAVE文件夹下的SETUP.EXE文件并双击接着下一步最后到完成。
3、安装后写出软件窗口中工具栏中各按钮的名称。
参考说明书4、写出下面二实例各条指令的含义二、试验内容实例一指令的含义ORG 0000HMOV R0,#01HL1: MOV A,R0MOV P0,AINC R0AJMP L1END实例二ORG 0000H 指令的含义MOV R0,#01HL2: MOV A,R0MOV P2,ARL AMOV R0,ALJMP L2END1、打开WAVE见面,新建一个文件后输入实例一程序内容,并保存在我的文档名为A1.ASM ,执行编译按钮或项目菜单中的编译2、编译后,如正确扫描过去,不正确提示出错信息修改后再编译直到不提示错误为止。
3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。
4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏幕。
5、点击单步按钮或F8键进行单步操作。
6、观测CPU窗口的A、P0和数据存储器窗口R0的状态并列表1记录每循环一次下列寄存器的值。
8、新建一个文件后输入实例二程序内容,并保存在我的文档名为A2.ASM ,执行编译按钮或项目菜单中的编译三、实验报告要求1、写出上述两试验程序各条指令的含义(与预习时相比是否一致)。
2、整理表一和表二的数据,分析他们各自实现的功能。
《MCS51单片机原理及应用》实验指导书唐山学院电工电子实验教学中心年月前言一.单片机原理实验的任务单片机原理实验是单片机原理及应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计技术。
3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。
二.实验设备单片机实验所使用的设备由计算机、单片机实验开发系统(见下图0-1),其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。
图0-1 单片机原理实验设备单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。
在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。
三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的,了解内容和方法。
2.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。
3.在实验中注意观察思考,记录有关数据和程序,并由指导教师复查后才能结束实验。
4.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。
5.认真写实验报告,按规定格式写出程序流程图、程序、并分析实验结果、完成思考题等。
字迹要清楚,结论要明确。
爱护实验设备,遵守实验室纪律。
*注:本实验指导书适用于MCS51单片机原理及应用A、单片机原理及应用B等课程。
目录第一章MC51单片机原理及应用实验 (3)实验一P1口实验(验证性) (3)实验二外部中断实验(验证性) (5)实验三定时器实验 (7)实验四串行口实验--串并转换实验 (9)实验五数码显示实验 (11)实验六A/D转换实验 (13)实验七数字电子钟实验(综合性) (15)实验八D/A转换实验 (16)实验九简单I/O口扩展实验 (18)实验十步进电机实验 (20)实验十一直流电机实验 (22)实验十二PC机与单片机串行通信实验 (24)实验十三继电器与电子音响实验 (26)实验十四8255可编程并行接口实验 (28)实验十五键盘显示接口实验 (30)第二章单片机开发实验系统及TMSD调试程序 (32)第一节单片机开发实验系统 (32)第二节TMSD源语言调试程序简介 (35)第一章MCS51单片机原理及应用实验实验一P1口实验一.实验目的1.学习P1口的使用方法。
MCS-51单片机实验指导书主编陈永健编者林建华魏有法闽南理工学院实践教学中心二0一0年九月前言单片机实验是掌握编程应用的一门重要实践课程,为今后开展电子科技制作、创新设计以及研发打下坚实基础。
学习本实验课程对巩固和加深课堂教学内容,提高学生实际工作技能,培养科学作风,为学习后续课程和从事实践技术工作奠定基础具有重要作用。
为适应电子科学技术的迅猛发展和教学改革不断深入的需要,实验中心购置了新型单片机、微机接口一体化仿真实验箱,并编写了这本相应的实验指导书。
本书以《单片机原理及应用课程教学基本要求》中确定的教学实验要求为基础,包括了《单片机原理与接口技术》课程全部实验内容。
实验系统采用达爱思DAIS仿真集成开发环境、基于8032CPU的51单片机。
MCS-51单片机实验是基于汇编语言(助记符语言)的编程语言、是一门面向计算机的硬件的语言,学好本实验课程对今后学习KLC编程、VHDL、C++等高级语言打下扎实基础,为后继单片机课程的学习提供程序编程的基础。
实验内容的安排遵循由浅到深,由易到难的规律。
考虑不同层次需要,既有测试、验证的内容,也有设计、研究的内容。
实验只提供设计要求及程序思路(流程图),由学生自己完成方案选择、实验步骤及程序编写等,充分发挥学生的创造性和主动性。
在编写本书中,闽南理工学院实践中心主任李梅审阅并提出许多宝贵意见,同时得到电子教研室林建华等老师的帮助与支持。
在此表示中心感谢。
编者:陈永健 2010年9月闽南理工学院MCS-51单片机实验指导MCS-51单片机实验指导本实验指导是为适应各大专、本科院校开设单片机原理与应用方面的课程设置需要而编写,供学生编程用。
完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、程序框图和实验步骤。
免除了主讲教师和实验辅导老师为设计、准备调试实验线路和实验程序所需的工作量,节约宝贵的时间。
一、实验指导书中所列的实验程序已经固化到系统管理CPU中,在“P.”状态下,按动“0”键→再按“EV/UN”键,将程序传送到以0000H为起始地址的RAM中。
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位数的子程序,并进行调试。
目录第一部分前言 (1)第二部分调试软件LCA51快速入门 (3)1.启动运行环境 (3)2.程序编写 (5)3.程序编译 (6)4.加载 (6)5.运行 (6)第三部分实验一P1口输入、输出实验 (7)一.实验目的 (7)二.实验要求 (7)三.实验原理 (7)四.实验原理与连线 (7)五.实验程序及框图 (8)六.实验收报告 (8)实验二 P3口输出控制实验 (9)一.实验目的 (9)二.实验要求 (9)三.实验原理 (9)四.实验电路及连线 (9)五.实验框图 (10)六.实验报告 (10)实验三简单I/O实验(交通灯控制) (11)一.实验目的 (11)二.实验要求 (11)三.实验原理 (11)四.实验电路及连线 (11)五.实验框图 (12)六.实验报告 (12)实验四外部中断实验 (13)一.实验目的 (13)二.实验要求 (13)三.实验原理 (13)四.实验连线 (13)五.实验程序及框图 (13)六.实验报告 (13)实验五定时器实验 (14)一.实验目的 (14)二.实验要求 (14)三.实验原理 (14)四.实验电路及连线 (14)五.实验框图 (15)六.实验报告 (15)实验六计数器实验 (16)一.实验目的 (16)二.实验要求 (16)三.实验说明 (16)四.实验电路及连线 (16)五.实验框图 (17)六.实验报告 (17)实验七扩展存储器读写实验 (18)一.实验目的 (18)二.实验要求 (18)三.实验原理 (18)四.实验电路及连线 (18)五.实验程序框图 (18)六.实验报告 (19)实验八单片机串行口与PC机通讯实验 (20)一.实验目的 (20)二.实验要求 (20)三.实验说明 (20)四.实验电路及连线 (20)五.实验程序框图 (20)六.实验报告 (21)实验九 8255输入、输出实验 (22)一.实验目的 (22)二.实验要求 (22)三.实验原理 (22)四.实验电路及连线 (22)五.实验程序及框图 (23)六.实验报告 (23)第四部分选做实验实验十 D/A转换实验 (24)一.实验目的 (24)二.实验要求 (24)三.实验说明 (24)四.实验电路及连线 (24)五.实验程序框图 (25)六.实验报告 (25)实验十一 A/D转换实验 (26)一.实验目的 (26)二.实验要求 (26)三.实验电路及连线 (26)四.实验原理 (26)五.实验程序及框图 (27)六.实验报告 (27)第五部分附录第一节实验箱结构与安装使用 (28)一.实验箱结构图 (28)二.安装使用 (28)第二节高级语言编译器安装 (29)第三节实验箱部分电路模块与开关插座说明 (30)一.开关与插座说明 (30)二.实验模块原理图 (31)第四节汇编错误码原因说明 (33)第五节MCS51实验箱自检测方法 (33)一.实验接口模块检测 (34)二.扩展实验模块测试 (34)第一部分绪言一、课程性质、目的和任务本课程主要讲述当前国内外广泛应用的系列单片机的结构、原理、接口技术、扩展应用等知识。
51系列单片机实验系统指导书目录前言第1章下载式实验系统的使用方法1.1 软件安装与启动1.1.11.1.2 文件操作1.1.3 建立工程项目(汇编)1.1.4 调试程序第2章软件实验2.1 数据传送实验2.2 清0实验2.3 数据转换实验2.4 拆字、拼字实验2.5 散转程序实验2.6 时钟实验2.7 计数器实验2.8 无符号十进制数加法实验2.9 数据排序实验2.10 单字节BCD码除法实验2.11 查找相同个数实验第3章硬件实验3.1 P1口彩灯控制实验3.2 数码管显示实验3.3 顺序控制实验3.4 8031和8155接口扩展与数码管显示实验3.5 键盘、数码管显示综合实验3.6 A/D转换实验3.7 D/A转换实验3.8 A/D与D/A转换综合实验第4章89C51系列实验4.1 顺序控制实验4.2 数码管显示实验4.3 键盘、数码管显示综合实验4.4 A/D转换实验4.5 D/A转换实验第1章下载式实验系统的使用方法1.1 软件安装与启动下载式实验系统,是一套既可脱离硬件仿真又可与实验系统联机仿真的实验装置,对于硬件实验,只要将软件调试好后就可将程序用串行口直接在线写入芯片,再不必象以前那样要专用的编程器来固化程序。
1.1.1 软件安装1. 为使QTH 调试器能够正常运行,您必须提供以下软硬件环境:586 以上的PC 及兼容机;100M 以上的剩余硬盘空间;分辨率为800×600 以上的显示器;具有SPP功能的打印机接口;使用符合Intel 标准的汇编器、编译器和连接器。
如Franklin/Keil V3.2 或keil V6.02 及以上版本。
2.使用:单击开始/程序,在程序条中选QTH2008XS下载式单片机实验仪V2004.1或直接双击桌面上QTH-2008XS 快捷图标。
图1-1连机出错提示框如果已经连接仿真器或实验仪,则直接进入 QTH 调试器窗口。
如果没有连接仿真器,等一下屏幕上会出现图1-1所示的连机出错提示框:可以选择是否进入模拟调试:“是”——进入调试;“否”——请检查并使仿真器正常工作后,再按调试菜单上的复位钮,进入仿真调试。
实验一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”。
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检查和修改,插入和删除数据,数据块移动和比较等功能。
MCS-51单片机实验指导书黄惟公邓成中编写西华大学机械工程与自动化系机械电子工程教研室目录单片机实验板原理图与零件布置图---------------------------2 说明---------------------------------------------------------------------5 实验1 红绿灯控制--------------------------------------------6 实验2 LED显示-----------------------------------------------9 实验3 键盘的应用-------------------------------------------11 实验4 定时、中断的应用---------------------------------13 四位LED显示参考程序--------------------------------15 实验5 计数器实验-------------------------------------------18 实验6 A/D转换器-------------------------------------------19 实验7 D/A转换器-------------------------------------------24 实验8 PC机与单片机的串行通讯实验----------------26 附:ISP下载程序使用说明--------------------------------29 MedWin集成开发环境用户手册-----------------------33-74 Practice is a best way to learnig “实践”是学习单片机的最好方法。
说明1 每次实验学生必须进行预习。
2 实验提供的参考程序只是为学生提供了一个参考样本,学生必须按实验报告的要求完成的思考题中的有关实验。
3 有条件的同学可以完成所有思考题中要求的实验。
4 西华大学的网站上有所有本实验需要使用的软件下载。
5 对本实验装置有兴趣,希望自己制作的同学,可与有关老师联系。
实验1 红绿灯控制实验目的:初步学习如何用开发系统调试程序。
了解89C51单片机I/O端口的结构特点。
掌握89C51单片机I/O端口的控制和使用方法。
相关知识:89C51单片机的P0~P3四个端口均可为通用I/O口使用。
89C51单片机的P0~P3端口,输入数据可以缓冲,输出时能够锁存,并具有一定的带负载能力。
实验要求:利用单片机的P1.3、P1.4、P3.3控制3个LED指示灯,模仿交通控制灯。
红灯亮4秒;黄灯亮2秒;黄灯、绿灯同时亮1秒;绿灯亮4秒,如此循环。
电路:电路图见“图1 单片机实验板原理图”有关部分。
参考程序清单:ORG 0000HAJMP MAINORG 0030HMAIN: CLR P1.3 ;红灯亮4秒SETB P1.4SETB P3.3MOV R0, #40LCALL DELAYSETB P1.3 ;黄灯亮2秒CLR P1.4SETB P3.3MOV R0, #20LCALL DELAYCLR P1.4 ;黄绿灯亮1秒CLR P3.3SETB P1.3MOV R0, #10LCALL DELAYSETB P3.3 ;绿灯亮4秒MOV R0, #40LCALL DELAYAJMP MAIN ;循环DELAY: MOV A, R0MOV R5, A;延时程序,(R0)=10 延时1秒DELAY3:MOV R6,#211DELAY2:MOV R7,#00HDELAY1:DJNZ R7,DELAY1DJNZ R6,DELAY2DJNZ R5,DELAY3RETEND操作步骤:(参考MedWin仿真软件简介)①编辑程序:按参考程序输入并命名为led1.Asm ;汇编程序并装入,如出现标点符号方面或语法错误,编辑、修改并“产生代码并装入”后,结果如下图所示:②仿真(软件)调试;◆“查看”→“寄存器”以及“特殊功能寄存器”→“调试”→“单步”观察每一步运行后,寄存器的变化是否与预期一致。
每当运行到DELA Y时注意观察“特殊功能寄存器”中的P1.3、P1.4、P3.3是否为程序编写时所预期的结果,若是,则证明本程序正确。
◆也可以利用断点功能来调试程序,在DELAY和RET指令前单击设置两个断点→“全速运行”。
结果:“全速运行”一次,PC指针停留在第一个断点处(用断点调试程序的方法很重要);再“全速运行”,PC指针停留在第二个断点处:继续下去,则交替停留在两个断点处。
这表明程序按要求执行到了延时子程序。
②下载程序后调试。
将仿真器与计算机通过打印机并行口连接好。
按ISP说明书的要求将程序下载到用户板上。
这样,程序就会真正在用户的硬件系统中运行,其运行状况正确与否一目了然。
程序调试的方法有很多,并且不同的情况会有不同的调试手段,惟有在实战中不断积累经验,才能熟中生巧,缩短程序开发的时间周期,产生更大的效益。
思考题:1.怎样计算延时子程序的时间?2.如何计算与LED连接的电阻的阻值?3.画出单片机实验板、开发系统、PC机之间的连接框图。
4.如何用89C51的I/O端口控制继电器,画出电路原理图。
实验报告:画出本实验相关的原理图。
回答思考题中1、3、4题,选作第2题。
对本次实验有何建议和感想?实验2 LED显示实验目的:了解八段码LED的显示原理。
掌握单片机控制LED显示器的编程方法。
相关知识:1.八段LED数码LED显示器件分为共阴极与共阳极两种,其显示原理与引脚分布见教材的有关部分。
2.为了在LED上显示字母和数字,必须根据LED与CPU的连接方法,事先计算出LED的显示“段码”,通过软件译码来实现。
实验要求:循环显示0~9十位数字,时间间隔为1秒。
电路:电路图见“图1 单片机实验板原理图”有关部分。
参考程序:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P2, #00H ; 使左边LED不显示(黑)SETB P2.7 ;用右边LED显示HERE: MOV R0, #00HMOV R1, #0AHLP: MOV A, R0MOV DPTR, # TAB ;0~9段码表的首地址,MOVC A, @A+DPTR ;查表指令MOV P0,ALCALL DELAY;延时1秒INC R0 ;显示内容加1DJNZ R1, LP ;判断0~9是否显示完了AJMP HERE ;循环DELAY: MOV R5, #10 ;延时1秒子程序DELAY3: MOV R6, #211DELAY2: MOV R7, #00DELAY1: DJNZ R7, DELAY1DJNZ R6, DELAY2DJNZ R5, DELAY3RETORG 0100HTAB: DB 88H, 0BBH, 4AH, 2AH, 39HDB 2CH, 0CH, 0BAH, 08H, 28HEND思考题:1.段码与那些因素有关,写出本实验中A、B、C、D、E、F、P的段码。
2.将本实验程序改写成显示0~99。
实验报告:画出本实验相关的原理图。
回答思考题。
对本次实验有何建议和感想?实验3 键盘的应用实验目的:掌握独立键盘的电路连接和编程方法。
相关知识:独立键盘的原理,防止键盘的抖动。
实验要求:1.按KEY1,只有红灯亮;按KEY2,只有黄灯亮;按KEY3,只有绿灯亮。
2.LED显示0,每按KEY1一次,LED显示加1,至9后,再循环从0显示到9。
电路:电路图见“图1 单片机实验板原理图”有关部分。
参考程序(按KEY1,只有红灯亮;按KEY2,只有黄灯亮;按KEY3,只有绿灯亮):ORG 0000HAJMP KEY1ORG 0030HKEY1: SETB P2.2 ;将P2.2置1JB P2.2, KEY1 ;有键按下P2.2=0KEY11: ACALL DELAY;延时,防止抖动SETB P2.2JNB P2.2, KEY11 ;键是否释放CLR P1.3 ;红灯亮SETB P1.4 ;黄灯黑SETB P3.3 ;绿灯黑KEY2: SETB P2.1JB P2.1, KEY2KEY22: ACALL DELAYSETB P2.1JNB P2.1, KEY22SETB P1.3CLR P1.4SETB P3.3KEY3: SETB P2.0JB P2.0, KEY3KEY33: ACALL DELAYSETB P2.0JNB P2.0, KEY33SETB P1.3SETB P1.4CLR P3.3AJMP KEY1DELAY:请自己编写END思考题:1.参考程序在运行时必须依次按键,如何改为按LED对应的键,使对应的LED点亮?2.用实验板左边的键实现按键中断,每按键一次,LED加1, 从0~9循环,如何实现?请编程实现。
实验报告:画出本实验相关的原理图。
写出调试通过的LED显示0,每按KEY1一次,LED显示加1,至9后,再循环从0显示到9的程序,并加相关注释。
思考题2的调试程序。
对本次实验有何建议和感想?实验4 用中断实现LED显示实验目的:掌握定时器的使用方法。
掌握中断的使用方法。
实验要求:利用定时器和中断方式,做一个显示0~9的秒钟。
电路:电路图见“图1 单片机实验板原理图”有关部分。
编程思想:用定时器T0,方式1,产生每隔1/150秒的中断,在中断服务程序中计算中断的次数,产生150次中断为1秒,并进行显示。
参考程序清单:LED_1 EQU P2.5LED_2 EQU P2.7ORG 0000HAJMP MAINORG 000BH ;T0中断服务程序入口LJMP INTR0ORG 0030HMAIN: MOV R0, #00HMOV R2, #150CLR LED_1SETB LED_2MOV TMOD,#01H ;T0定时,工作方式1MOV TH0,#0DEH ;T0计数初值MOV TL0,#0E0HSETB EASETB ET0SETB TR0AJMP $ ;等待到中断INTR0: MOV TH0, #0DEH ;T0重赋初值MOV TL0, #0E0HMOV DPTR, #TAB ;查表显示MOV A, R0MOVC A, @A+DPTRMOV P0, ADJNZ R2, LP ;中断150次为1秒MOV R2, #150INC R0CJNE R0, #0AH, LPMOV R0, #00H ; 跳回循环LP: RETIORG 0200HTAB:DB 88H, 0BBH, 4AH, 2AH, 39HDB 2CH, 0CH, 0BAH, 08H, 28HEND实验报告:1.画出本实验相关的原理图。