单片机实验1-51页精选文档
51单片机综合实训

班级
学号
学生姓名
指导老师
完成日期2018年7月6日
一、
1、PCB部分正面
2、电路部分反面
3、电机部分PCB正面
(包含直流电机和步进电机)
4、电机部分PCB反面
(包含直流电机和步进电机)
二、
1、电路部分正面
2、电路部分反面
3、电机部分正面
4、电机部分反面
三、
1
2、
实验一:按键识别
பைடு நூலகம்直流电机程序
步进电机程序
实验二:闪烁灯
实验三:流水灯
原理图:实验一、实验二、实验三共用。
按键识别程序
闪烁灯程序
流水灯程序
实验四:蜂鸣器
原理图
蜂鸣器程序
实验五:数码管(动态显示)
原理图
数码管程序(动态显示)
实验六:液晶显示
原理图
显示屏程序(第一页)
显示屏程序(第二页)
实验七:直流电机
实验八:步进电机
原理图:实验七、实验八共用
51单片机实验指导书

目录目录 0第一章实验装置 (1)一.伟福开发环境的使用 (1)二.LJD-SY-5100学习实验开发板的使用 (17)第二章微机原理及应用实验 (22)实验一开发环境的使用 (22)实验二数据传送 (23)实验三数码转换 (23)实验四数值运算 (24)实验五堆栈操作 (25)实验六查表操作 (25)实验七逻辑运算操作 (26)实验八中断及I/O口实验 (26)实验九串行通讯实验 (28)第一章实验装置一.伟福开发环境的使用1.菜单文件菜单选项●文件 | 打开文件打开用户程序,进行编辑。
如果文件已经在项目中,可以在项目窗口中双击相应文件名打开文件。
●文件 | 保存文件保存用户程序。
用户在修改程序后,如果进行编译,则在编译前,系统会自动将修改过的文件存盘。
●文件 | 新建文件建立一个新的用户程序,在存盘的时候,系统会要求用户输入文件名。
●文件 | 另存为将用户程序存成另外一个文件,原来的文件内容不会改变。
●文件 | 重新打开在重新打开的下拉菜单中有最近打开过的文件及项目,选择相应的文件名或项目名就可以重新打开文件或项目。
●文件 | 打开项目打开一个用户项目,在项目中,用户可以设置仿真类型。
加入用户程序,进行编译,调试。
系统中只允许打开一个项目,打开一个项目或新建一个项目时,前一项目将自动关闭。
伟福开发环境的项目文件包括仿真器设置,模块文件,包含文件。
仿真器设置包括仿真器类型,仿真头(POD)类型,CPU类型,显示格式和产生的目标文件类型,可以用以下几种方法设置仿真器。
✧在项目窗口中双击第一行,将打开仿真器设置窗口,对仿真器进行设置。
✧按鼠标右键,在弹出菜单中选择[仿真器设置]。
✧主菜单| 仿真器| 仿真器设置。
加入模块文件✧按鼠标右键,在弹出菜单中选择[加入模块文件]。
✧主菜单| 项目| 加入模块文件。
加入包含文件✧按鼠标右键,在弹出菜单中选择[加入包含文件]。
✧主菜单| 项目| 加入包含文件。
单片机实验一 WORD版WORD

实验一 Keil C软件使用与闪烁灯一、实验目的熟悉使用keil C软件二、实验内容安装keil C软件并成功注册三、实验仪器、设备计算机、keil C软件四、实验步骤1.打开安装文件KEIL c51v802.exe,根据提示进行下一步操作,一直到安装完成。
Keil C的安装步骤1注意:一定不要修改默认的C:\KEIL安装目录否则后面的注册将不能顺利注册!Keil C的安装步骤22.点击finish后,打开桌面上的Keil uVision3,进入Keil C。
点击文件(FILE)——许可证管理(License Management),在弹出的对话框中复制计算机的CID码。
选择许可证管理(License Management)注册管理界面3.打开软件注册机,芯片类型选择C51,勾选External CID co,将刚才复制的计算机CID 码输入进去,点击生成(Generate),将得到的LIC0码进行复制,将复制的LIC码返回Keil C 中进行添加,点击添加LIC,若出现LIC过期的情况,再点击注册机生成新的LIC重复此步奏,最后显示*** LIC Added Sucessfully ***并且有效期没有红色为注册成功。
KEIL C注册机Keil C注册与破解4. 驱动安装。
直接安装CH340USB转串口驱动安装程序.EXE,然后把USB 转串口线插到电脑的USB 口上,打开设备管理器,在端口COM和LPT选项下查看是否有USB-SERIAL CH340这一项,并且记住相对应的COM号。
驱动安装5. 打开keilC软件,点击“Project | New Project…”新建工程文件。
弹出一个名为“Create New Project”先选择一个合适的文件夹来存放工程文件,比如“F:\RZ-2009实验程序”,然后在文件名输入框里输入新建keil C工程的文件名这里我们输入FLASHLED。
然后点保存按钮这时keil C软件会弹出让您选择单片机型号这里我们选择AT89S52(STC单片机也选择这个)。
51单片机实验手册

