实验一-清零程序
单片机实验箱
系统组成
(1)硬件: (2)软件和程序: 系统配置98/2000/XP//WIN7等操作平台的单片机仿真调试软件KEILC51 UV2调试环境,支持汇编、C51语言 编译、调试;单片机ISP在线下载软件;串口调试助手;取模软件等;随光盘配有全部的实验源程序和电子版实 验指导书。 (3)开关电源: 系统内置高性能开关电源,提供DC:+5V、+12V、-12V、GND。 (4)实验箱材质和尺寸: 系统配置轻便铝合金箱子作为实验仪机箱。长宽高
实训包
(用户根据需求选配)
谢谢观看
★下载仿真通讯急速BPS,也是KEIL支持的最高速度,相比以前版本提高一个数量级(10倍以上),单步运行如 飞。
实验项目
(一)软件实验 (1)清零程序; (2)拆字程序; (3)拼字程序; (4)数据区传送子程序; (5)数据排序实验; (6)查找相同数据个数; (7)无符号双字节快速乘法子程序; (8)多分支程序; (9)脉冲计数实验; (10)电脑时钟实验。
单片机实验箱
启东计算机总厂研制开发的实验箱
01 系统简介
03 主要特点 05 实训包
目录
02 系统组成 04 实验项目
单片机实验箱是启东计算机总厂研制开发的。适用于《MCS-51单片机原理与接口》《C8051嵌入式单片机控 制技术》《自动化控制》《CPLD/FPGA技术》等课程教学的最佳配套实验设备。
主要特点
(1)USB三核高性能KeilC仿真器(标配):系统标配有USB接口DICE-Keil51仿真器或选配DICE-3000和其 它型号仿真器。
★DICE-Keil51仿真器是目前同行业功能完整,性能稳定,技术先进的全USB接口仿真器。兼容KEILC51 UV2 调试环境支持单步、断点、随时可查看寄存器、变量、IO、内存内容。支持夭折功能可仿真各种51指令兼容单片 机,ATMEL、WINBOND、INTEL、SST、ST等等。
微机原理实验报告清零程序
竭诚为您提供优质文档/双击可除微机原理实验报告清零程序篇一:微机原理实验报告微机原理与应用课程实验报告实验分工:报告人同组人实验时间:20XX.12.10课程设计一、题目要求(1)在数据段首址为0100h开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据;(2)将上述源区内容传送到目的内存区2(首址为1100h)中;(3)检验上述传送过程是否正确,如有错误,在紧跟内存区2后的第一个字节开始写入AscII码“eRRoR”,否则写入“oK”。
(4)用冒泡法将上述内存区2的数据,按从小到大的次序重新排列,排列后存放在内存区3(开始地址为2100h)。
(5)将上述内存区2和内存区3的第100个数据分别乘以2,并转为bcD码,保存在各自存储区的末尾。
再将上述两个bcD码相乘,其结果保存在内存区1的末尾处。
二、实验程序框图三、程序代码codesegmentassumecs:codeDATA1db16dup(?)DATA2dbeRRoRDATA3dboK;在数据段首址为0100h开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据start:movax,0100h;规定目标程序存放单元的偏移量movds,ax;数据段地址moves,axmovsi,offsetDATA1;偏移地址movcx,0010h;循环次数movbx,0100hmoval,ofhs1:movcs:[si],almov[bx],cs:[si]incsiincbxdecalloops1nop;将内存区1数据搬移到内存区2中movcx,16movsi,0100hmovbx,1100hs2:moval,[si]mov[bx],alincbxloops2nop;对比内存区1的数据与内存区2的数据是否相同mov cx,16movsi,0100hmovbx,1100hcomp:movax,[si]movdx,[bx]cmpax,dxjneerroincsiincbxloopcomp;数据如果都相同,说明上述传输过程正确movsi,offsetDATA3movdi,1110hmovbl,0movcx,2enteroK:movbl,cs:[si]mov[di],blincsiincdiloopenteroKnopjmps3;如果有一个数据不相同,说明上述传输过程不正确err:movsi,offsetDATA2movdi,1110hmovbl,0movcx,5entereRR:movbl,cs:[si]mov[di],blincdiloopentereRR;将内存区2数据搬移到内存区3中s3:movsi,1100hmovcx,0010hmovbx,2100hmoval,0movcx,16fil:moval,[si]mov[bx],alincsiincbxloopfilnop;用冒泡法将内存区3的数据按从小到大重新排列s4: movbl,0movcx,16movsi,2110hdecsideccxagain:moval,[si]cmpal,[si-1]jaenextxchgal,[si-1]mov[si],almovbl,1next:decsiloopagaincmpbl,0jnestart1nopmovsi,1109hmoval,[si]movcl,2mulcl;结果在al中movdx,0movbx,10divbxshlal,4addal,dl;把二进制数转换成bcD码mov[1112h],almovsi,2109hmoval,[si]movcl,2mulcl;结果在al中movdx,0movbx,10divbxshlal,4addal,dl;把二进制数转换成bcD码mov[2110h],al;两个bcD码相乘,其结果保存在内存区1的末尾处。
单片机实验报告
单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的10个字节内容清零或全部赋值为33H。
注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。
(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。
3、运行和调试过程。
外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。
同时,学习掌握汇编程序的编写和调试过程。
实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。
实验1存储器块清零
实验一存储器块清零软件操作过程:新建文件→保存文件(汇编语言后缀.ASM、C语言后缀.C)→新建项目(出现3个对话框)→对话框1:加入模块文件(选择要加的文件)→对话框2:加入包含文件(头文件之类的,没有可以点取消)→对话框3:保存项目(输入项目名称,注意项目和加入的文件必须在同一个文件夹中)→打开相应的模块文件,输入程序→点击绿色“开始”按钮,运行检查错误修改,直到没有错误为止。
窗口:CPU窗口——特殊功能寄存器窗口、工作寄存器窗口数据窗口——DATA片内数据存储器XDAT片外数据存储器CODE程序存储器BIT 位存储区仿真器设置:点仿真器→仿真器设置→选择仿真(Lab2000p仿真)→选择仿真头(MCS51实验)→选择CPU(8031/8032)→选择是否使用软件模拟器→点击好请编写程序,将片内RAM 30H-4FH单元中的内容清零。
MOV R0,#30HMOV R1,#32L0:MOV @R0,#00HINC R0DJNZ R1,L0SJMP $请编写程序,将片内RAM 60H-7FH单元中的内容置为FEH。
MOV R0,#60HMOV R1,#32L0:MOV @R0,#0FEHINC R0DJNZ R1,L0SJMP $1、片外ram50h—7fh内容置为:fehMOV DPTR,#50HMOV R1,#48MOV A,#0feHL0:MOVX @DPTR,AINC DPTRDJNZ R1,L0SJMP $2、片内RAM 20H-4FH中内容置为(20h)=00h,(21h)=01h,(22h)=02h, ,(4fh)=2fh MOV A,#00HMOV R1,#20HMOV R0,#48MOV @R1,ALOOP: INC AINC R1MOV @R1,ADJNZ R0,LOOPEND。
单片机原理与应用实验教案
《单片机原理及应用》实验教学大纲课程编号:B04611016课程类别:专业课实验学时:16学时学分:2.5适用专业:计算机科学与技术一、实验教学目的和任务本课程是计算机及应用专业一门重要的专业课。
其教学内容直接面向生产。
同时,微机向小型化、超小型化方面发展愈来愈迅猛。
单片机应用已渗透社会各个领域,特别在通信技术中的应用,大大提高了通信技术水平。
学生应具备这方面的知识与技能,为今后参加工作,打下坚实的基础。
二、实验教学基本要求本课程是一门很注重实践的课程。
以研究MCS-51系列单片机入手,掌握其硬件结构、指令系统和程序设计,以及常用接口技术和典型应用实例。
三、实验教学内容实验项目一:清零程序1、实验目的及要求要求学生掌握软件的结构和键盘的调试。
2、实验内容及学时分配(2学时)(1)了解MCS-51软件的构造(2)掌握清零程序的输入方法(3)了解起始伪指令的输入方法实验项目二:拼字和拆字程序1、实验目的及要求要求学生掌握存储器分配和汇编语言的简单应用。
2、实验内容及学时分配(2学时)(1)进一步掌握MCS-51软件的基本使用方法(2)掌握指令的寻址方式(3)掌握数据传送指令和地址内容的分配实验项目三:数据区传送子程序1、实验目的及要求要求学生掌握RAM数据存储器实际操作。
2、实验内容及学时分配(2学时)(1)掌握MCS-51逻辑运算指令和位操作指令(2)进一步掌握数据传送子程序的简单方法(3)掌握查表程序的编写实验项目四:数据排序实验1、实验目的及要求要求学生掌握汇编语言的应用和实际操作。
2、实验内容及学时分配(2学时)(1)掌握MCS51逻辑运算指令和位操作指令(2)进一步掌握简单顺序程序的编写和调试方法(3)掌握查表程序的编写实验项目五:查找相同个数1、实验目的及要求熟悉汇编语言程序,使用环移指令和加1指令。
2、实验内容及学时分配(2学时)(1)掌握赋值指令(2)掌握带进位的环移指令和加1程序的编写实验项目六:双字节无符号数的乘法实验1、实验目的及要求要求学生掌握MCS-51汇编语言设计和调试方法。
实验二 清零程序
图1 图2
实验二 清零程序
1.实验方式:
模拟调试
2.实验内容:
把外部RAM (XDATA )的2000-20FFH RAM 空间置零
3.实验器材:
已经安装了KEIL Uv2集成调试环境软件的计算机 1 台
4.程序框图:
5.实验步骤:
(1) 编写程序并编译通过。
(2) 进入调试状态, 点击工具栏中“ ”打开Memory 窗口,在Memory1“Address ”
位置上输入“X:2000H ”,显示如下图1,把光标移到2000H 的单元上,点鼠标右键,在开出的窗口中选择“Modify Memory at X:0X002000”,然后出现如下图2的窗口,在这里边输入一个数据,如95H 。
同样的方法,修改2001H-20FFH 单元内容。
(3) 按单步键,可以看到Memory#1窗口2000H 开始的单元的变化。
(4) 修改程序把4000H-5000H 中内容置55H 。
存储器块清零实验报告
存储器块清零实验报告班级:11级计科班姓名:苏靖学号:1120070544 日期:2012-12-19一、实验目的:1、掌握存储器读写方法2、了解存储器的块操作方法.二、实验要求:设定从外部数据存储器4000h起始地址开始,将之后的256字节清零。
三、实验内容:1、写出本程序运行结果2、写出本程序调试过程三、使用试验的软件:keil。
四、试验器材:1、综合试验仪2、PC机五、试验内容:指定存储器中某块的起始地址和长度,要求能将其内容清零。
通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。
如何将存储器块的内容置成某固定值(例全填充为0FFH)请同学们修改程序,完成此操作。
程序框图:六、试验步骤打开软件keil,建立工程文件—>project—>New project—>输入文件名(命名一个工程文件夹)—>选择单片机型号—>Atmel—>选择AT89c52型号,点确定。
然后新建文件,并命名—>输入程序保存(.asm或.c,对应汇编语言或C语言)添加目标文件,然后调试程序及理解:Org 0000hLjmp start1start1:Mov dptr,#3000h ;起始地址mov r2,#08h ;清零mov a, #00hloop:Movx @dptr, a ;指向下一个地址inc dptr ;记数减一djnz r2, loopSjmp $end然后启动仿真调试:最后把程序从PC机下载到综合试验仪里面,观察灯的闪烁情况。
七、试验中遇到的难题R0的地址以及程序代码的编写。
六、实验后的心得体会熟练掌握了存储器读写方法,了解了存储器的块操作方法,并对代码的编写有了更深的体会。
反馈清零法实验总结报告
反馈清零法实验总结报告
实验目的
1、掌握内存读写方法。
2、了解内存的块操作方法。
二、实验内容
对指定内存起址和长度的块,要求将其内容清零,设起址为4000H,长度为1000H。
三、实验程序框图
四、实验步骤
脱机模式:
(1)在P态下,按SCAL键,输入2DC0,按EXEC键。
(2)按复位键RST,查看内存4000H 4FFFH单元内容应为00联机模式:
(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击S5.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载日标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)按“系统复位”键,查看内存4000H~4FFFH单元内容应为00。
微机原理实验指导书
8086微机接口实验指导书微机原理与接口实验指导书成都工业学院机电工程系软件实验实验序号软件实验名称入口地址页码实验一清零程序3000H 4 实验二拆字程序3020H 5 实验三拼字程序3040H 6 实验四数据区移动3060H 7 实验五数据排序实验3090H 9 实验六找“零”个数30B0H 10 实验七32位二进制乘法30D0H 11 实验八多分支程序3130H 12 实验九显示子程序31E0H 13 实验十键盘扫描显示实验联机操作14 实验十一二进制转换到BCD 联机操作15 实验十二二进制转换到ASCII 联机操作168086微机接口实验指导书硬件实验实验序号硬件实验名称入口地址页码实验一8255并行口实验㈠:A.B.C口输出方波32C0H 17 实验二8255并行口实验㈡:PA口控制PB口32E0H 18 实验三8255并行口实验㈢:控制交通灯32F0H 19 实验四简单I/O口扩展3380H 20 实验五A/D转换实验3390H 23 实验六D/A转换实验㈠:输出方波33E0H 25 实验七D/A转换实验㈡:输出锯齿波33F0H 27 实验八8259中断控制器实验3400H 28 实验九定时/计数器:8253方波3490H 30 实验十继电器控制34B0H 32 实验十一8251串行通信实验㈠:自发自收35C0H 33实验十二8251串行通信实验㈡:与PC通信8251r.asm8251t.asm35实验十三步进电机控制3620H 38 实验十四小直流电机调速实验3670H 39 实验十五温度闭环控制联机操作40 实验十六音频控制联机操作41软件实验本节共编了12个软件实验,通过这些程序的调试使学生熟悉8088/86的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
实验一清零程序一、实验目的掌握8088汇编语言程序设计和调试方法,熟悉键盘操作。
实验1 keil 和清零
实验1:keil开发环境介绍单片机内部存储器调用操作一、实验目的1.进行keil开发环境的熟悉和调试;2.能够初步进行一个简单程序的调试二、实验设备及器材启东单片机综合实验箱,计算机等三、实验内容熟悉keil的开发环境,并进行一个简单的程序调试,在keil的串行调试窗口显示“Hello World!”四、实验步骤使用C语言肯定要使用到C编译器,以便把写好的C程序编译为机器码,这样单片机才能执行编写好的程序。
KEIL uVISION2是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和C语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。
以上简单介绍了KEIL51软件,要使用KEIL51软件,必需先要安装它。
KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。
(安装的方法和普通软件相当这里就不做介绍了)图1-1启动时的屏幕接着按下面的步骤建立您的第一个项目:(1)点击Project菜单,选择弹出的下拉式菜单中的New Project,如图1-2。
接着弹出一个标准Windows文件对话窗口,如图1-3,用法技巧也不是这里要说的,以后的章节中出现类似情况将不再说明。
在"文件名"中输入您的第一个C程序项目名称,这里我们用"test",只要符合Windows文件规则的文件名都行。
"保存"后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。
图1-2New Project菜单图1-3文件窗口(2)选择所要的单片机,这里我们选择常用的Ateml公司的AT89C51。
实验一清零实验
实验一清零实验一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把7000H~70FFH的内容清零。
三、实验程序框图四、实验步骤1、当DVCC单片机仿真实验系统独立工作时(1)将固化区EPROM中实验程序目标码传送到仿真RAM区,操作如下:输入0后按F1键,再输入0FFF后按F2键,再输入0后按EPMOV稍等,系统返回初始状态,显示“P.”。
(2)根据表2—1所示,通过键盘输入实验程序的起始地址0030H,再按执行键EXEC,表示连续运行该程序,稍侯,按RESET键退出运行;如果以单步运行程序,则输入0030后,按SETP键,按一次执行一条语句,直到执行到003CH为止,按MON键退出运行;如果以断点运行程序,则先输入003CH(断点地址),再按F1键,再输入0030(起始地址),然后按EXEC键执行程序,当执行到003CH时自动停下来,此时按MON键退出。
(3)用存贮器读写方法检查7000H~70FFH中的内容应全是00H。
2、当DVCC仿真实验系统联PC机时(1)在闪动“P.”状态,按PCDBG键;(2)在PC机处于在Win95/98软件平台下,单击DVCC图标。
(3)在“系统设置”选项中设定仿真模式为内程序、内数据。
对硬件实验4、5、6、7、8、9、12、15而言,仿真模式应设定为内程序、外数据。
(4)根据屏幕提示进入51/96动态调试菜单。
(5)联接DVCC实验系统(Ctrl+H)(6)装载目标文件(Ctrl+L)(7)设置PC起始地址(8)从起始地址开始连续运行程序(F9)或单步(F8)或断点运行程序(9)单步、断点运行完后,在存贮器窗口内检查7000H~70FFH中的内容是否全为00H一、思考:假使要把7000~70FFH中的内容改成FF,如何编制程序。
实验二拆字实验一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。
《MCS-51单片机原理及应用》实验指导书涛
《MCS-51单片机原理与应用》实验指导书新疆水利水电学校水电机电系2010年9月前言:任务与要求一.单片机原理与应用实验的任务单片机原理与应用实验是单片机原理与应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计基础。
3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。
二.实验设备单片机实验所使用的设备由计算机、DP-51PRO单片机综合仿真试验仪,其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机综合仿真试验仪是硬件开发平台,是基于80C51单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。
图1 单片机原理实验设备在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的MCS-51单片机原理与应用课程实验都在这套综合仿真试验仪上完成。
三.实验要求和成绩考核1.遵守实验室纪律,在实验室内不得随意走动、大声喧哗。
2.实验前,按实验要求事先复习与实验有关的理论知识,明确实验目的,了解实验内容和方法。
在实验过程中务必带上教材和实验文档,认真听讲,以调试为主要目的,注意观察思考,记录有关数据和程序,每次实验成绩根据完成情况给予评分。
3.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。
小心使用机器,以免出现意外故障,若机器出现硬件故障,可报告并请求老师协调维护,勿喧哗和起哄。
4.禁止在实验室中做与实验无关的事情,特别是玩游戏者,一经发现本课程实训总成绩将减10分,发现两次实训总成绩按0分处理。
5.按规定时间完成并上交实验报告。
实验报告字迹要清楚,结论要明确,并写出程序流程图、程序、并分析实验结果、完成思考题等。
6.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。
第一部分 Keil C51 软件使用说明Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编、PLM语言和C 语言的程序设计,界面友好,易学易用。
Keil C51集成开发环境的使用
实验题目:实验一Keil C51集成开发环境的使用姓名:专业:学号:成绩一、实验目的1.熟悉Keil C51集成开发环境的基本操作;2.掌握简单C51和汇编程序的编写、调试。
二、实验内容1.仔细阅读附录2及教材(陈海宴编著)相关内容,掌握Keil C51集成开发环境的基本功能。
2.分别用汇编语言和C51语言编写清零程序。
把片外RAM中的7000H-70FFH单元内容清零。
3.分别用汇编语言和C51编写查找相同数个数的程序。
统计片外RAM 7000H-700FH 中“00H”的个数并保存在片内RAM 30H单元。
三、实验原理及步骤1.清零程序(1)汇编语言程序设计框图如图1.1(2)实验步骤:用连续或单步方式运行程序,检查7000H-70FFH单元中执行程序前后的内容变化。
(3)把7000H-70FFH中的内容改成FF(4)用C51重新编写该清零程序,运行程序并查看结果。
2.查找相同数个数(1)汇编语言程序设计框图如图1.2图1.1 图1.2(2)实验步骤:①在7000H-700F单元中放入随机数,其中几个单元输入0;②.用连续或单步方式运行程序;③.观察片内RAM 30H的内容,并显示“00H”的个数。
(3)用C51重新编写该清零程序,运行程序并查看结果。
四、电路设计及调试程序设计与调试(1)实验程序:清零汇编程序ORG 0000H 清零C程序#include<reg51.h>CLEAR:MOV R0,#00H main(){MOV DPTR,#7000H char xdata *p=0x7000;CLEAR1:CLR A int t=0x7100-0x7000 ;MOVX @DPTR,A while(t--)INC DPTRINC R0 {*p=01;CJNE R0,#00H,CLEAR1 p++;SJMP $ }END }查找相同数个数汇编程序查找相同数个数c程序ORG 0000H #include<reg51.h>MOV R0,#00H #include<stdio.h>MOV R1,#00H void main()MOV DPTR,#7000H {LOOP: MOVX A,@DPTR char sum=0;CJNE A,#00H,NEXT char a=0x10;INC R1 char xdata *p=0x7000;NEXT:INC DPTR char data *q=0x30;INC R0 while(a--)CJNE R0,#10H,LOOP {MOV 30H,R1 if(*p==0)SJMP $ sum++;END p++;}*q=sum;while(1);}(2) 调试过程打开command windows窗口,观察数存单元的内容的变化。
单片机实验报告概要
微控制器技术实验报告专业班级:学号:姓名:指导老师:时间: 2014.04目录一、实验目的及要求 (1)二、实验基本内容 (1)三、实验设备 (5)四、实验设计思想和结果分析 (8)4.1清零程序与拆字程序设计 (8)4.2拼字程序与数据传送程序 (10)4.3 排序程序与散转程序 (12)4.4 数字量输入输出实验 (14)4.5定时器/计数器实验 (16)4.6 A/D、D/A转换实验 (22)4.7 串行通讯实验 (31)五、结束语 (40)一、实验目的及要求:1、学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;2、熟练使用SST89C554RC单片机核心板及I/O扩展实验系统;3、熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下,基于51单片机控制器数字接口电路的硬件、软件设计与功能调试;4、完成MCS51单片机指令系统软件编程设计和硬件接口功能设计题;二、实验基本内容(TD-51单片机实验系统实现)实验一清零程序与拆字程序设计根据实验指导书之“第二章单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,完成思考题1、2(P23)基础实验项目。
实验二拼字程序与数据传送程序设计汇编语言完成实验指导书P24思考题3、4题的基础实验项目。
实验三排序程序与散转程序设计汇编语言完成实验指导书P24思考题5、6题的基础实验项目。
实验四数字量输入输出实验基本部分:阅读、验证C语言程序功能。
使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36),。
提高部分:(任选一题)题目一:LED交通灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控制,完成LED交通灯的开关控制显示功能和LED交通灯自动循环显示功能。
题目二:LED灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。
同步清零和同步置数eda实验报告
同步清零和同步置数eda实验报告由于我不知道你需要的实验报告的具体内容和要求,因此这里给出一份基本模板,你可以根据自己的需要进行修改。
实验名称:同步清零和同步置数EDA实验报告实验日期:XXXX年XX月XX日实验地点:XXXX实验室一、实验目的1. 了解同步清零和同步置数的概念和原理;2. 掌握同步清零和同步置数的电路设计方法;3. 了解EDA工具的基本使用方法;4. 学习测试仿真功能,了解仿真实验的流程。
二、实验器材1. 电脑一台;2. EDA软件。
三、实验步骤1. 在EDA工具中创建一个同步清零电路;2. 设计同步置数电路;3. 将两个电路合并,进行仿真验证;4. 分别改变清零和置数信号的输入,观察输出结果;5. 修改电路参数,重新仿真验证。
四、实验结果1. 同步清零电路设计方案:XXXX;2. 同步置数电路设计方案:XXXX;3. 合并电路仿真结果:XXXX;4. 清零和置数信号输入不同时的输出结果如下:(1)清零信号输入,输出为XXXX;(2)置数信号输入,输出为XXXX;(3)同时输入清零信号和置数信号,输出为XXXX;5. 修改电路参数后的仿真结果如下:(1)修改参数1,输出为XXXX;(2)修改参数2,输出为XXXX;(3)继续修改其他参数,输出结果如下:XXXX。
五、实验分析1. 同步清零和同步置数电路的设计原理和流程;2. 清零和置数信号分别作用于电路的不同效果;3. 清零和置数信号同时作用的效果;4. 修改电路参数对电路输出结果的影响。
六、实验心得通过本次实验,我们对同步清零和同步置数电路的设计原理和流程有了更加深入的了解。
同时,我们还掌握了EDA工具的基本使用方法,学习了测试仿真功能,加深了对仿真实验的认识和理解。
在实验中,我们还发现了电路输入信号和参数的修改对电路输出结果的影响,这对我们之后的工作和学习都有很大的帮助。
七、参考文献1. XXXX2. XXXX3. XXXX以上就是同步清零和同步置数EDA实验报告的基本模板,可以根据自己的实际情况进行修改和补充。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一清零程序一、实验目的: 掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容:把2000H~20FFH 的内容清零。
三、实验程序框图四、实验步骤: 用连续或单步方式运行程序,检查2000~20FF 中执行程序前后的内容变化。
五、思考:假使把1000H~10FFH 中的内容改成FF,如何修改程序,请分别用连续和单步方式运行程序来完成校验证六、程序清单(1)基本程序(文件名SW01.ASM)ORG 0000HLJMP SE01ORG 0640HSE01: MOV R0,#00H ;(00H)送R0,R0 为计数器MOV DPTR,#2000H ;(2000H)送DPTRLOO1: CLR A ;累加器A 清零MOVX @DPTR,A ;存储空间内容清零INC DPTR ;DPTR 加1INC R0 ;R0 加1CJNE R0,#FFH,LOO1 ;若R0 不等于00,则跳转至LOO1 继续循环LOOP: SJMP LOOPEND七、思考:假使把1000H~10FFH 中的内容改成FF程序如下:ORG 0000HLJMP SE01ORG 0640HSE01: MOV R0,#00H ;(00H)送R0,R0 为计数器MOV DPTR,#1000H ;(2000H)送DPTRLOO1: MOV A,#FF;累加器A 置FFMOVX @DPTR,A ;存储空间内容置FFINC DPTR ;DPTR 加1INC R0 ;R0 加1CJNE R0,#FFH,LOO1 ;若R0 不等于00,则跳转至LOO1 继续循环LOOP: SJMP LOOPEND现象:运行第一条程序可以发现1000H~10FFH 中的内容变成FF,运行第二条程序1000H~10FFH 中的内容改成00.而其它单元的内容不变。
心得:该实验的内容比较简单。
实验二P3.3 口输入,P1 口输出一、实验目的:掌握P3 口、P1 口简单使用。
二、实验内容:P3.3 口输入一脉冲,P1 口按16 进制加一方式点亮发光二极管。
三、实验步骤P3.3 用导线连至K1 开关,P1.0~P1.7 导线连至L1~L8,K1 拨动一次,L1~L8 发光二极管按16 进制方式加一点亮。
快捷连线说明:P3.3→K1P1.0~P1.7→L1~L8(发光二极管)四、思考:修改程序,使发光二极管左移方式点亮。
五、程序清单(1)基本程序(文件名HW01·ASM)ORG 0000HLJMP J100ORG 0810HJ100: MOV A,#00HJ101: JB P3.3,J101MOV R2,#10HLCALL DELYJB P3.3,J101J102: JNB P3.3,J102MOV R2,#10HLCALL DELYJNB P3.3,J102INC APUSH ACCCPL AMOV P1,APOP ACCAJMP J101DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02HDEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DELYRETEND九,改变延时常数,使发光二极管闪亮时间改变。
修改程序,使发光二极管闪亮移位方向改变的程序:ORG 0000HLJMP J100ORG 0810HJ100: MOV A,#09H. J101: JB P3.3,J101MOV R2,#10HLCALL DELYJB P3.3,J101J102: JNB P3.3,J102MOV R2,#10HLCALL DELYJNB P3.3,J102DEC APUSH ACCCPL AMOV P1,APOP ACCAJMP J101DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02HDEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DELYRETEND实验现象:当执行第一个程序时K1 开关向下拨动一次时A中的内容从0依次加1,P1口的发光二极管也依次发光并向右移。
当执行第二个程序时K1 开关向下拨动一次时A中的内容从8依次减1,P1口的发光二极管也依次发光并向左移。
心得:该实验运用了累加器A并不断加1.还有该程序连续两次判断P3.3口是否为高电平在执行下一条语句和连续两次判断P3.3口是否为低电平在执行下一条语句的原因是为了消除开关的抖动。
实验三中断基础实验一、实验目的: 掌握MCS-51 单片机中断原理以及编程使用方法;理解下降沿中断和低电平中断的区别。
二、实验预备知识MCS-51 单片机有2 个由/INT0、/INT1 引脚输入的外部中断源。
触发外部中断有两种方式,即下降沿引起中断或低电平引起中断。
当编程TCON 中的ITi(i=1 或0,下同)为1 时,则引起触发的方式为边沿触发方式,反之为低电平触发方式。
每个中断源的中断请求能否得到响应要受两级“开关”的控制,即一个总“开关”EA 和EXi 的控制,只有当EA 为1,且对应的分“开关”EXi 也为1 时,相应中断源的中断请求才能被响应。
外部中断0、外部中断1 对应有2 个固定的中断服务程序入口地址0003H、0013H。
响应中断后中断申请标志IEi 由硬件自动清零三、实验内容编写主程序,读取K1 状态,当其与地端闭合时(P1.3 为低电平)初始化为低电平触发,反之,初始化为下降沿触发,且发光二极管灭;编写中断服务程序,使图中的发光管闪烁5 次,间隔250ms,即中断服务程序的执行时间为2.5 秒,退出中断程序时,使发光管灭。
六、实验步骤把“总线插孔”框中的P1.2、P1.3、P3.2 分别连L1、K1、“单脉冲与时钟”的“”孔。
快捷连线说明:P1.2→L1,P1.3→K1,P3.2→七、思考:1.要LED 亮5 次,程序应如何改动?2.若改为外部中断1 来实现以上实验,如何修改实验的硬件和软件?3.电平触发在输入信号后,灯闪的次数受谁的控制?八、程序清单(1)基本程序(文件名int011ok·ASM)ORG 0000HlJMP MAINORG 0003H ;外中断0 入口地址LJMP INTER0ORG 0660HMAIN: JB P1.3,MAIN1 ;判断是电平触发还是沿触发clr it0 ;P1.3=0 低电平触发lJMP MAIN2MAIN1: SETB it0 ;中断初始化,P1.3=1 下降沿边缘触发MAIN2: ORL IE,#81HORL IP,#02HlJMP MAININTER0: CLR EA ;中断处理程序SETB P1.2LCALL DELYCLR P1.2LCALL DELYSETB P1.2LCALL DELYCLR P1.2LCALL DELYSETB P1.2LCALL DELYCLR P1.2LCALL DELYSETB EARETIDELY: MOV R6,#200H ;延时DELY1: MOV R7,#125HDELY2: DJNZ R7,DELY2DJNZ R6,DELY1RETEND实验现象:外部T0如果有中断的话,LED灯闪烁三次,中间间隔250ms否则程序一直在等待中断源。
若改为外部中断1 来实现以上实验,如何修改实验的硬件和软件?如果改为外部中断1 来实现以上实验,硬件方面单脉冲时钟接P3.3,即外部中断1入口,而在软件方面,把IE和IP设置为ORL IE,#84HORL IP,#04H即可。
电平触发在输入信号后,灯闪的次数受谁的控制?灯闪烁的次数受子程序中P1.2高电平的次数的控制。
心得:了解中断和定时计数器的使用。
还有老师给我们的那个程序有错误。
应把DELY: MOV R6,#00H ;延时DELY1: MOV R7,#00H改为DELY: MOV R6,#200H ;延时DELY1: MOV R7,#125H实验四定时/计数器基础实验一、实验目的: 掌握MCS-51 单片机内部定时/计数器的程序设计与调试方法。
二、实验预备知识MCS-51 单片机有两个16 位的定时计数器T0 和T1,它们都有定时和对外部事件进行计数的功能,可用于定时控制、对外部事件检测和计数等场合。
计数和定时实质上都是对脉冲信号进行计数,只不过脉冲源不同而已。
当工作在定时方式时,计数脉冲来自单片机的内部,即振荡器信号12分频后作计数脉冲,每个机器周期的时间使计数器加1,由于计数脉冲的频率是固定的(即每个脉冲为1 个机器周期的时间),故可通过设定计数值来实现定时功能;当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一个脉冲时,计数器加1,从而实现计数功能。
可以通过编程来指定定时/计数器的功能,以及它的工作方式。
中断申请标志TF,在中断响应后有硬件中断清零,查询方式时必须由软件清零。
三、实验内容利用定时器1,通过对外部脉冲的计数,利用查询方式,实现在P1.0引脚上产生输出信号。
四、实验步骤把P3.5、P1.0 分别连K1、L1。
快捷连线说明:P3.5→K1P1.0→L1五、思考:1.开关来回拨4 次才取反,程序应如何修改?2.采用中断方式,该如何设计程序?八、程序清单基本程序(文件名TIME01ok.ASM)ORG 0000HLJMP DSJUORG 0660HDSJU: MOV TMOD,#60H ;T1 计数,工作方式2MOV TH1,#0FEH ;赋初值MOV TL1,#0FEHSETB TR1 ;启动DEL: JBC TF1 ,REP ;查询计数溢出AJMP DELREP: CPL P1.0 ;取反AJMP DELEND实验现象:每按一次开关,L1灯变化一次。
思考修改:1.开关来回拨4 次才取反,程序应如何修改?答:把初值设置为FB即可,即为把MOV TH1,#0FEHMOV TL1,#0FEH修改为:MOV TH1,#0FBHMOV TL1,#0FBH2.采用中断方式,该如何设计程序?答:程序如下:ORG 0000HLJMP MAINORG 001BHLJMP T1ORG 0660HT1:CPL P1.0 ;取反RETMAIN: MOV TMOD,#60h ;T1 计数,工作方式2 MOV TH1,#0FEH ;赋初值MOV TL1,#0FEHSETB TR1 ;启动END心得:我们要熟练掌握中断的编程方法和它的原理图。
这样才能随心所欲的修改程序。