单片机原理实验指导书及其程序
单片机原理实验指导书(2)
2.1 实验二算术运算程序设计实验一、实验目的熟悉MCS-51指令系统中的指令,掌握汇编语言基本程序结构的实现方法,理解常用算术运算程序的算法,学习调试程序的技巧。
二、实验设备Keil C单片机程序开发软件。
三、实验内容和步骤内容:设计并调试一个双字节无符号数乘法子程序。
实验程序:功能:双字节无符号数乘法子程序。
入口参数:被乘数放在R7(高)和R6(低);乘数放在R5(高)和R4(低);积(片内RAM中的连续4字节)的首地址放在R0中。
设计思路:由于MCS-51指令集中只有单字节无符号数乘法指令,因此需要将双字节无符号数相乘变换成4次单字节无符号数相乘,才能利用乘法指令实现双字节无符号数乘法计算。
变换方法如图2.1所示。
MCS-51指令集中乘法指令的结果是固定存放在A和B中的,因此每次乘法操作后都须将结果保存在积中。
所以应首先将积的初值置0且在每次乘法指令结束后需要进行2次加操作,分别将A和B加到积的对应位置(注意:在两次加法之间要考虑进位)。
图2.1 双字节无符号乘法示意图R6 ⨯ R5R7 ⨯ R5R7 ⨯ R4⨯低字节高字节预习:1)编写好实验程序(子程序名为_dwMUL)。
2)根据编写的程序和实验步骤的要求制定调试仿真的操作方案。
步骤:1)在Keil C中创建一个新工程,新工程保存为S: \ STUDY \ Kiel \ Ex02\Ex02.uv2,然后选择单片机型号为Generic中的8051。
2)设置工程选项(操作:鼠标点击选中Project Window中的Target 1,然后选择Project Option for Target ‘Target 1’)。
将工程选项设置如下:Target:Xtal= 12 MHzDebug:Use Simulator3)创建新文件并输入编写的实验程序,然后保存在与工程相同的文件夹中(文件名为Ex02_1 . ASM),最后将其加入到工程中并编译。
单片机原理及应用实验指导书
实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。
软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口;2、新建工程:1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)存入C:\keil 文件夹中。
(机房,安装在C盘,改为C:\keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数;1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;3)选择“调试”选项卡,在单选框选择“软件仿真方式”;4)确定,即完成了“软件仿真方式”的设置。
5、新建文件1)打开“文件”菜单,选择“新建”;2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。
6、将刚建的新文件添入当前的工程中1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*;4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。
单片机实验指导书
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
MCS51单片机原理及应用实验指导书
《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口的使用方法。
单片机原理及应用技术实验指导书
单片机原理及应用实验指导书实验前准备1.建立新程序选择菜单[文件| 新建文件]功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程序ORG 0 MOV A ,#0 MOV P1,#0 LOOP:INC P1 ACALL Delay SJMP LOOP Delay:MOV R2,#3 DPL2:MOV R1,#0 DPL1:MOV R0,#0 DPL:DJNZ R0,DPL DJNZ R1,DPL1 DJNZ R2,DPL2 RETEND输出程序后的窗口如图,现在要做的是将此文件存盘。
2.保存程序选择菜单[文件| 保存文件]或[文件| 另存为]功能给出文件所要保存的位置,例如:D:\My programm 文件夹,再给出文件名MY1.ASM 。
保存文件。
文件保存后,程序窗口上文件名变成了:D:\MY PROGRAMM\MY1.ASM3.建立新的项目选择菜单[文件| 新建项目]功能,新建项目会自动分三步走:A ) 加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM ,按打开键。
如果是多模块项目,可以同时选择多个文件再打开。
B ) 加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
如果没有包含文件,按取消键。
C ) 保存项目。
在保存项目对话框中输入项目名称。
MY1 无须加后缀。
软件会自动将后缀设成“.PRJ ”。
按保存键将项目存在与你的源程序相同的文件夹下。
项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM ”,如果项目窗口没有打开,可以选择菜单[窗口| 项目窗口]功能来打开。
可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机。
4.设置项目选择菜单[设置| 仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。
在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。
80C51单片机原理实验指导书
MCS51单片机实验指导书(第2版)2006.11.8 修改了音乐演奏程序中的有关休止符的BUG淮阴师范学院计算机科学系2006.9实验板结构实验板结构如下图所示:注意:实验板与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB 接口;拆除时先断开其电源,再断开串行通信电缆。
否则极易损坏PC机的串口。
最好先关闭微机电源,再连接或拆除实验板。
实验要求1、实验前预习实验内容,理解实验原理。
2、按规定时间进入实验室,登记领取实验板和连接线,按操作程序将实验板连接到PC 机上,开始实验。
2、实验完毕请指导老师确认后,按操作程序拆除实验板,将连接线收拾好,与实验板一起归还指导老师,方可离开实验室。
3、按时撰写并上交实验报告。
实验报告格式为:(1)实验目的,(2)实验内容,(3)源代码及流程图,(4)结果记录及分析,(5)思考题,(6)体会及设想。
51单片机集成开发环境MedWin V2.39简介1、安装从网站免费下载MedWin V2.39集成开发环境安装程序压缩包,将其释放后,按照默认路径安装到C:\Manley\PmedWin文件夹。
2、设置(1)每次启动MedWin会出现对话框,询问使用仿真器还是模拟仿真,应点击[模拟仿真]按钮。
(2)设置仿真器点击[设置]—[设置仿真器]命令,选择时钟频率为12兆赫兹。
(3)设置工作目录 MedWin 集成开发环境默认的工作目录为C:\MedWin\PMedWin,建议根据需要建立自己的工作目录。
注意:不得使用长文件名或长目录名!(4)设置编译器将C语言编译器C51(文件夹)拷贝到C:\MedWin文件夹下,点击[设置]—[设置编译工具]命令,打开“设置编译工具”对话框,使用汇编语言时选择第一行,使用C语言时选择第二行,如下图所示。
3、使用(1)新建项目点击[项目管理]—[新建项目] 命令,输入项目名称,点击[确定]按钮,出现“添加项目文件”对话框,输入源代码文件名,如T1.C(或T1.ASM),单击[打开]按钮,出现代码窗口,即可开始编程。
《单片机原理及应用》实验操作指导书
c ai wp @f j ut .e d u.c n单片机实验操作指导书第一篇 Keil uVision2基本操作Windows应用程序Keil uVision2是一个集成开发环境,它把项目管理、源代码编辑、程序调试等集成到一个功能强大的环境中。
存储器窗口工作窗口外围设备窗口输出窗口项目窗口下面以P1口点亮LED 灯为例,介绍基本的实验操作。
1.双击桌面上的图标,启动Keil uVision2。
2.选择或工具栏的按钮新建文件。
3.编辑源程序,并将文件保存成后缀为.asm 的文件(本例存为led.asm)。
(建议先在D 盘建一文件夹如MCS51用于存放实验文件)。
c ai w p @f j ut .e d u.c n4.建立项目。
(1)从菜单中选择新建项目。
(2)输入项目名称(一般与源程序同名),点保存。
(3)选择器件。
选择Atmel 公司的AT89S51c ai w p @f j ut .e d u.c n往下,找到AT89S51,选中后点确定。
(5)出现下列对话项时,选择“否”。
(如果用C51,则选择“是”)5.将源程序文件添加到项目中。
①鼠标左键单击“+”号展开②单击鼠标右键③单击鼠标左键④在弹出的对话窗口中选择“文件类型”和“文件名”,然后点“Add ”添加。
添加后该窗口不会关闭,点“Close ”关闭。
c ai w p @f j ut .e d u.c n项目中添加了源程序文件6.设置目标文件选项单击工具按钮“Options for Target ”,对“Target”和“Output”标签进行相关设置。
设置后点“确定”。
设置时钟频率,用于仿真调试时定时、观察程序运行时间等,如设为6.0MHzc ai w p @f j ut .e d u.c n单击,将该选项打勾,编译后才会在当前目录生成后缀为.HEX 的目标文件,用于仿真调试。
7.编译 用菜单中的命令或工具栏的按钮对项目进行编译。
单片机原理及应用实验指导书
单片机原理及应用实验指导书河北理工大学信息学院2005 年5 月目录实验一P1 口实验................................................................... .1 实验二软件BCD ASCII码转换 .......................................................... .3 实验三定时/计数器实验................................................................. .4 实验四外部中断实验............................................................. (6)实验五外部存储器扩展实验........................................................ (7)实验六串行口通讯实验 (8)实验七A/D转换接口实验 (9)一、实验题目1.P1 口做输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。
二、实验目的1.学习P1 口作为输出口的使用方法。
2.学习延时子程序的编写和使用。
三、有关说明P1 口为准双向口,P1 口的每一位都能独立地定义为输出线或输入线。
作为输入的口线,必须向锁存器相位写入1,该位才能作为输入。
再看一下延时程序的实现,现常用的有两种方法:一是用定时器中断来实现,二是用指令循环来实现。
在系统时间允许的情况下,可以采用后一种方法。
以12M晶振为例,一个机器周期为12/12=1uS,现要写一个延时0.1S的程序,可大致写出如下:MOV R7,#200DE1:MOV R6,#XDE2:DJNZ R6,DE2DJNZ R7,DE1上面MOV,DJNZ指令均需要两个机器周期,所以每执行一条指令需2uS,现求出X 值:(X*2+2+1)*200+1=100000,求出X=248。
单片机实验指导书
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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. 了解存储器的块操作方法。
二、实验内容1. 指定内部RAM中某块的起始地址和长度,要求能将其内容清零。
2. 指定外部RAM中某块的起始地址和长度,要求能将其内容清零。
3. 指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。
三、实验说明通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。
四、实验仪器和设备PC机、W A VE软件。
五、参考程序框图存储器块清零参考程序框图六、参考程序(略)一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把7000H的低四位BCD数和7001H的低四位BCD数,拼成压缩BCD码的形式存放在7002H。
三、实验说明通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。
四、主要仪器设备及耗材PC机、W A VE软件五、参考程序框图六、参考程序(略)实验三数据块移动(基础实验)一、实验目的1.了解内存的移动方法。
2.加深对存储器读写的认识。
二、实验内容将指定源地址和长度的存储块移到指定目标位置。
三、实验说明块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。
本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。
另外,若源块地址和目标块地址有重叠,该如何避免?四、实验仪器和设备PC机、W A VE软件。
五、参考程序框图存储块移动参考程序框图六、参考程序(略)实验四实验三跑马灯实验一、实验目的1、掌握P1口控制跑马灯程序的编写方法。
2、延时程序的编写方法。
二、实验内容实现P1控制的8个灯D1~D8的间隔半秒的循环点亮。
三、实验说明1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。
单片机原理实验指导书及其程序
实验一伟福编程软件、编程器、实验箱的使用一、实验目的1.掌握仿真软件、编程器、实验箱的安装、使用方法2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明使用伟福仿真软件Wave6000、编程器、实验箱。
实验时间:3学时。
三、实验内容及步骤1.启动计算机,按照软件安装说明安装伟福仿真软件,进入开发环境。
2.参照开发环境说明,掌握软件的使用。
3.P1.0 P1.1接发光二极管,参照如下结构,使用软件延时方式,编写程序,控制P1.0以4Hz、P1.0以2Hz的频率闪烁。
4.使用编程器、单片机开发实验箱,调试程序,观察发光二极管的闪烁。
5.写实验报告,内容包括电路原理图,汇编程序,延时的计算,心得体会等四、程序示例;P1.0输出以某频率方波,P1.1以其1/2频率输出方波ORG 00HSJMP MAIN ;跳转到主程序ORG 30HMAIN: MOV R0,#02HFP10: CALL DELAYCPL P1.0DJNZ R0, FP10CPL P1.1MOV R0,#02HSJMP FP10DELAY: MOV R1,#100DEL1: MOV R2,#50DJNZ R2,$NOPNOPDJNZ R1,DEL1RETEND;思考:在此例中,P1.0、P1.1输出方波的频率究竟是多少?实验二程序设计实验一、实验目的:⑴熟练掌握80C51汇编语言程序设计方法。
⑵熟练掌握80C51汇编语言程序的调试方法。
二、实验说明实验时间:2学时。
三、实验内容:完成从内部数据存储区20H开始的8个单字节数累加、计算平均程序的设计与调试。
累加结果存放在29H(高字节)、2AH(低字节),平均数存放在2BH。
四、实验设备:PC机五、思考:如何使用软件Wave6000调试所编写的计算程序?六、实验报告要求1. 整理好执行正确的程序和数据;2. 写实验报告,内容包括实验项目、内容,汇编程序及其相应的注释说明,实验完成情况,心得体会。
单片机原理实验指导书
实验一仿真软件的使用,简单程序设计一.实验目的:1.掌握单片机仿真软件的基本操作方法;2.熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3.掌握简单程序编写的基本方法和技巧;二.实验内容:1. 将内部RAM的30H—33H四个存储单元內分别存放01H、02H、03H、04H 四个数;然后送至工作寄存器R0—R3。
2.将内部RAM的30H—33H四个存储单元內的数分别传送至外部RAM的2030H--2033H存储单元中。
3. 将内部RAM的30—32H的连续3个字节中的无符号数相加,结果的低位送33H 单元,高位送34H单元实用文档三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0—R3的内容;(3)单步运行程序,并检查运行结果:检査R0—R3的内容;(4)查看程序的机器码。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H—2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。
3.实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;实用文档(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码四.实验程序1.实验内容1的程序ORG 0000HMOV 30H,#00HMOV 31H,#01HMOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND实用文档2.实验內容2的程序ORG 0000HMOV 30H,#00HMOV 31H,#11HMOV 32H,#22HMOV 33H,#33HMOV DPTR,2030HMOV R0,#30HMOV R1,#04HLOOP:MOV A,·R0HMOVX ·DPTR,AINC R0INC DPTRDJNZ R1,LOOPSJMP $实用文档END3.实验内容3的程序ORG 0000HMOV 30H,#0F8HMOV 31H,#0C6HMOV 32H,#0D9HCLR CMOV A,30HADD A,31HJC NEXT1SJMP NEXT2NEXT1:INC R1NEXT2:ADD A,32HMOV 33H,AJC NEXT3实用文档SJMP NEXT4NEXT3:INC R1NEXT4:MOV 34H,R1SJMP $五.实验报告要求:1.对实验内容1和实验内容2的程序加注释。
单片机原理与应用实验指导书(含参考程序)
单片机实验实验说明:实验一和二做一次实验三和四做一次实验五和六分别做一次实验一 P1口实验一一、实验目的:1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验设备:EL-MUT-II型实验箱,8051CPU板三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。
四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。
可以用第二个实验做一下实验。
先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。
现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH经计算得X=127。
单片机实验指导书--单片机原理
单片机技术(1)实验指导书黎明大学电子工程系编目录软件实验1. 存储器块清零2. 二进制到BCD 码转换3. 二进制到ASCII 码转换4. 内存块移动5. 程序跳转表6. 数据排序硬件实验1. P1 口输入输出2. 继电器控制3. 计数器实验4. 外部中断实验5. 定时器实验软件实验一存储器块清零一、实验要求1.指定存储器中某块的起始地址和长度,要求能将其内容清零。
二、实验目的1.掌握存储器读写方法2.了解存储器的块操作方法三、实验说明通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。
如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请学生修改程序,完成此操作。
四、程序框图软件实验二二进制到BCD 转换一、实验要求将给定的一个二进制数,转换成二十进制(BCD)码二、实验目的1.掌握简单的数值转换算法2.基本了解数值的各种表达方法三、实验说明计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
有兴趣的同学可以试试将BCD转换成二进制码。
四、程序框图软件实验三二进制到ASCII码转换一、实验要求给出一个BCD数,将其转换成ASCII值。
二、实验目的1.了解BCD值和ASCII值的区别2.了解如何将BCD值转换成ASCII值3.了解如何查表进行数值转换及快速计算。
三、实验说明此实验主要让学生了解数值的BCD 码和ASCII码的区别,利用查表功能可能快速地进行数值转换。
进一步了解数值的各种表达方式。
四、程序框图软件实验四内存块移动一、实验要求将指定源地址和长度的存储块移到指定目标位置二、实验目的1.了解内存的移动方法。
2.加深对存储器读写的认识。
三、实验说明块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。
本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。
另外,若源块地址和目标块地址有重叠,该如何避免?四、程序框图软件实验五程序跳转表一、实验要求在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。
单片机原理实验指导书(7)
2.1 实验七A/D与D/A实验一、实验目的加深对A/D和D/A基础知识的理解。
二、实验设备Keil C单片机程序开发软件。
Proteus仿真软件DP51-PROC单片机综合实验仪。
DT-2003数字万用表。
三、实验内容和步骤内容:利用ADC0809和DAC0832实现模拟电压信号的采集与输出。
实验程序:使用T1作为定时器(定时时间为50毫秒),每1秒时间后,启动ADC0809转换,在转换结束后(触发外部中断)读出A/D转换值,将该值输出到DAC0832,并同时显示到LCM显示器上(显示子程序/函数由实验库文件提供)。
本次实验程序需要使用实验库文件(LCMDRV_12864.LIB)。
该库中的子程序/函数占用单片机片内RAM中地址为18H~20H的单元,因此实验程序不能使用这些单元。
如果用汇编编写实验程序,必须先用$INCLUDE (LCMDRV_12864.INC )指令加载实验库头文件,实验五中的表2.5说明了LCMDRV_12864.LIB中子程序的功能和在汇编语言编程时的调用方法。
如果用C51编写实验程序,必须先用#include "LCMDRV_12864.h"语句加载实验库头文件,库函数的使用详见LCMDRV_12864.h中的说明。
设计思路:①主程序在完成对INT1和T1的设置后,可进入死循环(等待中断请求)。
②在T1的中断服务程序中需要使用一存储单元对T1的中断次数进行计数,当计数次数达20次时,意味着定时1秒时间到(参见实验五),此时才启动一次AD转换(通过向ADC0809的一次写操作实现)。
③AD转换的结束信号作为中断请求(INT1)。
在对该中断的响应和服务时,才读出本次AD转换的结果值,该值又作为DA转换的值(向DAC0832写)。
④为便于理解,数值在显示前应进行BCD转换(库文件自动完成转换)。
设计参考:①主程序需要设置的控制位如下:IT1 外部中断触发方式控制0=电平1=边沿(下降沿)EX1和ET1 外部中断允许控制0=屏蔽1=允许PX1和PT1 中断优先级级别控制0=低级1=高级EA 中断允许总控制0=屏蔽1=允许TR1 定时/计数器运行控制0=停止1=允许②定时/计数器工作方式控制寄存器(TMOD):GA TE 门控位0=由TR X控制定时/计数器运行1=TR X和INT X信号共同控制(X = 0或1)C/T 定时/计数方式选择0=定时1=计数M1M0 工作方式选择00=13位定时/计数器工作方式01=16位定时/计数器工作方式10=常数自动装入的8位定时/计数器工作方式11=两个8位定时/计数器工作方式(仅适用于T0)③中断服务程序的入口地址:0013H 外部中断1001BH 定时/计数器1④地址分配ADC0809 3C00H~3C07H(IN0 ~ IN7)DAC0832 3800H预习:1)编写好实验程序。
单片机实验指导书
目录实验一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、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
单片机整套实验及程序
单片机整套实验及程序引言单片机作为嵌入式系统开发的核心技术之一,广泛应用于各个领域,在教育、科研和工业生产中占有重要地位。
本文将介绍单片机整套实验及程序设计的相关内容,通过实际操作和编程实践,帮助读者更好地理解和掌握单片机的基本原理和应用。
实验一:LED闪烁实验LED闪烁实验是单片机入门实验的重要一环。
通过这个实验,我们可以了解到单片机引脚的输入输出特性、编程语言的基本结构以及简单的电路连接方法。
实验目的•掌握单片机引脚的输入输出特性;•了解单片机编程语言的基本结构;•学会使用电路连接方法。
实验材料•单片机开发板;•电阻、LED灯、杜邦线等电子元件。
实验步骤1.连接电路:将单片机的一个GPIO引脚连接到一个电阻,再将电阻的另一端连接到LED的正极,LED的负极连接到地线。
2.编写程序:使用C语言或汇编语言编写LED闪烁的程序。
程序的核心是通过控制GPIO引脚的高低电平来控制LED的亮灭。
3.烧录程序:将编写好的程序烧录到单片机中。
4.调试程序:通过观察LED的亮灭情况,判断程序是否运行正常。
程序示例(C语言)下面是一个使用C语言编写的LED闪烁程序示例:#include <reg51.h>void delay(unsigned int time) {while(time--);}void mn() {while(1) {P1 = 0xFF; // 将P1口设置为高电平delay(10000);P1 = 0x00; // 将P1口设置为低电平delay(10000);}}实验结论通过LED闪烁实验,我们成功地掌握了单片机引脚的输入输出特性、编程语言的基本结构以及简单的电路连接方法。
这为之后的实验和项目开发奠定了重要的基础。
实验二:数码管显示实验数码管是一种常见的数字显示设备,它广泛应用于计时器、计数器、温度显示等场景。
通过数码管显示实验,我们可以学习如何控制数码管的显示和编程。
实验目的•学会使用单片机输出控制信号控制数码管的显示;•理解数码管的工作原理;•掌握数码管编程的方法。
单片机实验指导书
实验一、输入输出接口编程一、实验目的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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一伟福编程软件、编程器、实验箱的使用一、实验目的1.掌握仿真软件、编程器、实验箱的安装、使用方法2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明使用伟福仿真软件Wave6000、编程器、实验箱。
实验时间:3学时。
三、实验内容及步骤1.启动计算机,按照软件安装说明安装伟福仿真软件,进入开发环境。
2.参照开发环境说明,掌握软件的使用。
3.P1.0 P1.1接发光二极管,参照如下结构,使用软件延时方式,编写程序,控制P1.0以4Hz、P1.0以2Hz的频率闪烁。
4.使用编程器、单片机开发实验箱,调试程序,观察发光二极管的闪烁。
5.写实验报告,内容包括电路原理图,汇编程序,延时的计算,心得体会等四、程序示例;P1.0输出以某频率方波,P1.1以其1/2频率输出方波ORG 00HSJMP MAIN ;跳转到主程序ORG 30HMAIN: MOV R0,#02HFP10: CALL DELAYCPL P1.0DJNZ R0, FP10CPL P1.1MOV R0,#02HSJMP FP10DELAY: MOV R1,#100DEL1: MOV R2,#50DJNZ R2,$NOPNOPDJNZ R1,DEL1RETEND;思考:在此例中,P1.0、P1.1输出方波的频率究竟是多少?实验二程序设计实验一、实验目的:⑴熟练掌握80C51汇编语言程序设计方法。
⑵熟练掌握80C51汇编语言程序的调试方法。
二、实验说明实验时间:2学时。
三、实验内容:完成从内部数据存储区20H开始的8个单字节数累加、计算平均程序的设计与调试。
累加结果存放在29H(高字节)、2AH(低字节),平均数存放在2BH。
四、实验设备:PC机五、思考:如何使用软件Wave6000调试所编写的计算程序?六、实验报告要求1. 整理好执行正确的程序和数据;2. 写实验报告,内容包括实验项目、内容,汇编程序及其相应的注释说明,实验完成情况,心得体会。
实验三、流水灯一、实验目的1. 掌握伟福软件、编程器、实验箱的使用。
2. 体验I/O口的使用。
3. 掌握软件延时的设计。
二、实验说明实验时间:3学时。
三、实验内容及要求实验内容:(一)使用灌电流方式,P1口外接8个发光二极管。
编程序,控制发光二极管按一定的频率(2~5赫兹)循环点亮。
(二)发光二极管按一定的频率(2~5赫兹)向左循环点亮50次后,向右左循环点亮50次后,往复进行。
实验要求:1.补充完整电路原理图。
2.编写相应完整的汇编程序,并完成软件模拟调试。
3.使用编程器、实验箱调试程序。
四、实验设备:PC机、编程器、THDPJ—1单片机开发综合实验箱五、部分电路原理图请自行补充最小系统,及P1口未画完的部分六、实验报告要求1. 整理好执行正确的程序;2. 写实验报告,内容包括实验项目、内容,电路原理图,汇编程序,计算说明,实验要求完成情况,心得体会。
实验四、数据段搬移程序设计一、实验目的1. 掌握伟福仿真软件使用。
2. 掌握数据搬移程序的设计。
二、实验说明实验时间:2学时。
三、实验内容及要求实验内容:编程序,将内部数据存储区从地址30H开始的连续16个字节搬到片内数据存储区地址40H开始的连续16个字节,并将地址30H开始的连续16个字节清零。
实验要求:1.编写程序;2.先将30H开始的连续16个字节填上数据,再逐步、断点等方法调试程序;2.编写实验报告。
四、实验设备:PC机、伟福仿真软件。
实验五、累加程序设计/修改:算术运算程序设计一、实验目的1. 掌握伟福仿真软件使用。
2. 掌握多字节累加程序设计。
二、实验说明实验时间:2学时。
三、实验内容及要求实验内容:编程序,将内部数据存储区从地址30H开始的连续4个双字节数(30H高字节31H低字节、32H高字节33H低字节、34H高字节35H低字节、36H高字节37H低字节)累加,结果存放在38H、39H、3AH(低字节),并计算平均数,存放在3BH、3CH(低字节)。
实验要求:1.编写程序;2.先将30H开始的连续4个双字节数数据,再调试程序,多次填上不同数值观察计算是否正确;2.编写实验报告。
四、实验设备:PC机、伟福仿真软件。
实验六、定时器的使用(查询方式)一、实验目的1. 掌握编程器使用。
2. 掌握定时/计数器初始化程序的设计。
3. 掌握使用定时/计数器的方式1、方式2的编程方法。
二、实验说明实验时间:2学时。
三、实验内容及要求实验内容1、选择定时器T1为工作方式1,产生100mS定时,使P1口的八个发光二极管循环闪亮。
2、选择定时器T1为工作方式2,产生100mS定时,使P1口的八个发光二极管循环闪亮。
实验要求:1.补充完整电路原理图;2.查询方式使用中断;2.编写相应完整的汇编程序,并完成软件模拟调试;3.使用编程器、实验箱调试程序。
四、实验设备:PC机、编程器、THDPJ—1单片机开发综合实验箱五、部分电路原理图请自行补充最小系统,及P1口未画完的部分。
六、实验报告要求1. 整理好执行正确的程序;2. 写实验报告,内容包括实验项目、内容,电路原理图,汇编程序,定时器的初使化说明,初值计算说明,实验要求完成情况,心得体会。
实验七、定时器的使用(中断方式)一、实验目的1. 掌握伟福仿真软件、编程器使用。
2. 掌握定时/计数器初始化程序的设计。
3. 掌握使用定时/计数器的方式1、方式2的编程方法。
二、实验说明实验时间:2学时。
三、实验内容及要求实验内容1、选择定时器T1为工作方式1,产生100mS定时,使P1口的八个发光二极管循环闪亮。
2、选择定时器T1为工作方式2,产生100mS定时,使P1口的八个发光二极管循环闪亮。
实验要求:1.补充完整电路原理图;2.用中断方式使用定时器;2.编写相应完整的汇编程序,并完成软件模拟调试;3.使用编程器、实验箱调试程序。
四、实验设备:PC机、编程器、THDPJ—1单片机开发综合实验箱五、部分电路原理图请自行补充最小系统,及P1口未画完的部分。
六、实验报告要求1. 整理好执行正确的程序;2. 写实验报告,内容包括实验项目、内容,电路原理图,汇编程序,定时器的初使化说明,初值计算说明,实验要求完成情况,心得体会。
实验八同步串口应用于LED静态显示一、实验目的1. 掌握同步串口应用于接口扩展。
2. 掌握七段数码显示设计的基本方法。
二、实验说明实验时间:3学时。
三、实验内容及要求实验内容使用MCS-51单片机的同步串口功能,利用三片8位并行输出串行移位寄存器74LS164,实现000到999的循环显示,每隔100ms将显示数字加一。
实验要求:1.画出完整电路原理图,并进行实验箱电路连接。
2.编写相应完整的汇编程序,并完成软件模拟调试。
3.使用编程器、实验箱调试程序。
四、实验设备:PC机、编程器、THDPJ—1单片机开发综合实验箱六、实验报告要求1. 整理好执行正确的程序;2. 写实验报告,内容包括实验项目、内容,电路原理图,汇编程序以及相应当说明注释,实验要求的完成情况,心得体会。
实验九按键控制LED静态显示一、实验目的1. 掌握同步串口应用于接口扩展。
2. 掌握七段数码显示设计的基本方法。
3. 掌握独立按键查询方式的使用二、实验说明实验时间:1学时。
三、实验内容及要求实验内容使用MCS-51单片机的同步串口功能,利用三片8位并行输出串行移位寄存器74LS164,实现000到999的循环显示,每按一次按键将显示数字加一。
实验要求:1.画出完整电路原理图,并进行实验箱电路连接。
2.编写相应完整的汇编程序,并完成软件模拟调试。
3.使用编程器、实验箱调试程序。
四、实验设备:PC机、编程器、THDPJ—1单片机开发综合实验箱六、实验报告要求1. 整理好执行正确的程序;2. 写实验报告,内容包括实验项目、内容,电路原理图,汇编程序以及相应当说明注释,实验要求的完成情况,心得体会。
实验十跑表设计一、实验目的1. 掌握同步串口应用于接口扩展。
2. 掌握七段数码显示设计的基本方法。
3. 掌握独立按键中断方式的使用二、实验说明实验时间:1学时。
三、实验内容及要求实验内容使用MCS-51单片机的同步串口功能,利用五片8位并行输出串行移位寄存器74LS164,实现X分到XX秒XX的显示,按键按下从0分00秒00开始计时,再按按键,时间停止,再按按键,显示数值清零。
实验要求:1.画出完整电路原理图,并进行实验箱电路连接。
2.编写相应完整的汇编程序,并完成软件模拟调试。
3.使用编程器、实验箱调试程序。
四、实验设备:PC机、编程器、THDPJ—1单片机开发综合实验箱六、实验报告要求1. 整理好执行正确的程序;2. 写实验报告,内容包括实验项目、内容,电路原理图,汇编程序以及相应当说明注释,实验要求的完成情况,心得体会。
实验二ORG 0000H SUM: MOV R0,#20HMOV R1,#8MOV R2,#3MOV 29H,#00HMOV 2AH,#00HMOV 2BH,#00H LOOP1: MOV A,2AHADD A,@R0MOV 2AH,ACLR AADDC A,29HMOV 29H,AINC R0DJNZ R1,LOOP1MOV 2CH,29HMOV 2DH,2AH LOOP2:CLR CMOV A,2CHRRC AMOV 2CH,AMOV A,2DHRRC AMOV 2DH,ADJNZ R2,LOOP2MOV 2BH,ARET(一)ORG 0000HSJMP STARTORG 30H START: MOV A,#0FEH NEXT: MOV P1,AACALL DELAYRL ASJMP NEXT DELAY: MOV R3,#10 DEL1: MOV R4,#100 DEL2: MOV R5,#200 DEL3: DJNZ R5,DEL3DJNZ R4,DEL2DJNZ R3,DEL1RETEND(二)ORG 0000HSJMP STARTORG 30H START: MOV A,#0FEH NEXT: MOV R0,#50MOV R1,#50 LOOP1: ACALL DELAYMOV P1,ARL ADJNZ R0,LOOP1 LOOP2: ACALL DELAYMOV P1,ARR ADJNZ R1,LOOP2SJMP NEXT DELAY: MOV R3,#10 DEL1: MOV R4,#100 DEL2: MOV R5,#200 DEL3: DJNZ R5,DEL3DJNZ R4,DEL2DJNZ R3,DEL1RETENDORG 0000H MOVE:MOV R0,#30HMOV R1,#40HMOV R2,#16 LOOP:MOV A,@R0MOV @R1,AMOV @R0,#00HINC R0INC R1DJNZ R2,LOOPRET实验五ORG 0000HSTART: MOV R0,#30HMOV R1,#31HMOV R2,#4MOV R3,#4MOV R4,#2MOV 3AH,#00HMOV 39H,#00HMOV 38H,#00HMOV 3CH,#00HMOV 3BH,#00H LOOP1: MOV A,39HADD A,@R0MOV 39H,ACLR AADDC A,38HMOV 38H,AINC R0INC R0DJNZ R2,LOOP1CLR CLOOP2: MOV A,3AHADD A,@R1MOV 3AH,ACLR AADDC A,39HMOV 39H,AINC R1INC R1DJNZ R3,LOOP2MOV 3DH,38HMOV 3EH,39HMOV 3FH,3AH LOOP3: CLR CMOV A,3DHRRC AMOV 3DH,ACLR AMOV A,3EHRRC AMOV 3EH,ACLR AMOV A,3FHRRC AMOV 3FH,ADJNZ R4,LOOP3MOV 3BH,3EHMOV 3CH,3FHRET实验六(晶振频率为6MHz)(一)ORG 0000H START: MOV TMOD,#10HMOV A,#0FEHSETB TR1LOOP: MOV TL1,#0B0HMOV TH1,#3CHMOV P1,AJNB TF1,$CLR TF1RL ASJMP LOOPEND(二)ORG 0000H START: MOV TMOD,#20HMOV A,#0FEHMOV TH1,#06HMOV TL1,#06HSETB TR1LOOP1: MOV R0,#200 LOOP2: JNB TF1,$CLR TF1DJNZ R0,LOOP2RL AMOV P1,ASJMP LOOP1END实验七(晶振频率为6MHz)(一)ORG 0000HSJMP STARTORG 001BHSJMP SERVORG 0030H START: MOV SP,#60HMOV TMOD,#10HMOV TH1,#3CHMOV TL1,#0B0HMOV A,#0FEHMOV P1,ASETB EASETB ET1SETB TR1SJMP $SERV: MOV TH1,3CHMOV TL1,0B0HRL AMOV P1,ARETIEND (二)ORG 0000HSJMP STARTORG 001BHSJMP SERVORG 0030H START: MOV SP,#60HMOV TMOD,#20HMOV TH1,#06HMOV TL1,#06HMOV A,#0FEHMOV P1,ASETB EASETB ET1SETB TR1MOV R0,#200 LOOP: SJMP $SERV: CLR TF1DJNZ R0,LOOP1RL AMOV P1,ARETILOOP1: RETIEND实验八ORG 0000HMAIN: MOV SCON,#00HMOV 4AH,#00HMOV 4BH,#00HMOV 4CH,#00HMOV DPTR,#TABMOV R0,#10MOV R1,#10MOV R2,#10 LOOP:ACALL OTACALL DELAYMOV A,4AHINC AMOV 4AH,ADJNZ R0,LOOPMOV 4AH,#00HMOV R0,#10MOV A,4BHINC AMOV 4BH,ADJNZ R1,LOOPMOV 4BH,#00HMOV R1,#10MOV A,4CHINC AMOV 4CH,ADJNZ R2,LOOPMOV 4CH,#00HMOV R2,#10SJMP LOOPOT: MOV A,4CHMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4BHMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4AHMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,#00HMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,#00HMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIRETDELAY: MOV R3, #10DEL1: MOV R4, #2DEL2: MOV R5, #25DEL3: DJNZ R5, DEL3DJNZ R4, DEL2DJNZ R3, DEL1RETTAB:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E 0HDB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,0DE H实验九ORG 0000HSETB P3.3MAIN: MOV 4AH,#00HMOV 4BH,#00HMOV 4CH,#00HMOV DPTR,#TABMOV R0,#10MOV R1,#10MOV R2,#10 LOOP: MOV A,4CHMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4BHMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4AHMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,#00HMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,#00HMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIJB P3.3,$JNB P3.3,$MOV A,4AHINC AMOV 4AH,ADJNZ R0,LOOPMOV 4AH,#00HMOV R0,#10MOV A,4BHINC AMOV 4BH,ADJNZ R1,LOOPMOV 4BH,#00HMOV R1,#10MOV A,4CHINC AMOV 4CH,ADJNZ R2,LOOPMOV 4CH,#00HMOV R2,#10SJMP LOOPTAB:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E 0HDB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,0DE H实验十ORG 0000HSETB P3.3 MAIN: MOV 4AH,#00HMOV 4BH,#00HMOV 4CH,#00HMOV 4DH,#00HMOV 4EH,#00HMOV R0,#10MOV R1,#10MOV R2,#10MOV R3,#6MOV R4,#10MOV DPTR,#TABACALL OTJB P3.3,$JNB P3.3,$ LOOP:ACALL OTACALL DELAYMOV A,4AHINC AMOV 4AH,ADJNZ R0,TJMOV 4AH,#00HMOV R0,#10MOV A,4BHINC AMOV 4BH,ADJNZ R1,TJMOV 4BH,#00HMOV R1,#10MOV A,4CHINC AMOV 4CH,ADJNZ R2,TJMOV 4CH,#00HMOV R2,#10MOV A,4DHINC AMOV 4DH,ADJNZ R3,TJMOV 4DH,#00HMOV R3,#6MOV A,4EHINC AMOV 4EH,ADJNZ R4,TJMOV 4EH,#00HMOV R4,#10TJ: JB P3.3,LOOPJNB P3.3,$JB P3.3,$JNB P3.3,$SJMP MAINOT: MOV A,4EHMOVCA,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4DHMOVCA,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4CHMOVCA,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4BHMOVCA,@A+DPTRMOV SBUF,AJNB TI,$CLR TIMOV A,4AHMOVCA,@A+DPTRMOV SBUF,AJNB TI,$CLR TIRETDELAY: MOV R5, #10DEL1: MOV R6, #5DEL2: MOV R7, #25DEL3: DJNZ R7, DEL3DJNZ R6, DEL2DJNZ R5, DEL1RETTAB:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0HDB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,0DEHORG 0000HSTART:MOV P1,#00H ACALL DELAYMOV P1,#0FFHACALL DELAYSJMP STARTDELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOPDJNZ R4,DEL1DJNZ R3,DEL2RETENDORG 0000HSJMP STARTORG 30HSTART: MOV A,#0FEH ;送显示模式字NEXT: MOV P1,A ;点亮二极管ACALL DELAYRL A ;左移一位,改变显示模式字SJMP NEXT ;下面一个二极管DELAY: MOV R3,#0FFH ;延时子程序开始DEL2: MOV R4,#0FFHDEL1: NOPDJNZ R4,DEL1DJNZ R3,DEL2RETEND。