51单片机实验手册实验一RAM数据传送程序设计【实验目的】1.学习51微控制器汇编语言的编写。
2.了解51微控制器RAM的读写及调试方法。
【实验原理】51微控制器片内RAM低128字节(00H~7FH)包含工作寄存器区(00H~1FH)、位操作区(20H~2FH)和数据区(30~7FH)。
对该128字节的RAM区,均可采用直接寻址和间接寻址方式,若采用间接寻址用R0或R1作间址寄存器。
特殊功能寄存器占用片内RAM 地址空间80H~FFH,对它只能采用直接寻址方式。
采用16位数据指针DPTR作间址寄存器,可寻址64KB的RAM和I/O接口。
数据传送指令是汇编语言程序设计的基本要素,数据块传送也是程序设计的基本技巧之一。
编写数据块传送程序,重点要掌握数据指针R0或R1以及DPTR的使用。
【实验内容及要求】1.试编写程序:把内部RAM的(30H~7FH)单元清零。
2.试编写程序:用数据传送指令将片内RAM地址50H~5FH中的内容置成00H~0FH,然后将其中的内容传送到外部RAM地址1000H~100FH中,最后再将外部RAM地址1000H~100FH中的内容传回内部RAM地址中。
3.试编写程序:求n2(0≤n≤9),并将结果送RAM的地址30H中。
【实验报告要求】1.画出程序框图,整理实验程序程序。
2.如果把程序1中(30H~7FH)单元的内容改为55H,如何修改程序。
3.如果把程序2中(50H~5FH),(1000H~100FH),(60H~6FH)单元的内容改为0FFH,如何修改程序。
4.如果把程序3中求n2改为求n3,分析会出现什么结果?5.分析微控制器存储器的地址空间分配,并画出简图。
6.理解数据指针:数据块传送若在内部RAM中进行,用什么作数据指针?若在外部RAM 或ROM中进行,用什么作数据指针?7.存储器和数据存储器的地址空间可以重叠,对此如何解释?【实验参考程序】程序1:内部RAM清零ORG 0000HCLEAR:MOV R0,#30H ;30H送R0寄存器MOV R6,#4FH ;4FH送R6寄存器(计数)CLR1:MOV A,#00H ;00送累加器AMOV @R0,A ;00送到30H-7FH单元INC R0 ;R0加1DJNZ R6,CLR1 ;不到4F个字节再清WAIT:LJMP WAITEND程序2:数据传送ORG 0000HMAIN: MOV R0,#50HMOV R7,#10HMOV A,#00HA1: MOV @R0,AINC AINC R0DJNZ R7,A1MOV R0,#50HMOV DPTR,#1000HMOV R7,#10HA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R7,A2MOV R0,#60HMOV DPTR,#1000HMOV R7,#10HA3: MOVX A,@DPTRMOV @R0,AINC R0INC DPTRDJNZ R7,A3HERE: AJMP HEREEND程序3:计算N的平方ORG 0000HMOV DPTR,#1000HMOVC A,@A+DPTRMOV 30H,AORG 1000HTABEL: DB 00,01,04,09,16DB 25,36,49,64,81NOPEND实验二、数制转换程序设计【实验目的】1.学习ASCII码与十六进制互换算法及程序设计方法。
51单片机实验报告(共五则)

