单片机原理-实验指导书_第1页
单片机原理-实验指导书_第2页
单片机原理-实验指导书_第3页
单片机原理-实验指导书_第4页
单片机原理-实验指导书_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#一、实验素养和一般知识1实.验前准备工作明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。做好实验前预习和必要的准备(先编好程序),作到有的放矢。2.进入实验室后熟悉所用的单片机实验开发系统及仪器设备,了解其外观、性能。接线要简单、正确、明了,一个人接线,另一个人检查,经老师复查后允许后才可通电。通电瞬间,应注意仪器是否正常工作,不要只看开关,如有不正常现象,应立即断电找出原因。不允许自带光盘和软盘上机,违反者取消实验资格!(指导教师允许情况除外)。3.实验进行时正常请况下,按规定步骤进行,读取数据,并及时纪录。各种操作要有目的进行,不可盲动。实验完后,经老师察看或签字,并把仪器、导线、工具清理、收拾完毕后,学生签到方可离开实验室。二、实验报告内容和要求实验报告要用学校统一的纸。实验内容应包括,是实验目的、设备、原理、步骤简述、原始数据、结果和分析以及程序清单等。每个实验后的思考题必须完成。对实验中发现的问题应加以讨论,并提出自己的改进意见和要求、希望等。实验1单片机实验开发系统操作实验实验目的和要求1.掌握汇编语言的设计和调试。2.熟悉 Dais-80958B微机实验开发系统调试软件的应用。实验设备1.Dais-80958B单片机实验开发系统一套2.WD990微机专用电源一台3.PC机1.Dais-80958B单片机实验开发系统一套2.WD990微机专用电源一台3.PC机一套三、实验线路及使用仪器.1实验连接图Dais-80958B单片机实验开发系统与PC机的连接如下图所示。电源.+5V显示器机单片机开发系统机串口•主机板Dais-80958B单片机实验开发系统与PC机的连接如下图所示。电源.+5V显示器机单片机开发系统机串口•主机板键键盘单片机开发系统组成及功能单片机实验开发系统自带32个键的键盘和6位单片机实验开发系统自带32个键的键盘和6位独立运行的单板机工作方式以及与 PC通过串行口相连的(1)独立运行的样板机工作方式LED数码管。系统有两种工作方式:串行监控工作方式。LED数码管,自构成通过RS-232C串行口与PC机的串行口相连,以PC机为操作平台,配合系统操作软件,适用于PC机的系统编程和调试界面。实验开发系统提供以Windows98操作平台的在线仿真调试软件包。支持汇编语言LED数码管,自构成通过RS-232C串行口与PC机的串行口相连,以PC机为操作平台,配合系统操作软件,适用于PC机的系统编程和调试界面。实验开发系统提供以Windows98操作平台的在线仿真调试软件包。支持汇编语言(ASM51)及高级语言(具有:编辑、汇编、PL/M51、C51)源程序级及反汇编窗口式调试环境,口仿真软件连接、反汇编、开观察窗口、单点跟踪、设置断点、全速/非全速运行、系统设置、程序固化等功能,具有查看、内部、外部等选项。无需任何设备,利用开发系统上的单片机、监控程序、键盘和一台样板机独立运行。(2)串行监控工作方式四、实验开发系统的使用1.按实验线路接好线后,检查无误在指导教师允许下才可通电。先打开电源 +5V,主机板上的六位 显示器最左边一位出现提示符“”表明系统正常。否则应立即关掉电源!!!2口80958B主机板通电后,不允许在上面放置任何物品,特别是金属物!(因集成芯片或线路引起短路损坏设备)。五、实验步骤1Dais-80958B接口线后,电源线红色接 +5V,黑色接地。先打开电源,出现提示口“P”,表明该系统工作正常。2打开PC机电源,正常工作后,在显示器的桌面上点击快捷图标“ MCS-51仿真开发系统“,进入 Dais-MCS-51仿真开发系统的调试平台。3.源文件的建立和打开:(1)选菜单栏文件/新文件或者工具栏新文件,出现源文件编辑窗口,输入程序S1。(2)选文件/存储(或另存) ,要求输入文件名,同时保存类型选 *.asm。文件名按下面要求写:_ _ _一班 学号 文件名保存路经为:D盘,然后单击保存即可。(3)编译源文件,选菜单栏 /编译、连接、装载或者工具栏“!”,弹出“装载完毕OK”,根据编译结果的错误提示,修正源程序 S1,直至成功。此时可以关闭“编译结果”和源文件编辑窗口。(4)出现“当前模块: 1P26S1”,同时打开菜单栏视图 /调试、寄存器、存储空间,然后可以选主菜单 /窗口或者工具栏 /XX窗口;整理平台视野。4.调试和运行程序 S1(1)“当前模块: 1P26S1”中“小手光标”位置是 PC指针所在,“寄存器”中显示当前各寄存器中的内容。“数据存储区”中地址用右键选显示地址,“输入数据”为十六进制 2000,确认后调试。(2)首先单步运行,选主菜单 /调试/单步运行或者选工具栏单步运( F7)。运行一个循环,观察相关的寄存器和存储区的变化。(3)运用连续运行和设断点运行。工具栏 /为连续运行,在“当前模块”中鼠标出现“小手”时点击,“红色手”即为断点位置。记录下数据区2000H20FFH中,在执行程序 S1前后的内容变化。六、实验内容程序S1的参考程序如下:

