单片机实验指导书
- 格式:docx
- 大小:3.50 MB
- 文档页数:28
目录实验一系统认识实验 (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其他点亮功能。
单片机试验指导书一Keil UV2集成开发环境的使用实验目的:(1)熟悉Keil集成开发环境(2)掌握Keil集成开发环境的使用方法(3)学会在Keil集成开发环境下对MCS-51单片机汇编语言程序进行编辑、编译、链接、仿真调试与运行的步骤与方法。
实验设备和器件:PC一台,操作系统为WINDOWS XP,内存256M以上,硬盘10G以上KeilUV2集成开发环境,并将该软件安装到PC上正常工作实验内容:调试求和运算程序单片机片内RAM的30H-31H地址单元重,分别存放2个数据11H和22H,请计算两数相加的和,并将运算结果存放在片内RAM的32H地址单元中。
具体要求如下:(1)在Keil集成开发环境下,查询累加器A、寄存器B、堆栈指针SP、数据地址指针寄存器DPTR、程序计数器PC、通用寄存器R0-R7以及程序状态字寄存器PSW的内容。
(2)在Keil集成开发环境中,通过在存储器的地址窗口中使用命令d:0x30,来查询单片机片内RAM中30H-31H地址单元的内容。
(3)使用单步调试的方法来执行程序。
在调试过程中,配合观察寄存器和存储器窗口,检验程序的运行结果是否正确。
检查发现正确。
(4)连续执行程序,配合观察寄存器和存储器窗口,检验运行结果是否正确。
二MCS-51单片机汇编语言编程练习[实验目的](1)熟悉单片机汇编语言指令(2)掌握单片机汇编语言顺序结构、分支结构程序的编程方法(3)进一步掌握使用Keil UV2集成开发环境的使用方法[实验设备和器件]PC一台,操作系统为WINDOWS XP,内存256M以上,硬盘10G以上KeilUV2集成开发环境,并将该软件安装到PC上正常工作[实验步骤与方法]顺序结构的汇编语言程序设计已知单片机片内RAM的50H单元中存储的数据是27H,请将此数据读入到单片机片内RAM的60H单元中,然后再从片内RAM的60H单元中,将这个数据写入到单片机片外RAM的70H单元中。
单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。
实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种使用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
目录1、实验一多路开关实验 (3)2、实验二可编程增益放大器实验 (5)3、实验三A/D转换实验 (7)4、实验四D/A转换实验 (11)5、实验五静态显示实验 (13)6、实验六动态扫描显示实验 (15)7、实验七液晶显示实验 (18)8、实验八矩阵式键盘实验 (23)9、实验九开关量输入输出实验 (28)10、实验十24WC02串行E2PROM的读写实验 (30)11、实验十一PCF8563时钟/日历芯片的应用实验 (37)12、实验十二外部程序存储器EPROM的扩展实验 (45)13、实验十三 SRAM外部数据存储器扩展实验 (47)14、实验十四单片机与PC机的RS232串行通信实验 (50)15、实验十五单片机与PC机的MAX485串行通信实验 (52)16、实验十六打印机实验 (54)17、实验十七 USB通信实验 (57)18、实验十八网络控制器实验 (102)实验一多路开关实验一.实验目的1.掌握多路开关与单片机的接口方法。
了解按键识别的编程方法。
2.通过实验了解单片机如何进行多路开关实验。
二.实验内容利用线路板DSC-SCM01提供CPU处理器,利用线路板DCP-SCM02上的发光二级管显示及查询式键盘完成多路开关实验。
当对应的按键按下时,相应的发光二极管亮。
三.实验器材1.主控屏+5V电源2. DCP-SCM01 单片机电路3. DCP-SCM02 键盘及显示电路四.实验原理图五.实验说明该实验通过线路板DCP-SCM01及线路板DCP-SCM02完成,线路板DCP-SCM02上发光二极管的阳极接正5V电源,所以要使某个发光二极管亮,只要使对应的发光二极管的阴极为低电平即可。
六.实验步骤1.利用导线按表格中的对应关系将DCP-SCM01对应的端口与DCP-SCM02对应的端口连接起来即可DCP-SCM02 DCP-SCM01发光二极管显示单元的插座U3 P0查询式键盘区域的插座U4 P1EA脚接+5VD_SWITCH.C3.输入并编辑D_SWITCH.C文件,并且编译生成HEX文件。
实验一单片机认识实验一、实验目的:1、掌握WAVE6000软件的使用2、熟悉MCS-51系列单片机的指令系统。
二、实验仪器:PC机(WAVE6000软件)三、实验内容:在PC机上使用WAVE6000软件,分别输入下面两段程序并调试执行程序1 MOV 30H,#40HMOV R0,#30HMOV A,@R0MOV R1,AMOV DPTR,#1000HMOVX @DPTR,A程序2MOV A,60HXCH A,70HMOV 60H,A四、实验步骤1、启动WAVE6000软件2、输入练习程序3、保存程序4、汇编源程序5、程序执行前的检查6、运行,调试程序单步法运行程序断点法运行程序连续法运行程序8、检查运行结果五、实验结果实验二 顺序结构程序的调试一、 实验目的:1、掌握顺序结构程序设计2、掌握WAVE 软件调试程序的方法.二、实验内容:编写下列程序并调试: 1、将片内RAM 的70H 单元的内容拆开,高4位送71H 单元低4位,低4位送72H 单元的低4位,71H 、72H 单元高4位清零。
2、将工作寄存器R2中数据的高4位和R3中的低4位拼成一个数,并将该数存入30H 单元。
三、实验程序框图程序1流程图 程序2流程图 三、 实验步骤:程序1①启动WAVE 软件,新建一个文件,保存并取名为LX1.ASM 。
②输入源程序1,正确进行机器汇编③打开窗口菜单,选择数据窗口,检查70H 、7lH 和72H 单元中的内容,并记录在下表左半边④用全速执行命令开始执行程序⑤检查7lH 和72H 单元中的内容,并记录在下表的右半边⑥修改执行前70H、7lH和72H单元中的内容,重复执行④-⑤步骤,并记录程序执行后表格中的数据。
程序2①新建一个文件,保存并取名为LX2.ASM。
②输入源程序2,正确进行机器汇编③打开窗口菜单,选择数据窗口,检查R2、R3和30H单元中的内容,并记录在下表左半边的格子中④用全速执行命令开始执行程序⑤检查30H单元中的内容,并记录在下表的右半边格子中⑥修改执行前R2、R3、30H单元中的内容,重复执行④-⑤步骤,并记录程序执行后的数据。
实验一数制转换实验一、实验目的:(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 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
目录实验一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文件,在程序窗口中输入已编好的程序,保存。
一般性实验实验一普通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.实验目的(1)学习Keil C51集成编译软件的使用和调试程序方法。
(2)学习将用户程序下载到应用系统的方法。
(3)掌握STC89C52单片机的I/O端口的控制和使用方法。
2.实验内容(1)编写程序要求:利用单片机的P1.0, P1.1, P1.2控制3个LED灯,模仿控制交通灯(红灯亮4秒,黄灯亮2秒,,黄灯和绿灯同时亮1秒,绿灯亮4秒,如此循环)。
3.实验电路见图1.24.实验参考程序(1)程序流程图(2)汇编语言参考程序ORG 0000HSJMP MAINORG 0030HMAIN: CLR P1.2 ;红灯亮4SSETB P1.0 ;绿灯灭SETB P1.1 ;黄灯灭MOV R0,#40ACALL DELAY;自己编写DELAY: MOV A,R0 ;延时程序,R0=10,延时1SMOV R5,ADELAY3: MOV R6,#XXH ;XX的数值自己计算填写DELAY2: MOV R7,#XXH ;XX的数值自己计算填写DELAY1: DJNZ R7,DELAY1DJNZ R7,DELAY1DJNZ R7,DELAY1RETEND5.实验步骤(1)根据实验原理图编写程序,用“Keil uVision4”编译软件进行编译,如未通过,则修改程序,直至通过。
(2)用STC-ISP.EXE软件将所编写程序生成的“HEX”文件下载到实验板STC89C52芯片中(3)运行程序,观察实验板上的红,黄,绿三个LED灯的亮灭次序和时间是否符合实验内容要求,如果不符合要求,改写程序,按照步骤(1)开始重新做实验,直至成功。
6.思考题(1)怎样计算延时子程序的延时时间?(2)如何计算与LED连接的电阻阻值?(3)如何用89C52单片机的I/O口控制继电器?画出电路原理图。
(4)根据实验板原理图,编写一段8个LED循环闪烁的流水灯程序。
7.实验报告要求(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 的用户来讲,一般按照以下流程来完成开发任务。
前言 (3)实验一熟悉µ’nSP™ IDE环境下的汇编程序的编写 (4)【实验目的】 (4)【实验设备】 (4)【实验步骤】 (4)【程序流程图】 (5)【程序范例】 (5)【程序练习】 (5)实验二熟悉µ’nSP™ IDE环境下的C语言的编写 (6)【实验目的】 (6)【实验设备】 (6)【实验步骤】 (6)【程序范例】 (6)【程序练习】 (6)实验三使用汇编语言实现A口的输出实验 (7)【实验目的】 (7)【实验设备】 (7)【实验原理】 (7)【实验步骤】 (7)【硬件连接图】 (7)【程序练习】 (8)实验四 FIQ中断实验 (9)【实验目的】 (9)【实验设备】 (9)【实验原理】 (9)【实验步骤】 (9)【程序流程图】 (9)【程序练习】 (10)实验五 A/D转换 (11)【实验目的】 (11)【实验设备】 (11)【实验原理】 (11)【实验步骤】 (11)【硬件连接图】 (12)【程序流程图】 (12)【程序练习】 (13)实验六双通道D/A (14)【实验目的】 (14)【实验设备】 (14)【实验原理】 (14)【实验步骤】 (14)【程序流程图】 (15)【程序练习】 (15)实验七一路输入的录音 (16)【实验目的】 (16)【实验设备】 (16)【实验原理】 (16)【实验步骤】 (16)【程序练习】 (16)实验八 32K Flash 读/写 (17)【实验目的】 (19)【实验设备】 (19)【实验原理】 (19)【硬件连接图】 (19)【实验步骤】 (19)【程序练习】 (20)实验九 0.5S定时刷新数码管显示 (21)【实验目的】 (21)【实验设备】 (21)【实验原理】 (21)【硬件连接图】 (22)【实验步骤】 (22)【程序练习】 (23)前言本教材是结合《µ’nSP™系列SPCE061A单片机基础与应用技术》一书而设计实验,与课堂教学内容结合紧密。
实验一、输入输出接口编程一、实验目的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种模式。
目录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)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作。
μVision2 支持所有的Keil 80C51 的工具软件,包括C51 编译器、宏汇编器、链接器/定位器、软硬件调试器和目标文件到HEX 格式文件转换器等,μVision2 可以自动完成编译、汇编、链接程序等操作。
μVision2 具有强大的软件环境、友好的操作界面和简单快捷的操作方法。
双击桌面上的Keil μVision2 快捷图标,可以进入如图1-1 所示的集成开发调试环境,各种调试工具、命令菜单都集成在此开发环境中。
菜单栏提供了各种操作菜单,如编辑器操作、工程维护、程序调试、窗体选择以及操作帮助等。
工具栏按钮和快捷键可以快速执行μVision2命令。
常用的菜单栏及相对应的工具栏按钮与快捷键介绍如表1-1~表1-6所列。
图1-1μVision2 集成环境界面表1-1 文件菜单和文件命令(File)表1-2 编辑菜单和编辑器命令(Edit)表1-3视图菜单(View)表1-4工程菜单和工程命令(Project)表1-5 调试菜单和调试命令(Debug)表1-6外围器件菜单(Peripheral)第2章单片机原理实验通过本章的实验,旨在使学生掌握Keil C51 的操作方法,学习80C51 的指令系统及汇编语言的程序设计方法。
2.1系统认识实验2.1.1实验目的1. 学习Keil C51 集成开发环境的操作;2. 熟悉TD-51 系统板的结构及使用。
2.1.2实验设备PC机一台2.1.3实验内容编写实验程序,将00H~0FH共16个数写入单片机内部RAM的30H~3FH空间。
通过本实验,学生需要掌握Keil C51软件的基本操作,便于后面的学习。
2.1.4实验步骤1. 创建Keil C51 应用程序在Keil C51 集成开发环境下使用工程的方法来管理文件,所有的源文件、头文件甚至说明性文档都可以放在工程项目文件里统一管理。
下面创建一个新的工程文件C51.Uv2,以此详细介绍如何创建一个Keil C51 应用程序。
(1)运行Keil C51软件,进入Keil C51集成开发环境。
(2)选择工具栏的Project选项,如图2-1-1 所示,弹出下拉菜单,选择NewProject命令,建立一个新的μVision2工程。
这时会弹出如图2-1-2所示的工程文件保存对话框,选择工程目录并输入文件名C51后,单击保存。
图2-1-1 工程下拉菜单图2-1-2 工程保存对话框(3)工程建立完毕后,μVision2会马上弹出如图2-1-3所示的器件选择窗口。
器件选择的目的是告诉μVision2使用的80C51芯片的型号是哪一个公司的哪一个型号,不同型号的51 芯片内部资源是不同的。
此时选择SST公司的SST89E554RC。
另外,可以选择Project下拉菜单中的“Select Device for Target‘Target 1’”命令来弹出图2-1-3 所示的对话框。
图2-1-3器件选择对话框(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。
选择工具栏的File 选项,在弹出的下拉菜单中选择New 目录,如图2-1-4 所示,或点击。
此时会在文件窗口出现如图2-1-5 所示的新文件窗口Text1,若多次执行New命令,则会出现Text2、Text3等多个新文件窗口。
图2-1-4新建源文件下拉菜单图2-1-5源程序编辑窗口(5)输入程序,完毕后点击“保存”命令保存源程序,如图2-1-6 所示,将Text1 保存成111.C。
Keil C51支持汇编和C语言,μVision2会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM或.C。
保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。
图2-1-6源文件保存对话框(6)程序文件建立后,并没有与Asm1.Uv2 工程建立任何关系。
此时,需要将111.C源程序添加到C51.Uv2 工程中,构成一个完整的工程项目。
在Project Window 窗口内,选中Source Group1点击鼠标右键,会弹出如图2-1-7 所示的快捷菜单,选择Add Files to Group Source‘Group1’命令,此时弹出如图2-1-8 所示的添加源程序文件对话框,选择文件Asm1.asm,点击Add 命令按钮即可将源程序文件添加到工程中。
图2-1-7 添加源程序文件快捷菜单图2-1-8 添加源程序文件对话框2. 编译、链接程序文件(1)设置编译、链接环境,点击命令,会出现如图2-1-9 所示的调试环境设置窗口,在这里可以设置目标系统的时钟。
单击Output 标签,在打开的选项卡中选中Create Hex File 选项,在编译时系统将自动生成目标代码*.Hex。
点击Debug 标签会出现如图2-1-10 所示的调试模式选择窗口。
从图2-1-10 可以看出,μVision2 有两种调试模式:Use Simulator(软件仿真)和Use(硬件仿真)。
这里选择硬件仿真,点击Settings 可以设置串口。
图2-1-9Keil C51 调试环境设置窗口图2-1-10调试设置窗口(2)点击或命令编译、链接程序,此时会在Output Window 信息输出窗口输出相关信息,如图2-1-11 所示。
图2-1-11 编译、链接输出窗口3. 调试仿真程序(1)打开系统板的电源,给系统复位后点击调试命令(注:每次进入调试状态前确保系统复位正常),将程序下载到单片机的FLASH 中,此时进入调试界面。
(2)点击命令,可以打开存储器观察窗口,在存储器观察窗口的‘Address:’栏中输入D:30H(或0x30)则显示片内RAM30H 后的内容,如图2-1-12 所示。
如果输入‘C:’表示显示代码存储器的内容,‘I:’表示显示内部间接寻址RAM 的内容,‘X:’表示显示外部数据存储器中的内容。
(3)可将光标移到某语句行,点击命令,在此行设置断点。
(4)接下来点击命令,运行实验程序,当程序遇到断点后,程序停止运行,观察存储器中的内容,如图2-1-13 所示,验证程序功能。
(5)如图2-1-12 所示,在命令行中输入‘E CHAR D:30H=11H,22H,33H,44H,55H’后回车,便可以改变存储器中多个单元的内容,如图2-1-14 所示。
图2-1-13 运行程序后存储器窗口图2-1-14修改存储器内容(6)修改存储器的内容的方法还有一个,就是在要修改的单元上点击鼠标右键,弹出快捷菜单,如图2-1-15 所示,选择‘Modify Memory at D:0x35’命令来修改0x35 单元的内容,这样每次只能修改一个单元的内容。
图2-1-15存储器修改单元(7)点击命令,可以复位CPU,重新调试运行程序,点击命令,单步跟踪程序。
(8)实验结束,按系统的复位按键可以复位系统,点击命令,退出调试。
在此以C51.Uv2 工程为例简要介绍了Keil C51 的使用,Keil C51 功能强大,关于Keil C51的使用需要通过日后的使用慢慢掌握。
实验数据传送实验试验目的:1.学习单片机程序的设计方法,熟悉51的数据传送指令。
试验设备:PC机一台实验内容:编写实验程序,把00H~0FH 16个数写入单片机片内RAM的20H~2FH。
实验步骤:1)编写并输入程序,检查无误后,编译、链接程序,然后点击调试命令进入调试状态;2)在20H~2FH输入各个数;3)设置断点,然后运行程序;4)程序遇到断点后停止运行,此时查看20H~2FH的内容;5)重新修改20H~2FH的内容,再次运行程序,验证程序的正确性;6)实验结束,点击退出调试状态。
思考题:存入片外RAM使用什么指令,如何完成?实验数据排序实验试验目的:2.学习单片机排序程序的设计方法,熟悉51的指令系统。
试验设备:PC机一台实验内容:在单片机片内RAM的20H开始写入10个数,编写实验程序,将这10个数按照由小到大的顺序排列,结果仍写入RAM的20H开始的地址单元中。
实验步骤:7)编写并输入程序,检查无误后,编译、链接程序,然后点击调试命令进入调试状态;8)在20H~29H输入各个数;9)设置断点,然后运行程序;10)程序遇到断点后停止运行,此时查看20H~29H的内容;11)重新修改20H~29H的内容,再次运行程序,验证程序的正确性;12)实验结束,点击退出调试状态。
思考题:从大到小排序?实验 运算程序设计实验试验目的:3. 了解运算指令以及运算类程序的设计方法; 试验设备: PC 机一台 实验内容:1. 多字节十进制加法程序,被加数存放于20H 起始的RAM 空间,加数存放于30H 起始的RAM 空间,将两数相加,结果存放于20H 起始的RAM 空间。
实验步骤:13) 编写并输入程序,检查无误后,编译、链接程序,然后点击调试命令进入调试状态;14) 为被加数及加数赋值,如:4567与7314,低位在低字节; 15) 设置断点,然后运行程序;16) 程序遇到断点后停止运行,此时查看20H 单元起始的内容,应为01,18,81; 17) 重新修改加数、被加数的内容,再次运行程序,验证程序的正确性; 18) 实验结束,点击退出调试状态。
实验 查表程序设计实验试验目的:4. 学习查表程序的设计方法,熟悉51的指令系统。
试验设备: PC 机一台 实验内容:通过查表的方法实现333c b a y ++=,a 、b 、c 分别存放在片内RAM 的30H 、31H 和32H 地址单元,结果存放在40H 、41H 中; 实验步骤:19) 编写并输入程序,检查无误后,编译、链接程序,然后点击调试命令进入调试状态;20) 将a 、b 、c 存放到30H 、31H 和32H 地址单元; 21) 设置断点,然后运行程序;22) 程序遇到断点后停止运行,此时查看寄存器40H 、41H 的内容,检查结果是否正确;23) 重新修改30H 、31H 和32H 的内容,再次运行程序,验证程序的正确性; 24) 实验结束,点击退出调试状态。
思考题:通过查表的方法实现把片内RAM30H 存放的数字(0~9中的任何一个数)转换成其对应的ASCII 码,存入31H 。
实验位操作实验试验目的:5.了解位操作指令以及逻辑函数相关程序的设计方法;试验设备:PC机一台实验内容:2.编程实现逻辑函数:BAY+=,A存放在位地址的00H地址单元,B存放AB在位地址的01H地址单元,结果存放在位地址的04H地址单元实验步骤:25)编写并输入程序,检查无误后,编译、链接程序,然后点击调试命令进入调试状态;26)给A、B赋值,如:假设A=1,B=1,即在字节地址20H地址单元输入03H;27)设置断点,然后运行程序;28)程序遇到断点后停止运行,此时查看20H单元的内容,应为13H;29)重新修改逻辑函数变量A、B的内容,再次运行程序,验证程序的正确性;30)实验结束,点击退出调试状态。