单片机实验指导书
[整理]单片机实验要求指导书
海南师大物理与电子工程学院电子信息科学与技术专业《单片机应用技术》实验指导2014年4月目录实验一单片机仿真与开发系统认识 (1)实验二汇编语言简单编程实验 (3)实验三C51语言简单编程实验 (4)实验四并口实验 (5)实验五定时/计数器实验 (7)实验六单片机中断实验 (9)实验七串口实验 (11)实验八A/D、D/A实验 (13)附录一开发板布局图 (15)附录二开发板各部分电路原理图 (16)实验一单片机仿真与开发系统认识[实验类型] 验证性实验[实验目的]1、掌握51单片机开发软件Keil 的用法;2、掌握单片机硬件仿真软件Proteus的基本用法;3、了解实验所用开发板的电路原理,熟练掌握其基本使用方法。
[实验内容&要求]1、准备工作文件夹在D盘建立一个实验一工作文件夹,文件夹名字自定(英文)。
以下所有步骤建立的文件都存放在这个文件夹内。
2、Keil软件的使用首先打开KEIL软件,然后依次练习汇编程序和C程序的建立和编译。
(1)汇编语言程序练习:1>建立一个项目(建立一个项目文件夹,存在第1步所建立的文件夹内)2>输入课本P127页[例6-1]中的汇编程序(不过把P1和P0口所接器件换一下,即P0口接8个发光二极管,P1口接8个开关),在Keil C中输入,以.asm 做扩展名,保存到项目文件夹内。
3>在项目中添加该文件,编译生成.hex文件。
(2)C语言程序练习:1>再建另外一个项目(也在工作文件夹内另建一个项目文件夹);2>输入课本P127页[例6-1]中的C程序(同样注意把P1和P0换一下),保存、加入项目并生成.hex文件。
3、Proteus软件的使用(1)打开Proteus软件,参考课本P127页[例6-1]的要求建立硬件仿真图,注意把P1和P0所接器件换一下。
仿真文件名自定,保存在第1步所建立的文件夹内。
(2)在Proteus设置单片机属性为使用前面所生成的.hex文件,进行仿真测试。
单片机实验指导书(6个实验)
单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求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文件。
单片机实验指导书
单片机实验指导书一、硬件实验系统介绍(一)电路原理实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。
详细的电路原理图见附件(二)各模块开关控制简表二、单片机实验板使用说明(一)程序下载1、下载软件为STC-ISP V3.X,建议使用V3.5版本。
2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。
3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。
(二)程序运行1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。
2、各元件的电源开关均靠近本元件。
(三)注意事项由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。
2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。
使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。
3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零三、Keil软件使用简要说明1、建立工程文件:单击“工程”菜单中的“新工程”命令。
选择路径、输入项目名称,不需要扩展名。
在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。
2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。
单片机实验指导书
实验一数制转换实验一、实验目的:(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文件,在程序窗口中输入已编好的程序,保存。
单片机实验指导手册
3.生成目标代码文件
通过菜单”Source” / “Build All” , 在”Program File ”栏中添加上面编译好的目标代码文件 DZC32.HEX。若编译失败,对程序修改调试至编译成功。
2.4.POTEUS 仿真 1.加载目标代码文件
打开单片机属性窗口,在”Program File” 栏中添加上面编译好的目标代码文件 DZC32.HEX;在”Clock Frequency” 栏中输入晶振频率 12MHZ。注意:时钟发生器中的晶 振要设置频率,单片机的晶振频率也要设置。
2.仿真
单击按钮 ,启动仿真。运行片段如图 2-2 所示。开关断开,输入引脚电平为高;
开关闭合,输入引脚电平为低。 若要更明白地看到引脚的电平高、低状态,可以单击菜单 ”Systm ”/”Set Animation Option…”,弹出如图 2-5 所示对话框,选中显示引脚逻辑状态(图中有√的项) 。此时的仿 真运行片段如图 2-2 所示。
④SW-SPST:带所存的单刀单掷开关,开关的合或断可单击向下或向上的知识箭头实现。
2.放置元器件、放置电源和地线、元器件属性设置、电气检测
所有操作都是在 ISIS 中进行,其设计与实验一相似,故不详述。 图 2-1 中的元器件 RN1、RN2 是 8 电阻的排阻。其中每个电阻的阻值都设置为 200 ,
脚 g 为高电平则不亮。
图 2-2 共阳数码管引脚布局及测试
注释:此时 p2=11110000 与后 A=0000 0000 调用子程序后 A=0000 0001 P1=1100 0000 即 C0 显示数字 0
图 2-3 共阳ቤተ መጻሕፍቲ ባይዱ码管引脚布局及测试
注释:此时 p2=11110001 与后 A=0000 0001 调用子程序后 A=0000 0010 P1=1111 1001 ⑤CAP、CAP-ELEC:电容,电解电容。 ⑥CRYSTAL:晶振。 即 F9 显示数字 1
单片机实验指导书
目录第一章开发流程、硬件设定一、软件开发流程--------------------------------------------------------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.THGQC-1型嵌入式单片机实验开发系统-套。
2.PC机一台。
注:其它实验与此相同,此项以后不再重述。
二、实验目的掌握汇编语言设计和实验步骤,熟悉在KEIL环境下观察内部RAM 的方法。
三、实验内容单片机中的数值有各种表达方式,这是单片机的基础。
掌握各种数制之间的转换是一种基本功。
本实验内容是将一个给定的一字节二进制数,通过编程将其转换成十进制码。
四、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。
在所建的Project文件中添加TOBCD.ASM文件,打开TOBCD.ASM文件,阅读、分析、理解程序,编译程序进行调试。
(如何建立工程请看附录说明)2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序。
程序具体功能是将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#0ffh。
打开MEMORY WINDOW数据窗口,(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、32H的数据变化,30H更新为02,31H更新为05,32H更新为05。
3)修改源程序中给累加器A的赋值,重复实验,观察实验效果。
4)打开CPU寄存器窗口,选择单步或跟踪执行方式运行程序,观察各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
五、实验程序参考框图六、实验参考程序RESULT EQU 30HORG 0000HJMP STARTORG 0100HSTART:MOV SP,#40HMOV A,#0FFHCALL BINTOBCDNOP ;此处设置断点,察看RAM 30H,31H,32HLJMP $BINTOBCD:MOV B,#100DIV ABMOV RESULT,A;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETEND实验二无符号数十进制加法实验一、实验目的掌握无符号数、十进制加法,熟悉在KEIL环境下观察内部RAM 的方法。
单片机实验指导书
前言 (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 C51软件使用2. 学习简单程序的调试方法3. 掌握存储器读写方法二、实验说明本实验指定某块存储器的起始地址和长度,要求能将其内容置1。
通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。
三、实验内容及步骤1.安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(USB线)。
2.启动PC机,打开KEIL软件,软件设置为模拟调试状态。
在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。
(KEIL软件使用详见附录)3.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及参考程序1.参考程序ORG 0000HSTART EQU 30HMOV R0, #START ;起始地址MOV R2, #10 ;设置10字节计数值mov a,#01hLoop:MOV @R0,AINC R0DJNZ R2,LoopNOPEND2.流程图五、思考题如何将存储器块的内容移动到另一位置。
实验二汇编语言程序设计一、实验目的1.进一步熟悉汇编语言编程和程序调试2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):本实验需要用到单片机最小应用系统(F1区)和十六位逻辑电平显示模块(I4区)。
用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
单片机实验指导书
目录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)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一KEIL 51软件实验实验目的:1、掌握KEIL集成开发环境的使用2、掌握算术运算程序实验设备:计算机、KEIL51软件实验内容:编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。
在KEIL51编译、连接、仿真调试。
实验步骤:一、运行KEIL51软件,出现图1所示KEIL 51主界面。
图1 KEIL 51主界面首先用Project菜单下的New Project命令建立项目文件,过程如下。
(1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。
图2 Create New Project对话框(2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project),输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。
Keil uVision2 IDE几乎支持所有的51核心的单片机,并以列表的形式给出。
选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。
图3 Select Device for Target ‘Target 1’对话框(3) 这里选择atmel公司的AT89c51。
单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 StartupCode to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。
单击后,项目文件就创建好了。
项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。
这时只有一个框架,紧接着需向项目文件中添加程序文件内容。
图4 Copy Standard 8051 Startup Code to ProjectFolder and Add File to Project确认框二、给项目添加程序文件当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。
这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。
(1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。
图5 新建文本窗口在文本编辑窗口中输入加法程序。
存盘,假设文件名为add16.asm。
注意汇编程序文件扩展名为.asm,这时默认路径为工程文件夹。
参考程序如下:ORG 0000HLJMP MAINORG 1000HMAIN:MOV R0,#30HMOV R1,#40HMOV R2,#16CLR CLOOP: MOV A,@R0ADDC A, @R1MOV @R0,AINC R0INC R1DJNZ R2,LOOPSJMP $END(2) 添加文件到项目中。
在项目管理器窗口中,展开Target1项,可以看到Source Group1子项。
右击Source Group1,在出现菜单中选择Add Files to Group ‘S ource Group1’命令。
出现添加文件的窗口,加程序add16.asm如到项目中。
如图6所示。
注意文件类型要选择为*.a*。
图5 添加程序文件到项目三、编译、连接项目,形成目标文件当把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成HEX目标文件(只在keil 51中软件仿真可以不形成目标文件)(1)选择Project菜单下的Built Target命令(或快捷键F7) 编译、连接当前项目,编译、连接时,如果程序有错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、连接,这个过程可能会重复多次。
如果没有错误,则编译、连接成功,并且在信息窗口给出提示信息。
如图6所示。
图6 编译、连接后的显示图(2)如果要做硬件下载可硬件仿真,则要形成HEX目标文件,须先对输出选项进行相应的设置,设置后再进行编译连接。
方法如下:右击项目管理器窗口的Target1项,在右键菜单中选择下面的Options for Target ‘Target 1’命令,在Options for Target ‘Target 1’对话框选择Output选项卡,在该选项卡选中Create HEX File选项,选择生成HEX文件。
如图7所示。
图7 Options for Target ‘Target 1’对话框四、运行调试观察结果当项目编译、连接成功后,就可以运行它来观察结果,运行调试过程如下。
先用Debug菜单下的Start/Stop Debug Session命令(快捷键Ctrl+F5)启动调试过程,启动后可用Debug菜单下Go连续运行命令、Step单步运行、Stop running停止运行命令等运行程序观察结果。
本实验中进入启动调试后,先用View菜单下的memory window打开存储器窗口,在address框输入d:0x30,在存储器窗口中显示片内数据存储器30h单元开始的数据。
如图8所示。
Memory window窗口图8 启动调试过程结果图在片内数据存储器窗口中右击30h单元,在右键菜单中选择modify memory at D:0x30,从30h单元开始修改数据,在弹出的窗口中输入30h~3fh单元的数据,如图9和图10所示。
图9 修改片内数据存储器的内容图10 输入30h~3fh单元的数据用相同的方法修改40h~4fh单元的数据。
修改后选择run命令运行,运行后在存储器窗口可看到该程序运行的结果。
在存储器窗口的address框中还可输入c:0x地址显示程序存储器,x:0x地址显示片外数据存储器。
另外,可用View菜单下的symbols window命令查看特殊功能寄存器,用peripherals菜单下面的命令来查看并口、串口、定时/计数器和中断的相关内容。
实验结论与问题:简要介绍KEIL 51使用过程。
实验二内存块移动实验目的:1、掌握KEIL集成开发环境的使用2、掌握数据块移动程序实验设备:计算机、KEIL51软件实验内容:编程实现将内存数据块移动,在KEIL51编译、连接、仿真调试汇编语言源程序:ORG 00HSTART: MOV R0, #30HMOV R1, #00H ;设置源地址MOV R2, #40HMOV R3, #00H ;设置目标地址MOV R7, #0 ;设置计数值LOOP: MOV DPH, R0MOV DPL, R1 ;将源地址(3000H)赋DPTRMOVX A, @DPTR ;取源地址中的数据MOV DPH, R2MOV DPL, R3 ;将目标地址(4000H)赋DPTRMOVX @DPTR, A ;将源地址中的数据送到目标地址INC R1 ;源地址加1INC R3 ;目标地址加1DJNZ R7, LOOPLJMP $END输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。
实验三乘法运算实验实验目的:1、掌握KEIL集成开发环境的使用2、掌握多字节乘法运算程序实验设备:计算机、KEIL51软件实验内容:编程实现把R2R1(R2为高字节,R1为低字节)和R0中的无符号数相乘,结果放于R7R6R5(R7为最高位)。
在KEIL51编译、连接、仿真调试实验步骤:ORG 0000HLJMP MAINORG 0030HMAIN: MOV R1,#0FFHMOV R2,#0FFHMOV R0,#11HMOV A,R1MOV B,R0MUL ABMOV R6,BMOV R5,ACLR CMOV A,R2MOV B,R0MUL ABMOV R7,BADDC A,R6MOV R6,AMOV A,R7ADDC A,#00HMOV R7,ASJMP $END实验结论及问题:给R2R1和R0赋值方法有哪些?MOV Rn,AMOV Rn,01H 立即数寻址MOV Rn,#01H 直接赋值。
三种情况实验四并行接口实验实验目的:1、掌握KEIL集成开发环境的使用2、掌握Proteus仿真软件的使用3、学会使用Proteus和KEIL软件进行系统仿真调试4、掌握单片机并行接口的结构与使用实验设备:计算机、KEIL51软件、PROTEUS软件实验内容:在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。
在KEIL 51中编程序,形成HEX文件,在PROTEUS中设计硬件,下载程序,运行看结果。
实验步骤:一、打开PROTEUS的ISIS软件,如图10所示。
新建电路图文件,设文件保存到e:\projectio下面,文件基本名为io,扩展名默认。
选择元件图10 ISIS窗口图二、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图11所示。
图11 元件选择窗口在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图10的device列表栏。
在这里依次添加元件单片机80c51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED。
如图12所示。
图12 添加元件的device列表栏三、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作。
电源与地在工具按钮的Terminals mode中选取。
如图13所示。
图13 放置元件图四、连接导线,如图14所示。
连接后存盘。
图14 连接元件图五、在keil 51中设计软件程序,形成HEX文件。
保存软件项目到电路文件相同的文件夹e:\projectio。
设计软件程序如内容一,过程略。
参考程序如下:ORG 0000HLJMP MAINORG 0100HMAIN:MOV A,#01HLOOP:MOV P2,ALCALL DELAYRL ASJMP LOOPSJMP $DELAY:MOV R2,#10HDELAY1:MOV R3,#0FFHDJNZ R3,$DJNZ R2,DELAY1RETEND六、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。
这里是同一个文件夹下面的io.hex 文件。
如图14所示。
图14 下载程序到单片机七、单击仿真运行按钮play,运行程序。