机器代码汇编语言 注释ORG0000H7800 SE01:MOVR0,#00H902000MOVDPTR,#2000HE4 L001:CLRAF0MOVX@DPTR,AA3INCDPTR08INCR0B800F9CJNER0,#00H,L00180FE LOOP:SJMPLOOPEND七、思考题1.程序S1的功能是什么?画出S1程序框图,并写出注释。2.把2000H20FFH中内容改成FF,如何修改程序 S1?3.把3000H20FFH中内容改成AA,如何修改程序 S1?4□程序 S1中指令:“ CJNER0,#00H,L001”的作用是什么?实验2单片机数据区传送程序设计实验目的1.进一步掌握汇编语言程序设计和调试方法。2口了解单片机 RAM中的数据操作。二、实验设备1口Dais-80958B单片机实验开发系统一套2口WD990微机专用电源一台3口PC机一套三、实验线路同实验1。四、实验内容1□要求:编写程序把 R2、R3源RAM区首地址内的 R6、R7字节数据传送到R4、R5目的地址的 RAM区。2□框图如下,文件名为: X_XX_X.S2班级学号五、实验步骤1□打开电源,PC机开机正常工作后,进 MCS-51仿真开发系统调试平台,编译源文件S2成功。(详细过程同实验 1的步骤13)2□在R2、R3中输入源地址(例如: 0000HD,R4、R5中输入目的地址(例如2000HD,R6、R7中输入字节数(例如: 1FFFHD。3口查看RAM区00001FFFH和20003FFFH内容,也可自己重新赋值。4口运行程序XXXXS2,首先单步,然后用自动单步,最后用连续运行方式。5口记录下运行结果,检查 00001FFFH中内容是否和20003FFFH内容完全一致。六、要求□□写出自己编写的程序,并写出原理性注释。□□将检查程序运行的结果,分析一下是否正确。七、思考题如果使00001000H中内容与20003000H内容完全一致,如何来改写程序?八、参考程序ORG0100H8B82 SE22:MOVDPL,R38A83 MOVDPH,R2 ;建立源程序首址

E0MOVXA,@DPTR;取数8D82MOVDPL,R58C83MOVDPH,R4;目的地首址F0MOVX@DPTR.A;传送BBFF01CJNER3,#OFFH,LO420AINCR20BLO42:INCR3;源地址加口BDFF01CJNER5,#0FFH,L043OCINCR4ODLO43:INCR5;目的地址加口BF0006CJNER7,#00H,LO44BE0006CJNER6,#00H,LO45;字节数减口80FESJMP$00NOP1FLO44:DECR780E0SJMPSE221FLO45:DECR71EDECR680DCSJMPSE22;未完继续END实验3数据排序实验一、实验目的熟悉MCS-51指令系统,掌握数据排序程序的设计方法。二、实验设备口口Dais-80958B微机实验开发系统一套口口WD990微机专用电源一台口口PC机一套三、实验线路同实验1。四、实验内容RAM中1.编写并调试一个排序程序,其功能为用冒泡法 (参见单片机教材84RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。程序框图如下 :