51单片机实验报告(共五则)第一篇:51单片机实验报告51单片机实验报告实验一点亮流水灯实验现象 Led灯交替亮,间隔大约10ms。
实验代码#include 〈reg51、h> void Delay10ms(unsigned int c);voidmain(){)1(elihwﻩ{ ﻩP0= 0x00;Delay10ms(50);;ffx0 =0Pﻩﻩ;)05(sm01yaleDﻩ } } void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}} 实验原理W W hi i le(1)表示一直循环。
循环体内首先将P0 得所有位都置于零,然后延时约5 5 0*10=500ms,接着 0 P0 位全置于 1 1,于就是 D LED 全亮了。
接着循环,直至关掉电源..延迟函数就是通过多个for r 循环实现得。
实验 2 流水灯(不运用库函数)实验现象起初 led 只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后 led 除最后一个都亮,接着上述过程 #includemain(){unsigned char LED;LED = 0xfe;while(1){ ﻩ;DEL = 0PﻩDelay10ms(50);00x0 == 0P(fiﻩ {;1〈〈 DEL = DELﻩ)ﻩ;efx0 = DELﻩ} ﻩ}ﻩ} void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)—-b;0〉b;83=b(rofﻩ{ ﻩﻩﻩ;)--a;0>a;031=a(rofﻩ} ﻩ} ﻩ} 实验原理这里运用了C语言中得位运算符, , 位运算符左移, , 初始值得二进制为1111 1 110, 之后左移一次变成1111 1 100 0,当变成00000 0000 时通过 f if 语句重置 1 1 11 1 11110、延迟函数在第一个报告已经说出了,不再多说..实验 3 流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include 〈reg51、h> #include 〈intrins、h〉void Delay10ms(unsigned int c); void main(void){unsigned char LED;;EFx0 = DELﻩ)1(elihwﻩ{ ﻩP0 = LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_ = DELﻩ} ﻩ} void Delay10ms(unsigned in t c){unsigned chara, b;for(;c〉0;c——){ ﻩfor(b=38;b〉0;b—-){ ﻩﻩ;)-—a;0〉a;031=a(rofﻩ} ﻩ}}实验原理利用头文件中得函数,_cro l_(,), 可以比位操作符更方便得进行 2 2 进制得移位操作, , 比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据, , 由此比前一个例子不需要f if 语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与 A-F。
51单片机实验

实验五:定时器/计数器实验 实验目的:熟悉和使用80C51定时器/ 计数器功能 实验内容: 1、用T0作为信号发生器来使用,要求从 P1.2产生方波,周期为1S。 2、T1作为计数器来使用,每计满10个时, 将P1.3取反。 实验要求:画出电路图、编写程序(分 别用查询和中断两种方法完成)并适当注释
实验四:中断实验 实验目的:熟悉和使用MCS51中断系统 实验内容:编写程序,用P1口模拟正常 交通灯状态,十字路口为东西、南北四个 方向。当有从外部中断0输入一紧急事件时, 中断交通灯的正常状态,让路口的灯均为 红灯状态,经过一段时间后,交通灯恢复 刚才的状态。 实验要求:画出电路图、编写程序并适 当注释
实验六:RS485收发实验
一、实验目的与要求 掌握RS485串行通讯;初步了解远程控制方法 二、实验设备 STAR系列实验仪二套、PC机二台。 三、实验内容 (1) 主机通过RS485发出控制命令给从机 (2) 从机收到控制命令,检验命令的正确性,执行命令,点亮相应的发光管 四、实验原理图
实验七 并行DA实验
实验二 P1口亮灯实验 实验目的:掌握汇编语言设计和 实验调试方法 实验内容:电路如图所示,编程 实现使P1口单灯右移点亮。
实验三 输入输出实验 实验目的:熟悉并使用单片机的I/O口 实验内容:电路如图,其中P1口的低4位作为输入口,P1 口的高四位作为输出口,现要求将输入口外接逻辑电 平开关的状态输入并将其由对应的输出口送出驱动外 接的LED。 实验要求:画出电路图、编写程序并适当注释
实验一 熟悉所用软件 实验目的:掌握汇编语言设计和调试方法 实验内容:编译并执行所给程序段。 已知: (30H)=38H,(38H)=40H,(40H)=48H,(48H)90H 要求:1、写出各条指令每个操作数的寻址方式 2、写出每条指令所在的程序存储器的地址及机器码 3、按顺序写出各条指令执行的结果 MOV A,40H MOV R0,A MOV P1,#0F0H MOV @R0,30H MOV DPTR,#3848H MOV 40H,38H MOV R0,30H MOV 0D0H,R0 MOV A,@R0 MOV P2,P1 SJMP $
MCS-51单片机 实验集合(9个实验)

