实验(8课时用)单片机实验指导书
单片机实验指导书
目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
单片机实验指导书
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
单片机实验指导书
单片机原理与应用实验指导书九江学院电子工程学院2007年9月第一章单片机实验的基本要求与方法一、实验目的学习并掌握单片机的基本结构及接口设计方法,学习汇编语言程序设计的基本方法和技能。
二、实验要求1、上机前要做好充分准备,明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。
做好实验前预习和必要的准备,如画好程序流程图,编好程序,做到准备充分。
2. 进入实验室后,熟悉所用的单片机实验开发系统及仪器设备,了解其外观、性能。
接线要正确、简单明了,接线完成后检查一遍,经老师复查允许后才可通电。
通电瞬间,应注意仪器和实验装置是否正常工作,如有不正常现象,应立即断电查找原因,直至故障排除后,实验方可继续进行。
3. 实验进行时,按规定步骤进行,经过反复修改调试,达到设计功能后,读取数据,并及时纪录。
4. 实验完成后,经老师验收合格,并把仪器、导线、工具整理完毕后,学生方可离开实验室。
三、实验方法本课程所用的实验板采用在系统可编程方式下载程序,具体操作过程参考第三章。
四、实验报告内容和要求1. 实验报告要用学校统一印发的实验报告纸。
2. 实验报告内容应包括:实验名称、器材、目的、原理、步骤、结果及分析、流程图、程序清单。
3. 实验报告中实验原理图(含电路图和时序图)要准确无误。
4. 实验报告中程序清单要求调试并运行正确无误,要有中文注释。
5.每个实验后的实验结果分析和心得体会必须独立完成,对实验中发现的问题应加以讨论,并提出自己的改进意见和要求。
6.实验报告写完后统一交到学习委员处,按学号排列装订成册,然后交到老师处。
第二章 V6实验板简介本课程所用单片机实验板,可用于MCS-51系列单片机的仿真开发和《单片机原理与应用》课程的教学实验,具有电路简单,小巧便携,支持在系统可编程技术,简便易用等特点。
适合单片机初学者使用。
图2-1一、可开设实验1、wave仿真软件的应用2、用isplay实现在系统可编程3、流水灯4、动态显示程序5、中断响应程序设计6、定时/计数器的应用:测量脉冲宽度、倒计时器、带闪动的动态显示7、键盘接口程序设计:计时系统、抢答器设计、模拟汽车转向灯设计*8、红外按键识别程序设计*9、基于红外按键输入的四则混合运算计算器设计10、电子音乐盒设计*11、基于红外按键输入的电子琴设计12、基于DS1302的精密时钟设计13、基于DS18B20的数字温度计设计14、串行程序存储器扩展*15、数据采集电路设计:单片机与A/D 转换器接口 *16、信号发生器设计:单片机与D/A 转换器接口 *17、直流电机调速 *18、步进电机控制*19、基于MAX7219的数码管静态显示程序设计 *20、字符型液晶显示程序设计 *21、点阵型液晶显示程序设计注:带“*”实验项目需外接扩展电路二、V6实验板的原理和组成1、总体电路图上电复位....图2-22、微处理器V6实验板采用DIP 封装的AT89s52单片机作为微处理器,引脚配置如图2-3所示,为实现在系统可编程功能,选用11.0592MHz的晶振。
单片机实验指导书
单片机实验指导书近年来,单片机技术的发展十分迅速。
越来越多的工程师和科技爱好者开始接触和学习单片机技术,这促使单片机实验指导书的需求越来越大。
然而,这方面的书籍并不是很多,而且很多都只是简略介绍了一些基础的知识,很难满足读者的需求。
因此,我们有必要撰写一本全面、详实的单片机实验指导书,以供广大读者参考。
一、实验前的准备工作在进行单片机实验之前,需要进行一些准备工作。
首先,应确保实验所需要的单片机、电路板、电路图和元件都准备齐全;其次,应找到合适的实验环境,比如一间安静、干净、通风的实验室;最后,需要特别注意使用电器设备时的安全问题,确保自己和他人的安全。
二、实验的流程和步骤在开始实验之前,需要认真研读实验指导书中的介绍和分析,了解实验的目的、原理和步骤。
然后,按照指导书中的步骤依次进行实验。
实验完成后,应按照要求记录实验数据,并进行分析和归纳总结。
如果有问题需要解决,可以查阅相关的资料和文献,或向老师和同学请教。
三、实验中的注意事项在进行单片机实验时,一定要注意以下几点:首先,要认真选择合适的元件和器材,确保其质量和性能符合要求;其次,要遵守电器设备的使用规范,比如正确连接电源和地线、避免引起短路等;最后,要防止过度使用单片机,以免出现电磁干扰、损坏设备等问题。
四、实验课堂作业单片机实验课堂作业的目的是让学生加深对单片机知识的理解和掌握。
作业内容应与实验内容相密切相关,包括设计实验电路、编写程序、测试运行结果等。
同时,作业应具有一定难度和挑战性,以激发学生的兴趣和创造力。
总之,单片机实验指导书是单片机科技研究和应用的基础。
只有通过认真研读和实践,才能真正掌握单片机技术,应用到实际生产和工程中。
希望我们的实验指导书能够对广大读者有所帮助。
单片机实验指导书
实验一数制转换实验一、实验目的:(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”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验指导书
单片机原理与应用实验指导书西华大学机械工程与自动化学院目录实验一单片机仿真开发系统的使用实验二流水灯实验实验三显示及驱动电路设计实验四计数实验实验五中断实验实验六存储器扩展实验实验七串口通信实验实验八单片机A/D转换实验实验一单片机仿真开发系统的使用1.1 Keil C51 集成开发环境介绍①、运行keil C51编辑软件,软件界面如图1-1所示②、建立一个新的工程项目单击Project菜单,在弹出的下拉菜单中选中New Project选项③、保存工程项目a、选择要保存的文件路径,输入工程项目文件的名称,如保存的路径为C51文件夹,工程项目的名称为C51,如图所示,单击保存b、为工程项目选择单片机型号在弹出的对话框中选择需要的单片机型号,如图所示,这里选择51核单片机中使用较多的89S51,选定型号后,单击确定,出现如图所示的开发平台界面④、 新建源程序文件在下图中单击“File ”菜单,选择下拉菜单中的New 选项,新建文件后得到如图的界面:⑤、 保存源程序文件单击“File ”菜单,选择下拉菜单中的Save 选项,在弹出的对话框中选择保存的路径及源程序的名称,如图所示。
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File ”,在下拉菜单中选中“Save As ”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时必须键程序录入区域入正确的.扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮⑥、为工程项目添加源程序文件在编辑界面中,单击“Target ”前面的“+”,再在“Source Group ”上单击右键,得到如图所示的对话框,选择“Add File to Group ’ Source Group 1’”,弹出如图所示的对话框,选中要添加的源程序文件,单击“Add ”,得到如图所示的界面,同时,在“Source Group 1”文件夹中多了一个添加的“Text1.c ”文件。
单片机实验指导书
1.TKSTDIO 集成开发环境简介TKSTDIO 是一个集成开发环境软件。
它提供了工程管理、文件编辑、编译连接、调试与仿真等强大功能。
在此环境下可方便地开发单片机应用系统。
在TKSTDIO 集成开发环境中,工程是一个非常重要的概念。
它是用户组织一个应用的所有源文件、设置编译连接选项、生成可调试下载文件和最终Bin 文件的一个基本结构,所有工作都围绕工程而展开。
一个工程管理一个应用的所有源文件、库文件及其它输入文件,并根据实际情况进行相应的编译连接设置。
实验基本操作步骤:(1)建立自己实验项目文件夹(以学号或姓名命名);(2)打开TKSTDIO ;(3)[文件]→[新建]→[工程]→[Project Wizard]→[选择自己文件夹]→[输入工程名]→[确定]→[输入/选择单片机型号(STC89C51RC )]→[确定];(4)[文件]→[新建]→[文件]→[Asm File]→[选择自己文件夹]→[输入文件名]→[确定];(5)在弹出窗口输入/粘贴/打开实验1源程序;(6)[工程]→[生成“ ”];(7)[调试]→[启动/停止调试]→……;(8)[打开STC-ISP.EXE];(9)[打开程序文件]→[工程文件夹→DeBugRel →*.hex ]→[打开]→[DownLoad/下载]→程序在实验箱/开发板上运行,观察运行情况。
2.实验箱驱动与译码电路由于实验箱上扩展器件较多,所以在系统总线上加了驱动器。
数据总线(P0)口通过双向驱动器芯片74LS245驱动。
低5位地址(A0A1A2A3A4)和控制信号(WR ———、RD ———、ALE )通过单向驱动器芯片74LS244驱动。
系统通过两片3-8译码器芯片74LS138级联形成4-16译码逻辑,其译码输出作为实验箱上其它扩展器件译码控制信号,确定其地址范围。
P 2.7P 2.6P 2.5P 2.4作译码器输入,译码输出SEL0~SEL7所确定的地址空间分别为:0xxxH 、1xxxH、图1.1 实验箱驱动与译码电路2xxxH 、3xxxH 、4xxxH 、5xxxH 、6xxxH 、7xxxH ,译码输出SEL,8~SEL15所确定的地址空间分别为:、8xxxH 、9xxxH 、AxxxH 、BxxxH 、CxxxH 、DxxxH 、ExxxH 、FxxxH 。
单片机实验指导书
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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.掌握集成调试软件的操作与程序调试方法。
3.熟悉单片机指令系统,掌握在单片机开发系统上调试和执行程序的过程。
二、实验原理Lab6000通用微控制器实验系统由板上仿真器、实验单元、开关电源等构成。
接上EX51B仿真板,可进行MCS-51系列单片机的实验。
实验系统通过串行通讯电缆将实验系统上的“仿真器串口”与计算机的串行通讯端口联接,在计算机上运行WAVE 集成调试软件,即可完成实验程序的编写、编译、装载、调试。
WAVE 集成调试软件具有与一般办公和工程软件相似的编辑功能和命令菜单。
可在软件上完成程序的输入、编辑、编译、调试等工作,实现对实验系统的控制。
并可通过相关窗口观察程序运行过程中,单片机各个数据存储单元的变化情况。
三、实验仪器、材料1. Lab6000通用微控制器实验系统。
2.计算机,WAVE 集成调试软件。
四、实验步骤1.按要求进行实验系统的联接与启动。
用配套的串行通讯电缆联接实验系统上的“仿真器串口”和计算机串行口。
将实验系统的电源线与220V 电源相连(实验结束后应拔下)。
打开实验系统电源开关,红色电源指示灯亮。
仿真器初始化成功后,数码管会显示8051,表示仿真系统正常。
2.执行WAVE 集成调试软件。
进入开发环境界面(见上图)后,在“仿真器”下拉菜单,选择“仿真器设置”项。
在弹出的“仿真器设置”窗口中,应作设置如下:•在“语言”标签窗口下,“编译器路径”为“C:\COMP86\”;“ASM命令行”勾选“使用伟福预定义符号”项;“编译器选择”点选“伟福汇编器”项;“缺省显示格式”点选“混合十、十六进制”项。
•在“目标文件”标签窗口下,勾选:“缺省地址(由编译结果确定)”;“生成HEX文件”;“置未用程序存储器为00H”。
•在“仿真器”标签窗口:选择仿真器:Lab6000 通用微控制器实验系统;选择仿真头:MCS51 实验;选择CPU:8031/32;去掉“使用伟福软件模拟器”选项。
实验指导书(单片机)
《单片机原理》实验指导书徐迎曦张松灿河南科技大学电子信息工程学院自动化系2007年4月前言......................................................1 试验一 清零程序.........................................2 试验二 拆字程序..........................................4 试验三 拼字程序..........................................6 试验四 数据区传送子程序..................................8 试验五 数据排序程序.....................................10 实验六 8031单片机P3、Pl口应用.........................12 实验七 工业顺序控制器...................................14 实验八 并行接口芯片8255应用............................18 实验九 8279 键 盘、显 示 实 验...........................22 附录 DVCC实验装置及实验系统说明..........................27《单片机原理及应用》课程不仅是自动化专业的专业课,还是计算机应用等非电专业的选修课。
由于单片机具有良好的控制性能和灵活的嵌入品质,单片机在各种领域都得到了极为广泛的使用,这也使我们必须学好这门课程。
《单片机原理及应用》课程的主要内容包括单片机的结构、时序、指令系统与程序设计、中断系统、定时器/计数器、存储器扩展、接口技术(包括用户界面技术、串行通信技术、A/D及D/A转换接口技术)、开发系统的组成和功能等。
在学习本课程的过程中,只有通过上机做实验,能够更好地激发学生的学习兴趣,才能使学生真正掌握单片机原理、工作方式。
单片机实验指导书
实验指导书单片机原理及应用邵阳学院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、全速运行程序,程序功能使发光二极管循环点亮的流水灯的效果。
单片机实训指导书
单片机实训指导书一、实训目的单片机实训是一门重要的实践课程,旨在通过实际操作和项目实践,让学生深入了解单片机的工作原理、编程方法和应用开发。
通过本次实训,学生将能够掌握单片机系统的设计、调试和维护技能,提高解决实际问题的能力,为今后从事相关领域的工作打下坚实的基础。
二、实训设备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、做实验前必须预习2、带教材和实验指导书哈尔滨理工大学自动化学院自动化系实验仪的使用本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。
程序是用汇编语言来编写。
下面介绍相应的操作步骤:1、运行桌面“星研集成软件”,画面如下:2、建立源文件执行[主菜单文件新建],(或者点击图标)打开窗口。
选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。
对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。
比如:.ASM文件,使用A51来对它编译。
本实例文件名为。
窗口如下:按“确定”即可。
然后即出现文件编辑窗口:输入源程序,参照实验一源程序。
这样一个源文件就建立好了。
3.编译、连接文件首先选择一个源文件,然后可以编译、连接文件了。
对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。
编译、连接文件的方法有如下二种:(1)使用[ 主菜单项目编译、连接]或[主菜单项目重新编译、连接]”。
(2)点击图标或来“编译、连接”或“重新编译连接”。
编译、连接过程中产生的信息显示在信息窗的“建立”视中。
编译没有错误的信息如下:若有错误则出现如下信息框:有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。
这时用户可以作相应的修改,直到编译、连接文件通过。
4.调试编译、连接正确后,可以开始调试程序。
进入调试状态方法有:a)执行[ 主菜单运行进入调试状态]b)点击工具条的进入后的窗口如下:在整个图片中我们可以看到相对应的窗口信息。
在“工作区窗”的“CommonRegister”中我们可以了解通用寄存器的信息。
中间的窗口为源程序窗口,用户可在此设置断点,设置光标的运行处,编辑程序等。
寄存器窗我们可以看到一些常用的寄存器的数值。
存贮窗1、存贮窗2显示相应的内部数据空间、外部数据空间的数据,还有变量窗,自动收集变量显示其中。
单片机实验指导书
目录实验一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、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
单片机实验指导书
目录第一章开发流程、硬件设定一、软件开发流程--------------------------------------------------------2二、硬件接口及开关设置-----------------------------------------------3三、系统地址分配--------------------------------------------------------4 第二章软件实验实验一数据区传送子程序--------------------------------------------5 实验二数据排序实验-------------------------------------------------6实验三查找相同数个数----------------------------------------------7实验四脉冲计数(定时/计数器实验)--------------------------8第三章硬件实验实验一P1口亮灯实验--------------------------------------------------11实验二 P3口输入,P1口输出-----------------------------------------12实验三8255 PA口控制PB口---------------------------------------13实验四8255控制交通灯-----------------------------------------------14 实验五简单I/O口扩展------------------------------------------------17实验六A/D转换实验----------------------------------------------------18 实验七D/A转换----------------------------------------------------------21 实验八8279键盘显示实验--------------------------------------------23 第四章综合性设计实验实验一步进电机控制---------------------------------------------------27实验二128*64 LCD液晶显示----------------------------------------34第一章开发流程、硬件设定一、软件开发流程对于刚刚使用keil 的用户来讲,一般按照以下流程来完成开发任务。
单片机实验指导书
实验一、输入输出接口编程一、实验目的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种模式。
单片机实验指导书
WA VE6000软件的使用运行厂家提供的光盘,点击W A VE6000安装,安装好后可直接双击快捷方式图标,启动程序。
启动后的界面大致如图1所示。
图1 启动界面详细的使用说明请看光盘中的文件,这里只说明为了对51系列单片机进行纯软件仿真时要用到的一些项目和开始使用的几个必须步骤。
1、启动软件之后,根据需要设置仿真器:点击菜单【仿真器】︱【仿真器设置】(点击菜单行中的【仿真器】项,然后在其下拉菜单中点击【仿真器设置】项,以后不再说明)出现如图2所示对话框。
图2因为要使用纯软件仿真,所以要选中使用伟福软件模拟器,晶体频率可以根据需要设置;其他按照图示选择即可。
点击目标文件页,出现如图3所示对话框。
图3按图示设置即可。
点击语言页,出现对话框如图4所示。
图4按照图中设置即可,注意编译器选择项一定要选择伟福汇编器,其他项不用改变。
由于是纯软件仿真,不用设置通信设置项。
设置完成后,点击按钮【好】,结束设置。
以后的事情就是建立源程序、编译、调试。
2、建立源程序点击菜单【文件】︱【新建文件】,出现一个文件窗口,形如图5所示。
默认文件名称是NONAME1,你现在就可以在此窗口中输入你的源程序了。
比如下面的一个小程序:MOV 30H,﹟5AHMOV DPTR,﹟0128HMOV A,30HMOVX @DPTR,ASJMP $这个小程序的功能是将片内RAM中30H单元的一字节数送到片外RAM中0128H单元。
以此为例,讲解利用伟福纯软件仿真的过程。
首先输入源程序,修改文件名,点击菜单【文件】︱【另存为】,出现对话框如图6所示。
图6输入文件名(例如TST1.ASM),点击保存即可。
注意,文件扩展名一定要输入,汇编语言的扩展名﹡.asm ,不要忽视。
文件改名是要确定其扩展名,以便据此判断文件类型。
现在的源程序字符出现彩色,以表示不同的文字属性,如图7所示。
图73、汇编点击菜单【项目】︱【编译】,就会自动调用伟福汇编器对源程序进行汇编,这时在信息窗口会显示汇编相关信息,如图8所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用》实验指导书计算机科学与技术系2012 年8 月目录实验一:流水灯实验.......................................... 1...实验二:中断实与定时器中断实验................................ 4..实验三:串行口实验.......................................... 9...实验四:矩阵式键盘输入识别.................................. 1..3实验五:LCD循环显示设计 (19)实验一:流水灯实验通过对P3 口地址的操作控制8位LED 流水点亮,从而认识单片机的存储器实验参考电路图如下:VCCAP17P3.7ZEQP1.6 P3.6M^ P1.5P3.5/T1 PI -1 P3.4/T0 P1.3 P33JlhJT1 P1.2 P3.2JirJT0 P1 1 P3.1 仃:<D P1 0 P3 0,'RXDAT89C51RSIPSEtJ匚A ALEXTAL2A[8.15|参考实验程序//流水灯实验#in clude<reg51.h> // 包含单片机寄存器的头文件 sfr x=OxbO; 〃P3口在存储器中的地址是 bOH 通过sfr 可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x 的操作也就是对P1 口的操作**************************************实验目的:实验原理图—>XTAL1AD[O .7]D4 R447QR D6 R6屮斤D0 R8_470RD3 R3_4?OR D1 R1 470R-D7 R74Z0F?D5 R5_4?ORD2 R2 470R函数功能:延时一段时间*****************************************/ void delay(void){ unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++); // 利用循环等待若干机器周期,从而延时一段时间} /***************************************** 函数功能:主函数******************************************/void main(void){while(1){x=0xfe; // 第一个灯亮delay(); // 调用延时函数x=0xfd; // 第二个灯亮delay(); // 调用延时函数x=0xfb; // 第三个灯亮delay(); // 调用延时函数x=0xf7; // 第四个灯亮delay(); // 调用延时函数x=0xef; // 第五个灯亮delay(); // 调用延时函数x=0xdf; // 第六个灯亮delay(); // 调用延时函数x=0xbf; // 第七个灯亮delay(); // 调用延时函数x=0x7f; // 第八个灯亮delay(); // 调用延时函数}}四、实验思考题:1. 修改程序使LED灯为18灯亮一一27灯亮一一36灯亮一一45灯亮,再将LED 灯亮的顺序倒过来既:45 灯亮——36 灯亮——27 灯亮——18 灯亮,连续运行。
2. 设计一个八位二进制加法计数器,要求用八个流水灯显示加法器的结果,灯亮表示1 ,灯灭表示0,实现从0000 0000~1111 1111 的加法过程。
调试后的程序代码:实验二:中断与定时计数器实验第一部分中断实验一、实验目的:通过对P3.2 、P3.3 引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。
二、实验原理图实验参考电路图如下:参考实验程序/用外中断0的中断方式进行数据采集和处理 #in clude<reg52.h>#in clude< intrin s.h> void ini t(); void delay (un sig ned in t); void mai n() {in it(); while(1) {P1 = 0xff; delay(100); P1 = 0x00; delay(100); } }void ini t() {EA = 1; IT0 = 0;LUDIA JLUDUU ILUDW LUO⑷'ELLDW臣LLD 切2R21 - 22 23 24 25 26 R u 耶R 匚圳尺匚MR匸湖尺匚肖2R2R72R2R8LED-VELLOW*XTAL1iPD.WD1P 口洲D 茫XTAU'啊加2FD.MD* pnawRSTPDJJ^DT P2JW啣阳F2iA1DPSEN P23ft11 ALE P2.4A12 EftP2S^13 P2J5jft1lP2.TA15 pi urnDiiwvn P1.1H2K・ 3.1/DC0 P1J P32rtNTD POF^^HNTI P14PXimiPISpajsn-iP1^P3WUHpiiP3J7RD西3S37芳35 3t21_a.23 S•T id卫a _ 13 i«16R92R2RT O2R2SW1SIAWPDTSW2SW ^SPO TIT1 = 0;EX0 = 1;EX1 = 1;}void delay(unsigned int n){unsigned int i,j;for(i=0;i<n;i++) for(j=0;j<110;j++);}void aa() interrupt 0{unsigned char tmp = 0xfe;unsigned int i=0;P1 = tmp;delay(100);i = 7;while(i--){tmp = _crol_(tmp,1);P1 = tmp; delay(100);}//delay(500);i=7;while(i--){tmp = _cror_(tmp,1);P1 = tmp; delay(100);}// delay(500);}void bb() interrupt 2{P1 = 0xf0;delay(500);P1 = 0x0f;delay(500);}四、实验思考题:根据指导书中提供的原理图,自行设计一个外部中断实验,要求:1. 两个外部中断全部用上;2. 实验能体现不同中断优先级的中断源的相应情况;3. 不同中断处理程序能输出不同的响应效果第二部分:定时器中断实验通过使用定时器TO 的中断来控制P2.0引脚的的LED 的灯闪烁,要求闪烁时 间2S,既亮1 S ,灭1 S 。
二、 实验原理图实验参考电路图如下(注释,下图只有D1等闪烁,既亮1 S ,灭1 S ):二、参考实验程序//用定时器TO 的中断实现长时间定时,单片机晶体振荡器周期为 12MHZ 机器//周期为1us#include<reg51.h> // 包含51单片机寄存器定义的头文件 sbit D 仁P2A 0; // 将D1位定义为P2.0引脚 unsigned char Countor; //设置全局变量,储存定时器 TO 中断次数/**************************************************************函数功能:主函数**************************************************************/实验目的:------------------- U伽却--'D1______________ ——晋一汕 -------- EiXTALIXTA12F£ .2//C2 p [常心PI 4/ 吃打如5Pt.if xsFI.7/MVP5ENF2.0W 他倔 P2.2/A13卩巳猟11 ALBP2.47A12 EA FIJ/A13PI. 6/AM PJ. 7/A.15P3JVRHDP11ns卩 2IMT1PI 4F3.4HD Pl 5 皱如 Pl 6PI 7F3.7JRDLED=rEi-imiC 2C31030RR 3R1——C懈J 1 11151173H 匚 GR^rrf=fan]to-1nEHBDTT1;13 21~25~ 27void main(void){EA=1; // ET0=1; // TMOD=0x01; //TH0=(65536-15536)/256; // TL0=(65536-15536)%256; //TR0=1; //while(1)// 无限循环等待中断}/**************************************************************函数功能:定时器TO 的中断服务程序**************************************************************/ void TimeO(void) interrupt 1 using O //“ interrupt ”声明函数为中断服务函数//其后的1为定时器TO 的中断编号;0表示使用第0组工作寄存器{Countor++; // 中断次数自加 1 if(Countor==2O) // 若累计满 2O 次,即计时满 1s {D1=~D1;// 按位取反操作,将 P2.O 引脚输出电平取反Countor=0; // 将Countor 清0,重新从0开始计数 } TH0=(65536-15536)/256; // 定时器T0的高8位重新赋初值 TL0=(65536-15536)%256; //定时器T0的高8位重新赋初值 }四、 实验思考题:开总中断定时器 T0 中断允许 使用定时器 T0 的模式 2 定时器TO 的高8位赋初值定时器TO 的高8位赋初值 启动定时器 TOCountor=O; // 从 O 开始累计中断次数实验指导修改程序使用定时器T1的中断方式来控制P2.0、P2.1引脚的LED灯分别以200mshe 800ms的周期闪烁调试后的程序代码:实验三:串行口实验一、实验目的:本实验要求单片机U1通过其串行口TXD向计算机发送一个数据用集成电路MAX232各单片机的输出信号转化成计算机能够识别的信号送的实例,再设计一个单片机接受计算机送出数据的过程二、实验原理图单片机发送数据实验参考电路图如图(1):“oxab”。
禾U图(1 )单片机接受数据实验参考电路图如下:三、参考实验程序//单片机向PC 发送数据 #in clude<reg51.h>//包含单片机寄存器的头文件un sig ned char code Tab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //流水灯控制码,该数组被定义为全局变量 /*****************************************************函数功能:向PC 发送一个字节数据***************************************************/ void Send(un sig ned char dat) {SBUF=dat; while(TI==0)TI=0;}D1II I I I IADHD.7]U2vccAR1 220 RAIS,.15]X7AL2Kb rALE EAPbtNADP..7]XTAL1XTAE2ATB9C51D2220 RD2R3 220 R1— R4 220 R~I ——*P3>O/RX[>P1.0P2 H/TK&Pi.dP3-2/INT0PI.2 P33/INT1 P1.3 IP3^T0 P1.4 raj/TiP1.5 P3.6AWR P1.S IP3 J/RDP1.7D7 R7 Z20R D8R6 220 R1:1011 T T~13~ 14D4I I;311 1 i- i i 1 p p p pp pp pF3.0/RXD厂 1.-T/? p-2S /IMTOP3.3/IMT1P3 P3.7/RDRSTAT09C51ALE 3 p SEND5 DSR6 220 R 4函数功能:延时约150ms************************************************************ void delay(void) {unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<250;n++)}/***************************************************** 函数功能:主函数***************************************************/void main(void){unsigned char i;TMOD=0x20; //TMOD=0010 0000B ,定时器T1 工作于方式2 SCON=0x40; //SCON=0100 0000B ,串口工作方式1PCON=0x00; //PCON=0000 0000B ,波特率9600TH1=0xfd; // 根据规定给定时器T1 赋初值TL1=0xfd; // 根据规定给定时器T1 赋初值TR1=1; // 启动定时器T1while(1){for(i=0;i<8;i++) // 模拟检测数据{Send(Tab[i]); // 发送数据idelay(); //150ms 发送一次数据}}}四、实验思考题:根据参考原理图图(2)设计一个单片机接受计算机送出数据的过程调试后的程序代码:实验四:矩阵式键盘输入识别一、实验目的:设计一个4X4的矩阵键盘,键盘的号码 0~15,要求编写出一个键盘输入扫 描程序,要求单片机能根据键盘排列顺序, 能将按下去键盘号正确识别出来, 并 采用两个数码管分别键盘号码的个位和十位。