五、实验步骤1□编写程序□□□□□□,满足程序要求,在 CPU内部的RAM50H5AH中放入不等的数据。2□运行该程序后检查 50H5AH内容是否按从小到大排列,结果记录下表中:''''\RAM状态505152535455565758595A运行前内容运行后内容六、思考题修改程序S3,将50H5AH中内容按从大到小排列,并且记录下程序运行前后的结果,分析是否正确。七、参考程序ORG0300H7B50 QUE:MOVR3,#50H

EBQUE1:MOVA,R3;指针送R0F8MOVR0,A7F0AMOVR7,#0AH;长度送R7C200CLR00H;标志位为口E6MOVA,@R008QL2:INCR0FAMOVR2,AC3CLRC8622MOV22H,@R0;取后数B52201CJNEA,22H,QL3;相等吗?D3SETBCEAQL3:MOVA,R24006JCQL1;大于则交换位置D200SETB00HC6XCHA,@R018DECR0C6XCHA,@R008INCR0;大于则交换位置E6QL1:MOVA,@R0DFEBDJNZR7,QL22000E1JB00H,QUE1;一次循环中有交换继续80FESJMPEND$;无交换退出实验4查找相同数个数一、实验目的熟悉汇编语言编程二、实验内容在2000200FH中查出有几个字节是零,把零的个数放在 2100H中。三、程序框图

四、实验步骤在2000200FH的几个单元中填入零,运行本程序后检查2100H单元中的数是否与2000200FH中零的个数相同。五、思考在1000100FH的几个单元中填入8H,检查8H的个数,并填入1100H单元中,如何来修改程序?六、参考程序ORG0AA0H0AA07810L5800:MOVR0,#10H查;找16个字节0AA27900MOVR1,#00H0AA4902000MOVDPTR,#2000H0AA7E0L5811:MOVXA,@DPTR0AA8B40001CJNEA,#00H,L5816;出内容与 00H相等吗?0AAB09INCR1取;出个数加 10AACA3L5816:INCDPTR0AADD8F8DJNZR0,L5811未;完继续0AAF902100MOVDPTR,#2100H0AB2E9MOVA,R10AB3F0MOVX@DPTR,A;相同数个数送 2100H0AB480FEL581E:SJMPL581EEND实验 口转弯灯实验一、实验目的进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。二、实验内容P1.0开关接5V时,右转弯灯闪亮, P1.1开关口5V时左转弯灯闪亮。P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。三、程序框图只是P1.0高吗?延时.清标志位NY关灯NT而P2.0高吗?-——标志位为1吗?Y标志位为1只是P1.0高吗?延时.清标志位NY关灯NT而P2.0高吗?-——标志位为1吗?Y标志位为1吗?N开口灯关口灯延时.置标志位关灯延时.清标志位延时.置标志位开口灯关口灯开始关灯四、实验电路

VCCR6R7R5LED3R8LED5LED4LED2-15VCCR6R7R5LED3R8LED5LED4LED2-15/b1k2::1411 115 ''L9'U130 1. .[ 4 5. .j 6.7P PL PP8032, P5P五、实验步骤P1.0接K1,P1.1接K2,P1.4P1.7分别接L1、L5、L9、L13,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例如可把延时程序第一个字节改成返回指令22H),以便观察。六、参考程序ORG0C30H0C307590EFPX00: MOVP1,#0FFH;初始化0C33E590PX03: MOVA,P10C35F5F0MOVB,A0C375403ANLA,#03H0C39B40126CJNEA,#01H,PX01;满足只是 P1.0为高条件吗?0C3C200012JB00H,PX04;闪烁标志位0C3FC294CLRP1.40C41C295CLRP1.5;开右灯0C43D296SETBP1.60C45D297SETBP1.7;关左灯0C477A20MOVR2,#20H0C49120213LCALLDELY;延时0C4CD200SETB00H;置标志位0C4E020C33LJMPPX03;继续查状态0C51D294PX04: SETBP1.40C53D295SETBP1.50C55D296SETBP1.6;关灯

0C57D297SETBP1.70C597A20MOVR2,#20H0C5B120213LCALLDELY;延时0C5EC200CLR00H;清标志位0C608133AJMPPX03;继续查状态0C62B40227PX01:CJNEA,#02H,PX02;满足只是P1.1为高条件;吗?0C65200112JB01H,PX05;判标志位0C68D294SETBP1.40C6AD295SETBP1.5;开左灯0C6CC296CLRP1.60C6EC297CLRP1.7;关右灯0C707A20MOVR2,#20H;延时0C72120213LCALLDELY0C75D201SETB01H;置标志位0C77020C33LJMPPX03;继续查状态0C7AD294PX05:SETBP1.40C7CD295SETBP1.50C7ED296SETBP1.6;关灯0C80D297SETBP1.70C827A20MOVR2,#20H0C84120213LCALLDELY;延时0C87C201CLR01H;清标志位0C89020C33LJMPPX03;继续查状态0C8CD294PX02:SETBP1.40C8ED295SETBP1.50C90D296SETBP1.6;关灯0C92D297SETBP1.70C94020C33LJMPPX03;继续ORG0213H0213C002DELY:PUSH02H0215C002DEL2:PUSH02H0217C002DEL3:PUSH02H;延时0219DAFEDEL4:DJNZR2,DEL4021BD002POP02H021DDAF8DJNZR2,DEL3021FD002POP02H0221DAF2DJNZR2,DEL20223D002POP02H

0225DAECDJNZR2,DELY0225DAECDJNZR2,DELY0227 22 RETEND实验6工业顺序控制一、实验目的掌握工业顺序控制程序的简单编程,中断的使用。二、实验预备知识在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律的完成预定的动作,对这类继续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模 T注射 T延时T开模T产伸T产退”顺序动作,用单片机最易实现。三、实验内容8031的P1.0P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,口电平有效,设定每道工序时间转换为延时, P3.4为开工启动开关,高电平动作。 P3.3为外部故障输入模拟开关,低电平报警, P1.7为报警声音输出,设定 6道工序只有一位输出,第七道工序三位有输出。四、程序框图五、实验电路叮M.v:c==1XPEESS SSS8032叮M.v:c==1XPEESS SSS8032六、实验步骤按实验电路图接好连线。执行程序,把 K1接到高电平,观察发光二极管点亮情况,1,报警确定工序执行是否正常,然后把 K21,报警停,又从刚才报警时一道程序执行下去。可以单步、单步跟踪,非全速断点、全速断点、连续执行功能调试软件,直到符合程序设计要求为止。七、思考修改程序,使每道工序中有多位输出。八、参考程序ORG0190H019075907FPO10:MOVP1,#7FH019343B000ORLP3,#00H019630B4FDPO11:JNBP3.4,PO11 ;开工吗?019943A884ORLIE,#84H019C43B801ORLIP,#01H019F75D000MOVPSW,#00H ;初始化01A2758153MOVSP,#53H01A575907EPO12:MOVP1,#7EH ;第一道工序01A831F1ACALLPO1B01AA75907DMOVP1,#7DH ;第二道工序01AD31F1ACALLPO1B01AF75907BMOVP1,#7BH ;第三道工序

01B231F1ACALLPO1B01B4759077MOVP1,#77H;第四道工序01B731F1ACALLPO1B01B975906FMOVP1,#6FH;第五道工序01BC31F1ACALLPO1B01BE75905FMOVP1,#5FH;第六道工序01C131F1ACALLPO1B01C375900FMOVP1,#0FH;第七道工序01C631A5ACALLPO1201C880DBSJMPPO1201CA8AF0PO16:MOVB,R2;保护现场01CC75907FPO17:MOVP1,#7FH;关输出01CF7520A0MOV20H,#0A0H;振荡次数01D2D297PO18:SETBP1.7;振荡01D431ECACALLPO1A;延时01D6C297CLRP1.7;停振01D831ECACALLPO1A;延时01DAD520F5DJNZ20H,PO18;不为001DDC297CLRP1.701DF31ECACALLPO1A;停振01E130B3E8JNBP3.3,PO17;故障消除吗?01E4AAF0MOVR2,B;恢复现场01E632RETI01E77A10PO19:MOVR2,#10H01E95113ACALLDELY;延时101EB22RET01EC7A06PO1A:MOVR2,#06H01EE5113ACALLDELY;延时201F022RET01F17A30P01B:MOVR2,#30H01F35113ACALLDELY;延时301F522RETORG0213H0213C002DELY:PUSH02H0215C002DEL2:PUSH02H0217C002DEL3:PUSH02H0219DAFEDEL4:DJNZR2,DEL4021BD002POP02H021DDAF8DJNZR2,DEL3

021FD002POP02H0221DAF2DJNZR2,DEL20223D002POP02H0225DAECDJNZR2,DELY022722RETEND实验7 8控2制5交5通灯一、实验目的进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。二、实验内容用8255作输出口,控制12个发光二极管燃灭,模拟交通灯管理。三、程序框图四、实验电路t—CD廿一口..1.五、实验步骤8255的PA0~PA7、PB0~PB3接发光二极管L15~L13、L11~L9、L7~L5、L3~L1。执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。六、参考程序ORG0BB0H0BB0758160JOD0:MOVSP,#60H0BB390FFDBMOVDPTR,#0FFDBH0BB67488MOVA,#88H0BB8F0MOVX@DPTR,A ;8255初始化0BB990FFD8MOVDPTR,#0FFD8HOBBC74B6MOVA,#0B6H0BBEF0MOVX@DPTR,A0BBFA3INCDPTR0BC0740DMOVA,#0DH0BC2F0MOVX@DPTR,A ;点亮4个红灯0BC37A25MOVR2,#25H ;延时0BC5120213LCALLDELY0BC890FFD8JOD3:MOVDPTR,#0FFD8H0BCB7475MOVA,#75H0BCDF0MOVX@DPTR,A

0BCEA3INCDPTR0BCF740DMOVA,#0DH0BD1F0MOVX@DPTR,A;东西绿灯亮,;南北红灯亮0BD27A55MOVR2,#55H0BD4120213LCALLDELY;延时0BD77F05MOVR7,#05H;闪烁次数0BD990FFD8JOD1:MOVDPTR,#0FFD8H0BDC74F3MOVA,#0F3H0BDEF0MOVX@DPTR,A0BDFA3INCDPTR0BE0740CMOVA,#0CH0BE2F0MOVX@DPTR,A;东西黄灯亮,南北红灯亮0BE37A20MOVR2,#20H0BE5120213LCALLDELY;延时0BE890FFD8MOVDPTR,#0FFD8H0BEB74F7MOVA,#0F7H0BEDF0MOVX@DPTR,A0BEEA3INCDPTR0BEF740DMOVA,#0DH0BF1F0MOVX@DPTR,A;南北红灯亮0BF27A20MOVR2,#20H0BF4120213LCALLDELY;延时0BF7DFE0DJNZR7,JOD1;闪烁次数未到,继续0BF990FFD8MOVDPTR,#0FFD8H0BFC74AEMOVA,#0AEH0BFEF0MOVX@DPTR,A0BFFA3INCDPTR0C00740BMOVA,#0BH0C02F0MOVX@DPTR,A;东西红灯亮,南北绿灯亮0C037A55MOVR2,#55H0C05120213LCALLDELY;延时0C087F05MOVR7,#05H;闪烁次数0C0A90FFD8JOD2:MOVDPTR,#0FFD8H0C0D749EMOVA,#9EH0C0FF0MOVX@DPTR,A0C10A3INCDPTR0C117407MOVA,#07H0C13F0MOVX@DPTR,A;东西红灯亮,南北黄灯亮0C147A20MOVR2,#20H0C16120213LCALLDELY ;延时0C1990FFD8MOVDPTR,#0FFD8H0C1C74BEMOVA,#0BEH0C1EF0MOVX@DPTR,A0C1FA3INCDPTR0C20740FMOVA,#0FH0C22F0MOVX@DPTR,A ;东西红灯亮0C237A20MOVR2,#20H0C25120213LACLLDELY ;延时0C28DFE0DJNR7,JOD2 ;闪烁次数未到继续0C2A020BC8LJMPJOD3 ;循环ORG0213H0213C002DELY: PUSH02H0215C002DEL2: PUSH02H0217C002DEL3: PUSH02H ;延时0219DAFEDEL4: DJNZR2,DEL4021BD002POP02H021DDAF8DJNZR2,DEL3021FD002POP02H0221DAF2DJNZR2,DEL20223D002POP02H0225DAECDJNZR2,DELY022722RETEND实验8转换实验一、实验目的(1)掌握 A/D转换与单片机接口的方法;(2)了解 A/D芯片0809转换性能及编程方法;(3)通过实验了解单片机如何进行数据采集。二、实验内容利用实验系统上的 0809做A/D转换器,实验系统上的电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。三、程序框图错误四、实验电路BEIWW1五、实验步骤把0809的0序,数码管上显示位将随着电压变化而相应变化。六、思考题修改程序,能对七、参考程序05A075815305A3757E0005A6757D083HT1-INT2»IMTW*INININT6*vccIIM-5IKG>CLOCKENABLFSTAR1ODD-B通道INTO用插针接至AIN1孔,0809的CS位接至0809.XX,后二位显示当前采集的电压转换的数字量,调节INT0INT78个通道轮流采样显示,每次显示ORG 05A0HSE11:MOV SP,#53HMOV 7EH,#00HMOV 7DH,#08HFFE0孔,运行程1秒钟。W1,该二05A9757C00MOV7CH,#00H05AC757B09MOV7BH,#09H05AF757A10MOV7AH,#10H05B2757910MOV79H,#10H;显示缓冲区初值05B5120425LO18:LCALLDIS;显示05B87400MOVA,#00H05BA90FFE0MOVDPTR,#0FFE0H05BDF0MOVX@DPTR,A;0809的0通道采样05BE120425LCALLDIS05C1E0MOVXA,@DPTR;取出采样值05C27879MOVR0,#79H05C4120077LCALLPTDS;采样值送显示缓冲区05C780ECSJMPLO18;循环ORG0077H0077F9PTDS:MOVR1,A;拆送显示缓冲区0078117CACALLPTDS1007AE9MOVA,R1007BC4SWAPA007C540FPTDS1:ANLA,#0FH007EF6MOV@R0,A007F08INCR0008022RETORG0425H0425C083DIS:PUSHDPH0427C082PUSHDPL0429D2D4SETBRS1042B787EMOVR0,#7EH042D7A20MOVR2,#20H042F7B00MOVR3,#00H043190044FMOVDPTR,#LS00434E6LS2:MOVA,@R0043593MOVCA,@A+DPTR043679DCMOVXR1,#0DCH0439EAMOVA,R2043A09INCR1043BF3MOVX@R1,A043CDBFELS1:DJNZR3,LS1043EC3CLRC043F13RRCA0440FAMOVR2,A0441044204440445044604470448044A044C044E044F1870F0F218F4F2C2D4D082D08322C0F9A4LS0:DEC R0JNZ LS2MOVX @R0,ADEC R0CPL AMOVX @R0,ACLR RS1POP DPLPOP DPHRETDB0C0H,0F9H,0A4H,0B0H,99H,92H;字形表04520455B0999282F880DB82H,0F8H,80H,90H,88H,83H,0C6H0458045B045C908883C6A1868EDB0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH045FFF0C8904627FBFEND实验 转换实验一、实验目的⑴了解D/A转换芯片与单片机的接口方法;(2)了解D/A转换芯片 0832的性能及编程方法;⑶了解单片机系统中扩展 D/A转换芯片的基本方法。二、实验内容利用0832输出一个从 0V开始逐渐升至 5V再降至 0V的电压,数码管显示送入的数字量值。三、程序框图四、实验电路如下图所示DAC0832IOUR01234567bIIIIIIIIfDDDDDDDDR0五、实验步骤[把0832译码线0832CS接口FFE0孔运行程序,数码管显示不断加大或减小的数字量,用万用表测试D/A输出口 AOUT应也能测出不断加大或减小的电压值。六、思考修改程序,使能产生锯齿波。七、参考程序ORG05E0H05E0758153SE13:MOVSP,#53H05E3757E00MOV7EH,#00H05E6757D08MOV7DH,#08H05E9757C03MOV7CH,#03H05EC757B02MOV7BH,#02H 显;示缓冲区初值05EF7E00LO20:MOVR6,#00H05F190FFE0LO21:MOVDPTR,#0FFE0H05F4EEMOVA,R605F5F0MOVX@DPTR,A; ;送0382转换05F67879MOVR0,#79H05F8120077LCALLPTDS05FB7A10MOVR2,#10H05FD120425LO23:LCALLDIS 显;示0600DAFBDJNZR2,LO2306020EINCR6 加;10603BEFFEBCJNER6, #0FFH,LO21 不到FF继续加060690FFE0LO22:MOVDPTR,#0FFE0H06091EDECR6060AEEMOVA,R6060BF0MOVX@DPTR,A 减;1送0832转换060C7879MOVR0,#79H060E120077LCALLPTDS06117A10MOVR2,#10H0613120425LO24:LCALLDIS 显;示0616DAFBDJNZR2,LO240618BE00EBCJNER6,#00H,LO22 不;为0继续减061B80D2SJMPLO20 循;环ORG0077H0077F9PTDS:MOVR1,A 拆;送缓冲区0078117CACALLPTDS1007AE9MOVA,R1

007BC4SWAPA007C540FPTDS1:ANLA,#0FH007EF6MOV@R0,A007F08INCR0008022RETORG0D59H0D59D2D4SSEE:SETBRS1 ;换工作区0D5B7D05MOVR5,#05H0D5D753020SSE2:MOV30H,#20H0D6075317EMOV31H,#7EH0D637F06MOVR7,#06H0D6579DDSSE1:MOVR1,#0DDH0D67E530MOVA,30H0D69F3MOVX@R1,A ;字位送入0D6AA831MOVR0,31H0D6CE6MOVA,@R00D6D900D85MOVDPTR,#0DDFFH0D7093MOVCA,@A+DPTR ;取字形代码0D7179DCMOVR1,#0DCH0D73F3MOVX@R1,A ;字形送入0D74E530MOVA,30H ;右移0D7603RRA0D77F530MOV30H,A0D791531DEC31H0D7B74FFMOVA,#0FFH0D7DF3MOVX@R1,A ;关显示0D7EDFE5DJNZR7,SSE1 ;6位显示完了吗?0D80DDDBDJNZR5,SSE2 ;5次显示完了吗?0D82C2D4CLRRS10D8422RETORG044FH044FC0F9A4LS0:DB0C0H,0F9H,0A4H,0B0H,99H,92H0452B09992045582F880DB82H,0F8H,80H,90H,88H,83H,0C6H0458908883045BC6045CA1868EDB0A1H,86H,8EH,0FFH,0CH,045FFF0C89DB89H,7FH,0BFH04627FBF

ORG0E2AH0E2AC002DELYA:PUSH02H0E2CC002DELYB:PUSH02H0E2EC002DELYC:PUSH02H0E30DAFEDELYD:DJNZR2,DELYD0E32120D59LCALL,SSEE;调显示子程序0E35D002POP02H0E37DAF5DJNZR2,DELYC0E39D002POP02H0E3BDAEFDJNZR2,DELYB0E3DD002POP02H0E3FDAE9DJNZR2,DELYA;延时0E4122RETEND实验10电子时钟(定时器、中断综合实验)实验目的熟悉MCS-51定时器,串口口和中断初始化编程方法,了解定时器的应用,时钟程序的设计与调试技巧。二、实验内容编写程序,从本实验系统键盘上输入时间初值,用定时器产生 0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。三、程序框图

四、实验步骤连续运行程序,在键盘上输入时间初值,按执行键 EXEC执行,数码管上实时显示时间值。五、思考题1.电子钟走时精度和程序中哪些常数有关?2.修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。3.设计一个倒计时时钟,如何来修改程序?六、参考程序0030758160CHK00:MOVSP,#60H00331204A5LCALLLEDP0036900081MOVDPTR,#CLOCK0039A882MOVR0,DPL003BA983MOVR1,DPH003D90000BMOVDPTR,#000BH00407402MOVA,#02H

0042F0MOVX@DPTR,A0043A3INCDPTR0044E9MOVA,R10045F0MOVX@DPTR,A0046A3INCDPTR0047E8MOVA,R00048F0MOVX@DPTR,A0049120DF0CHK0:LCALLLCK0;键扫,显示子程序004C120068LCALLPTDS0;显示缓冲区放数子程序004F758901MOVTMOD,#01H005243A882ORLIE,#82H0055758AB7MOVTL0,#0B7H0058758C3CMOVTH0,#3CH;定时中断初始化005B752300MOV23H,#00H005ED28CSETBTR0;开定时0060120425LOO5:LCALLDIS;显示0063120068LCALLPTDS0006680F8SJMPLOO500687879PTDS0:MOVR0,#79H006AE522MOVA,22H006C1177ACALLPTDS006EE521MOVA,21H00701177ACALLPTDS0072E520MOVA,20H00741177ACALLPTDS007622RET0077F9PTDS:MOVR1,A;拆送显示缓冲区0078117CACALLPTDS1007AE9MOVA,R1007BC4SWAPA007C540FPTDS1:ANLA,#0FH007EF6MOV@R0,A007F08INCR0008022RET0081758AB7CLOCK:MOVTL0,#0B7H0084758C3CMOVTH0,#3CH;恢复初值0087C0D0PUSHPSW0089C0E0PUSHACC008BD2D3SETB0D3H;保护008D0523INC23H;0.1秒加1008FE523MOVA,23H0091B40A27CJNEA,#0AH,DONE;1秒到吗?0094752300MOV23H,#00H;清0.1秒单元0097E522MOVA,22H009904INCA;秒加1009AD4DAA009BF522MOV22H,A;十进制调整009DB4601BCJNEA,#60H,DONE;60秒到吗?00A0752200MOV22H,#00H;秒单元清零00A3E521MOVA,21H00A504INCA00A6D4DAA;分加1,十进制调整00A7F521MOV21H,A00A9B4600FCJNEA,#60H,DONE;60分到吗?00AC752100MOV21H,#00H;分单元清零00AFE520MOVA,20H00B104INCA00B2D4DAA;时加1,十进制调整00B3F520MOV20H,A00B5B42403CJNEA,#24H,DONE;24小时到吗?00B8752000MOV20H,#00H;时单元清零00BBD0E0DONE: POPACC;退栈00BDD0D0POPPSW00BF32RET1ORG0D59H0D59D2D4SSEE: SETBRS1;换工作区0D587D05MOVR5,#05H0D5D753020SSE2: MOV30H,#20H0D6075317EMOV31H,#7EH0D637F06MOVR7,#06H0D6579DDSSE1: MOVR1,#0DDH0D67E530MOVA,30H0D69F3MOVX@R1,A;字位送入0D6AA831MOVR0,31H0D6CE6MOVA,@R00D6D900D85MOVDPTR,#0DDFFH0D7093MOVCA,@A+DPTR;取字形代码0D7179DCMOVR1,#0DCH0D73F3MOVX@R1,A;字形送入0D74E530MOVA,30H;右移0D7603RRA0D77F530MOV30H,A0D791531DEC31H0D7B74FFMOVA,#0FFH0D7DF3MOVX@R1,A;关显示0D7EDFE5DJNZR7,SSE1;6位显示完了吗?0D80DDDBDJNZR5,SSE2;5次显示完了吗?0D82C2D4CLRRS10D8422RET0D85C0F9A4ODFF:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H0D88B09992,DB0F8H,80H,90H0D8B82F8800D8E900D8F8883C6DB88H,83H,0C6H,0A1H,86H0D92A1868EDB8EH,0FFH,0CH,89H,0DEH0D95FF0C890D98DEORG038EH038EFCX3:MOVR4,A038F7850MOVR0,#50H0391E6MOVA,@R00392F9MOVR1,A0393ECMOVA,R40394F7MOV@R1,A0395E4CLRA0396D083POPDPH0398D082POPDPL039A93MOVCA,@A+DPTR039BA3INCDPTR039CB5010ACJNEA,01H,X30039F19DECR103A0E4CLRA03A193MOVCA,@A+DPTR03A2F6X31:MOV@R0,A03A3A3INCDPTR03A4C082PUSHDPL03A6C083PUSHDPH03A822RET03A919X30:DECR103AAE9MOVA,R103AB80F5SJMPX3103AD; 7E50X2:MOVR6,#50H03AF71D1X0:ACALLXLE03B130E51CJNBACC.5,XX003B4DEF9DJNZR6,X003B67E20MOVR6,#20H03B87850MOVR0,#50H03BAE6MOVA,@R003BBF8MOVR0,A03BCE6MOVA,@R003BDFFMOVR7,A03BE7410MOVA,#10H03C0F6MOV@R0,A03C171D1X1:ACALLXLE03C330E506JNBACC.5,XX103C6DEF9DJNZR6,X103C8EFMOVA,R703C9F6MOV@R0,A03CA80E1SJMPX203CCFEXX1:MOVR6,A03CDEFMOVA,R703CEF6MOV@R0,A03CFEEMOVA,R603D022XX0:RET03D19125XLE:ACALLDIS03D39164ACALLKEY03D5FCMOVR4,A03D67948MOVR1,#48H03D8E7MOVA,@R103D9FAMOVR2,A03DA09INCR103DBE7MOVA,@R103DCFBMOVR3,A03DDECMOVA,R403DE6BXRLA,R303DFAB04MOVR3,04H03E1AC02MOVR4,02H03E36004JZX1003E57A88MOVR2,#88H03E77C88MOVR4,#88H03E91CX10:DECR403EAECMOVA,R403EB6482XRLA,#82H03ED600FJZX1103EFECMOVA,R403F0640EXRLA,#0EH03F2600AJZX1103F4ECMOVA,R403F56005JZX1203F77C02MOVR4,#20H03F91ADECR203FA8006SJMPX1303FC7C0FX12:MOVR4,#0FH03FEAA04X11:MOVR2,04H0400AC03MOVR4,03H04027948X13:MOVR1,#48H0404EAMOVA,R20405F7MOV@R1,A040609INCR10407EBMOVA,R30408F7MOV@R1,A0409ECMOVA,R4040A20E507JBACC.5,X113040D20E404JBACC.4,X1130410900415MOVDPTR,#LS3041393MOVCA,@A+DPTR041422X113:RET0415070408LS3:DB07H,04H,08H,05H,09H,06H,0AH0418050906041B0A041C0B0100DB0BH,01H,00H,02H,0FH,03H,0EH041F020F0304220E04230C0DDB0CH,0DH

0425C083DIS:PUSHDPH0427C082PUSHDPL0429D2D4SETBRS1042B787EMOVR0,#7EH042D7A20MOVR2,#20H042F7B00MOVR3,#00H043190044FMOVDPTR,#LS00434E6LS2:MOVA,@R0043593MOVCA,@A+APTR043679DCMOVR1,#0DCH0438F3MOVX@R1,A0439EAMOVA,R2043A09INCR1043BF3MOVX@R1,A043CDBFELS1:DJNZR3,LS1043EC3CLRC043F13RRCA0440

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论