34 35
36
P C0 P C1
P C2 P C3
P C4 P C5
37 38
39 1
2 5
图 附A-1
附录A 实 验
名称 CPU 驱动器 4输入与门 共阳八段LED数码管 晶振 按键 DIP40插座 DIP14插座 DIP8插座 RS232电平转换芯片 并行口扩展芯片 I2C总线EEPROM存储器
该实验电路具有如下一些特点。 1. 结构简单
该电路所需元器件少,费用低,它几乎能完成“单片机原 理与应用”课程所必须的基本实验项目,如:
(1) 复位期间、复位后各引脚状态测试。 (2) I/O端口及禁止ALE引脚脉冲输出实验。 (3) 中断、定时/计数实验。 (4) 定时器T2可编程时钟输出实验。 (5) LED显示及驱动实验。 (6) 键盘接口实验。 (7) 串行通讯实验。
MOV R0,#80H ;将高128字节内部RAM地址80H传到R0中
MOV A,@R0
;将高128字节内部RAM 80单元内容传到A中
MOV 30H,A
;把存放在A中数据传到内部RAM30H单元中
附录A 实 验
3. 外部RAM与内部RAM之间的数据传送
(执行前,先将内部RAM 30H单元置为特定数值,如0AAH, 以便验证)
附录A 实 验
2. 可扩充性强
例如,增加RS232与TTL电平转换器件(如MAX232芯片)后, 即具备RS232电平转换功能,使该电路串行口能与其他串行设备 (如PC机)进行串行通讯。
增加8155并行口扩展芯片后即具备并行口扩展功能和256字 节外部RAM,即可进行外部RAM存取实验。
增加I2C总线EEPROM存储器(如24WC02、24WC32)或日历 时钟芯片PCF8563后,即可进行I2C总线设备存取实验。
51单片机实验(学)

MCS51系列单片机实验实验一P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个拨动开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三. 实验电路及连线实验一时,P1.0-P1.7接L0-L7。
实验二时,P1.0-P1.7接K0-K7,PO0-PO7接L0-L7。
CS273接8300H。
四.实验说明1.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对于程序DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS五.实验框图程序框图:主程序1框图主程序2框图1ORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HMOV A,#0FEH…END2…START:MOV DPTR,#8300H ;并行输出口地址MOV P1,#0FFH ;因P1口是准双向口,所以把P1;口作为输入口时,先置高电平. …实验二定时器实验一.实验要求由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Байду номын сангаас立一个新的工程项目
• 第4步:点击菜单File->New,新建一个源程序文件,建立
一个汇编或c文件,如果你已经有源程序文件,可以忽略这一
步。
建立一个新的工程项目
• 第5步:输入示例程序,如下图
建立一个新的工程项目
• 选择菜单File_>SAVE,保存文件。
建立一个新的工程项目
• 第6步:在Save对话框的文件名栏里输入源程序文件名,注 意一定要输入扩展名, 我们这里是要存储一个汇编源程序 文件,所以输入.ASM( .A)扩展名,保存为text.ASM的名字
建立一个新的工程项目
• 第3步:这时会弹出一个对话框,要求你选择单片机的型号,你 可以根据你使用的单片机来选择。keil 支持大部分51单片机, 如图所示,选择Atmel 的89c51之后,右边一栏是对这个单片机 的基本的说明,然后点击确定。
建立一个新的工程项目
• 新项目建成,屏幕显示Target1文件夹,如下图
(2)95H+02H+02H+44H+48H+12H
实验内容及要求
【程序清单】 org 0000h ljmp main org 0030h
main: mov r2,#06h mov r3,#00h mov r4,#00h mov r0,#50h
l1: mov A,r4 add a,r0 mov r4,a inc r0 clr a addc a,r3 mov r3,a djnz r2,l1 end
Keil C51开发应用程序的一般步骤
建立一个工程项目
项目设置
编译、调试
运行程序
第一步 建立一个新的工程项目
建立一个新的工程项目
• 双击图标,启动系统
建立一个新的工程项目
• 第1步:点击菜单project,选择建立new project 。
建立一个新的工程项目
• 第2步:从键盘输入工程项目文件名(不需要扩展 名),选择项目文件保存路径,如下图所示,项目文件 名为test,保存到keil目录里, 然后点击保存 。
建立一个新的工程项目
• 点击加号打开文件,如图所示源文件text.ASM加入到项目
组中。
建立一个新的工程项目
• 打开text.ASM文件,如下图所示:
第二步 项目设置
项目设置
• 第1步:点击菜单project,选择Options for Target’Target 1’
项,选择项目
项目设置
Keil C51开发系统
• Keil 开发环境内部集成器件数据库中储存了多 种不同型号单片机的片上资源,可适用众多厂 家的以80C51 为核心的单片机。Keil 开发环 境还提供了功能齐全的软件模拟调试及硬件调 试环境。
• 因此,掌握Keil C51集成软件的使用是进行实 验的前提,简要介绍使用Keil C51开发单片机 应用程序的一般步骤。
• 2、学习Keil C51 项目窗口、调试窗口 和存储器窗口等常用平台的使用。
• 3、完成实验报告。
实验内容及要求
• 【示例程序】 编写程序计算N个数求和。 其中N个数分别放在片内RAM区50H~55H 单元中, N=6,求和的结果放在片内RAM区 03H (高位), 04H (低位) 单元中。 实验数据: (1)32H+41H+01H+56H+11H+03H =?
• 点击菜单project项,选择Build Target 标签项编译源程序文 件。
编译、调试
• 如果源文件没有语法错误,编译成功,生成目标文件。
编译、调试
• 点击菜单中Debug,选择Start标签项,进入调试方式。
编译、调试
• 选择菜单VIEW项中的Memory Window标签项,打开存储 器窗口。
实验内容及要求
• 编写程序将实验数据存入片内RAM区 50H~55H单元中。
实验数据: (1)32H+41H+01H+56H+11H+03H =?
(2)95H+02H+02H+44H+48H+12H =?
实验报告要求
• 1、实验目的 • 2、实验内容和要求 • 3、实验过程和结果
Keil C51软件 使用方法
单片机程序开发步骤
编辑源程序 编译成目标文件 装入系统调试程序
运行程序
Keil C51开发系统
• 单片机实验软件开发平台为 Keil C51 V6﹒02 。
• Keil C51软件提供丰富的库函数和功能强大的 集成开发调试工具,全Windows界面,是一 个功能强大的单片机开发平台。
• Keil C51 可以编写C 语言源程序、汇编语言 源程序或混合语言源程序,可以编译C 源文 件( *.c )、汇编源文件( *.a)或编译混合 语言源文件( *.inc )。
实验目的
• 1、学习及掌握MCS-51汇编源程序的 书写格式和汇编语言的语法规则。
• 2、学习及掌握Keil C51的软件的基本 操作。
• 3、掌握在Keil C51开发平台上建立、 汇编、连接、调试及运行汇编程序的 方法和步骤。
实验内容及要求
• 1、以示例汇编语言源程序为蓝本,掌 握在Keil C51平台上开发单片机应用程 序的一般步骤。记录操作过程和结果。
建立一个新的工程项目
• 第7步:将源程序文件加入到项目中。点击Target 1前面的 +号,展开里面的内容source Group1
建立一个新的工程项目
• 用鼠标的右键点击Sourece Group 1,将弹出一个菜单,选择 Add Files to Guoup'Source Group 1
建立一个新的工程项目
• 第2步:这时会弹出一个对话框,要求你选择单片机的晶振 Xtl,输入12(MHZ)
项目设置
• 第3步:点击菜单中Debug标签项,设置软件仿真Use Simulator
项目设置
• 第4步:点击菜单中Output标签项,设置16进制格式文件,
最后点击确定关闭该窗口。
第三步 编译、调试
编译、调试
• 出现Add对话框,在文件类型栏选择asm source file项, 然后选择刚才的文件text. ASM, 最后点击Add按纽。之后, 窗口不会消失,(如果要添加多个文件,可以不断添加),添加 完毕,再点击Close按纽关闭该窗口。
建立一个新的工程项目
• 这时在source group 1 里就有text.ASM文件。