欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机实验指导书计算机.docx

    • 资源ID:87074917       资源大小:1.03MB        全文页数:99页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机实验指导书计算机.docx

    单片机原理股应用实施指导器目录3实验一仿真环境使用4实验二数据区传送、数据排序程序实验12实验三键盘扫描显示实验17实验四脉冲计数(定时/计数器的记数功能实验)28实验五A/D转换实验35实验六D/A0832转换实验41实验七步进电机控制实验48实验八RAM扩展实验58实验九力测量实验63实验十温度测量实验70实验十一点阵LCD液晶显示屏实验76实验一仿真环境使用一、实验目的1、熟悉仿真环境。2、学习简单程序调试的方法。二、实验内容:1、KEIL软件的安装将带有KEIL安装软件的光盘放入光驱里,打开光驱中带有KEIL安装软件的文件夹,双击Setup文件夹中“Setup”即开始安装。如果您的微机匕已经安装了 KEIL的软件,会提示您是否要先把您以前的软件先卸载,此时您最好是先卸载掉,然后再安装本软件(如图所示)。如果您需耍把软件安装在C盘以外的其它盘,需要运行一个补丁文件,直接打开KEIL 软件已安装目录中的KEILUV2,双击“Crackdir”图标,点击确定即完成补丁的安装(如图所示)。实验中所用实验例程在盘符keiluv2中,文件名为“3OOOTB51配套实验程序”都是工程文件,直接打开就可以进入调试界面;本书中所讲软件实验在“51asm”文件夹中,都以ASM的格式存放文件夹中。2、硬件安装连接51CPU板,在实验箱右下角有三个插座:JI、J2、J3,用来连接51CPU板,在51CPU板上有一个小拨码开关:J18,是单片机的EA脚,是用来选择读片内还是片外ROM 的,拨向左边为读片内ROM;拨向右边为读片外ROM。KEIL仿真器与实验箱的连接:将KEIL仿真器40芯的排线连到51CPU板的40芯插座上,仿真器的USB连接线连到微机的USB 口。八段数码管右上角的两个拨码小开关是用来设置工作模式的,将两个拨码小开关同时拨向右边是选择51单片机工作模式,此时应拨向右边。3、Keil C软件的操作说明新建一个项目文件。首先点击 Keil uVision2,进入uVision2界面。点击工具栏Project选项中的New Project,准备开始建立自己的项目。输入工程文件名称,并选择保存工程文件的目录。为项目文件选择一个目标器件(如ATMEL89c51),如图所示。a8»l-k.4 rU.Hr 24Mt OWS cmiU.Hw » I/I_J2 TiaM-«/Cavi<«ri. 6 XB<«rrwtc/2 PriarttrVAftT.Three-Uv«l No(r«» Va»>ry Lack 4K 力,H*k> C, 128 gp 0* *-d»> BANUflli在“为目标'目标1'设置选项”中,点击“调试”菜单,在此菜单中可选择是使用硬件仿真,还是软件仿真,连接实验箱做实验时选择硬件仿真,点击硬件仿真选项后面的设置选项,在此对对话框中选择串口和波特率,串口根据所连电脑来决定。波特率为38400。软点击“文件/新建”创建源程序文件并输入程序代码。在文本框中输入原程序,如下图所示点击“文件/保存“对程序进行保存I'-' I ,“A、”3R3 S("&0R ZtiuaFt)* Ipoto *CS 。3> tM>B112S1ma Ct) e»力J|»SKtNMCrnnr7L:1C1CAPg用鼠标对项目工作区的目标1,点击右键在弹出的菜单中选择添加文件到原代码组,如Ht'AMtl0sMMi? (tx IW1 ttD.C,J-1O1 xl6 u o r o q . .0(34 g - 9 o 国 1b r e_*w«rxC - 十十九心“11二 hOptxm for Group 3m*ce Groia 1的 t«Q«ttrirwlrt* Ne01223 = ooooo AI mil *ln( ss / ooooo X* /<富*<£ X B-lSA*nn下图所示fl* WUfUFWI口/ tdt )0ewttk.XSi irox«iJU2dF 4» (c cJ rn*宜仲名i)文件an(i)尸 :U 111MlWCtl |cn> numRSF /在弹出的添加文件框中,选择需要添加到项目中的文件CM> NUM0rH点击编译连接的图标,对项目文件进行编译0图<£<* g)«ct C2*>ug Fvhar* look JVCS(ja*)-Itfl xj图3 H。, h h &ZlMg tA也tn国鱼” os .凹凹x k恭行一3点击“调试/启动/停止调试”进入调试界面IRlED - TTisioa -。:工11何23000”51配套实怜例程1实处一八段敷玛管显示实泠AS-8LZD .日文件Q)编辑(B)视图(V)项目(P)调试8)闪存Q)外围设备(r)工具(T)版本控制(S)©»)帮助00固G$ Q国Ctrl+F5腌出1 f值自i a 02国电型眄典13 a *M XS (Target 1胤运行仍告进G?步越(p)什跳出当前函数fin弊F1I> F1四碓1儆氟炉装卮巨H7|P.nI;实验一八段数码管1r»-» nnrn tcc."c<c<卜1 CtrlfFH在调试界面中可以时程序进行单步或者全速运行的调试改 E& few &0iKt gug Roth Peer* Jocte *C5 Wntoo *p由学X0 。二一 ,: 7已©国色含S3科(P:0x0006|C:0x000813:|C:0x0009C:OxOOOC 15: :OxOOOFmov 7S8160mov 90E100nov 7403sp,#60h MOV SP(0x81),#0x60dptr.#0«100hNOVa.#03hMOVDPTR,#0xE100;81S5初始化movx Wptr.oA.#0x03F0 mov 754000 mov 754108 mov 754200MOVX 40h.#00hMOV 41h.#08bMOV 42h,#00hMOV0OFTR.A:显示缰冲器初始化0x40.#0x000x41/0x080x42.#0x00若要查看内存中的数据,点击“视图/存储器窗口” uVisioBS文件8)编辑(I)络 si©a视图项目09调试(D)闪存Q)3伏态栏6)文件工具栏0)外国设备(r)工具CT)版本控制6)窗口帮助00“宫口三H 73。0创建工具栏CB)4* K铁1山MM «一号目工作区调试工具栏(g)寄存器n项目窗口伊)1 S R«cs展场出窗口9)值源文件浏览器(.)帙皮汇编窗口)粉视和调用堆栈面口 on3000TB51配套实衿例程1冥餐一八段数码管显示实怜rO rl r2r4X佥一八段数码皆显而equ Oe101h ;位控制口» equ 0e102h ;以汽制口侬164时钟位)» equ 0e102h ;段拄制口(接16磁据位)equ 0e103h ;键盘递入口equ6 Oh;显示缓冲equ7Oh;显示的弱据r6;Cf代码作用范圉窗口(V)在此地址框中,输入不同的指令查看内部数据如果需要查看一些内部数据,在菜单栏点击视图/存储窗口。C:0X地址显示程序存储区数据X:0X地址显示数据存储区中数据D:0X地址显示CPU内部存储区中数据Name11:30X80o o O o o O o F O o F O o o O o o O o o O o o O o o O o o O o o O o o O o o O o o O 7 0 0 o o O F o O F o OOO O OF F O O O 8F O O0 9 28 8 9 XXX o o O D D D图 画-55注意:仿真器使用者使用时应注意:Keil C仿真器用户程序在全速运行时,如果需新停运行,请按实验仪键盘“RST”,此时仿真器存储器数据清零。如果您要再次运行您所编写的程序,就必须重新装载运行。4、拆字程序:把8000H地址上的内容拆开,高位送8001H地址的低位,低位送8002H 地址的低位,8001 Hs 8002H地址的高位清零;参考程序ORG 0000HMOV DPTR,#8000H;指定的字节MOVX A,DPTRMOV B.A;暂存SWAP A;交换ANLA,#0FH;屏敝高位INC DPTRMOVX DPTR,AINC DPTRMOVA,B;指定字节的内容屏敝高位ANL A,#0FHMOVX DPTR,ALOOP: SJMP LOOPEND实验二数据区传送、数据排序程序实验一、实验目的1、学习Windows平台下的编辑、编译、排错调试方法。2、学习修改和观察变量的方法;综合使用单步、断点调试的方法。二、实验内容:1、数据传送把内部RAM中起始地址为DATA的数据传送到内部RAM以BUFFER为首地址的区域,直到发现“$”字符的ASCII码为止,数据串的最大长度为32个字节。2,多字节BCD码加法3、编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号正整数,按从小到大的次序重新排列。三、实验器材:计算机1台四、实验步骤1、参阅硬件安装把综合实验仪、仿真器与PC机串行口连起来,打开电源。2、在PC机上用鼠标点击“KEILuvision2”图标,进入KEIL调试环境,选择串行口,点击“确认”。3、打开“项目/新建项目”,输入项目名,选择目标MCU,如:inte189c52。4、编辑文件:用鼠标点击文件I新文件,在文本编辑器中编辑程序:5、文件保存:用鼠标点击文件I保存,在对话框中输入文件名。6、为项目添加文件:单击左边的项目工作区/源代码组1右键在出现菜单中选择添加文件到组“源代码组1”,在弹出的对话框中选中您刚保存的文件,点击确认完成项目文件的添加。7、为项目设置通讯口:单击左边的项目工作区/目标1右键在出现的菜单中选择为目标''目标1"设置选项,在弹出的菜单中选择调试。在新窗口中选择使用Keil monitor-51Driver,单击设置在出现的窗口中设置串口和波特率(注:波特率必须为38400)。8、文件编译、连接、装载:用鼠标点击项目/前建所有目标文件,系统自动进行编译,并出现信息窗口。若有语法错误,则需重新修正,需再次执行重建所有目标文件:若无语法错误,点击调试/启动/停止调试后,进入调试状态。9、设置观察窗口:用鼠标点击视图/存储口窗口,在地址口输入CPU内部存贮区地址,回车之后出现地址为50H的数据显示于窗口中。10、单步执行程序:按F11键一条一条地执行下去,注意观察左边寄存器区中相应的寄存器或者CPU内部存贮区中相应的数据寄存器单元的数据变化。11、连续运行:用鼠标点击外围设备/复位CPU,使PC指向0000H,点击调试/运行后,程序开始连续运行。如需暂停,用鼠标点击调试/停止运行。12、断点运行:要使程序执行到某条指令处暂停,如希望程序执行到LOOP1处暂停,可按如下操作:将光标移到LOOP 1处双击鼠标左键,即可设置断点,用鼠标点击调试/运行,程序将在LOOP行停止运行。13、复位:用鼠标点击外围设备/复位CPU,强迫PC指向0000H。图1数据传送子程序流程图数据传送子程序1、数据传送把内部RAM中起始地址为DATA的数据传送到内部RAM以BUFFER为首地址的区域,直到发现字符的ASCII码为止,数据串的最大长度为32个字节。Org OOOOhMOV RO,#DATAMOV RI,#BUFFERMOV R2,#20HLOOP: MOV A,R0SUBB A,#24HJZ EXITINC RIINC ROMOV R1, ADJNZ R2, LOOPLOOP: AJMP $ret2、多字节BCD码加法入口条件:字节数在R7中,被加数在R0中,加数在R1中。出口条件:和在RO中,最高位进位在CY中。影响资源:PSW、A、P2堆栈需求:2字节Org OOOOhA,1R7MOVR2, AADDA, ROMOVRO, AMOVA, R2ADDA, RIMOVRI, ACLRCDECRODECRIMOVA,©ROADDCA,R1DAAMOV©RO, ADJNZR2, BCD1retBCDA: MOVBCD1:3;用冒泡法进行数据排序ORG 0000HMOV R3,#50HLOOPO: MOV A,R3MOV RO,A;指针送 ROMOV R7,#0AH;长度送 R7CLR OOH;标志位为0MOV A,R0LOOP1: INC ROMOV R2,ACLRCMOV 22H,R0CJNE A,22H,LOOP2;相等吗?SETBCLOOP2:MOV A,R2JC LOOP3;小于或等于不交换SETB OOHXCH A,R0DEC ROXCH A,R0INC RO;大于交换位置LOOP3:MOV A,R0DJNZR7XOOP1JB OOH,LOOPO7次循环中有交换继续LOOP:SJMP LOOP;无交换退出END实验三键盘扫描显示实验一、实验目的:1、掌握键盘和显示器的接口方法和编程方法。2、掌握键盘扫描和LED八段数码管显示器的工作原理。二、实验要求:在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。实验程序可分成三个模块。1、键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。2、显示模块:将显示单元的内容在显示器上动态显示。3、主程序:调用键输入模块和显示模块。三、实验器材:1、单片机综合实验仪1台2、KEIL仿真器1台3、计算机1台四、实验电路:这里只是键盘示意图,详细原理参见“8155键显模块”。ZZZZZZZ/VCC-r行码(0el03H)列码(OelOlH)图3键盘示意图五、实验说明:本实验仪提供了一个6X4的小键盘,向列扫描码地址(OelOlH)逐列输出低电平,然后从行码地址(0el03H)读回,如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高.这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。列扫描码还可以分时用作LED的位选通信号。六、实验流程图:图4实验主程序框图图5读键输入子程序框图显示程序框图见上个实验七、实验程序:;键盘扫描实验OUTBIT equOelOlh ;位控制口CLK164 equ0el02h ;段控制口(接164时钟位)DAT 164 equOelO2h ;段控制口(接164数据位)IN equOelO3h ;键盘读入口ORG 0000HLJMP STARKEY1:MOV13H,#06HMOV12H,#20HKEY2:MOVA,12HCPLAMOVR7,AMOVDPTR,#0E101HMOVA,R7MOVXDPTR,AMOVA,12HCLRCRRCAMOV12H,AMOVDPTR,#0E103HMOVXA,DPTRMOVR7,AMOVA,R7CPLAMOVR7,AMOVA,R7MOV14H,ADEC13HMOVR7J3HMOVA,R7JZKEYDISMOVA,14HJZKEY2KEYDIS:MOV A,14HJZ TESTKEY5MOVA,13HADDA,ACCADDA,ACCMOV13H,AMOVA,14HJNBACC.1,TESTKEYINC13HSJMPTESTKEY2;键盘扫描TESTKEY:MOV A,14HJNB ACC.2,TESTKEY 1INC 13HINC 13HSJMP TESTKEY2TESTKEY 1:MOV AJ4HJNB ACC.3,TESTKEY2MOV A,#03HADD A,13HMOV 13H,ATESTKEY2:MOV DPTR,#0E101HCLR AMOVX DPTR,ATESTKEY3:MOV R7,#0AHLCALL MLOOPLCALL MLOOP4MOV A,R7JNZ TESTKEY3MOV R7J3HMOV A,R7MOV DPTR,#0134HMOVC A,A+DPTRMOV R7,ARETTESTKEY4:DB 22H ;nTESTKEY5:MOVRETR7,#0FFHGETKEY:MOVMOV10H,#20H0EH,#00HGETKEY1:MOV A,0EHCLR CSUBB A,#06HJNC GOON2MOV DPTR,#0E101HCLR AMOVX DPTR,AMOV R7,0EHADDA,R7MOVRO,AMOVA,R0MOVR7,AMOV11H,R7MOV0FH,#00HGETKEY2:MOV A,0FHCLRCSUBBA,#08HJNCGOON1MOVA,11HJNBACC7KLOOPMOVDPTR,#0E102HMOVA,#01HMOVXDPTR,ASJMPKLOOP1,KLOOP:MOVDPTR,#0E102HCLRAMOVXDPTR,AKLOOP1:MOV DPTR,#0E102HMOVXA,DPTRMOVR7,AMOVA,R7ORLA,#02HMOVR7,AMOVA,R7MOVXDPTR,AMOVDPTR,#0E102HMOVR7,AMOVA,R7ANLA,#0FDHMOVR7,AMOVA,R7MOVXDPTR,AMOVA,11HADDA,ACCMOV11H,AINCOFHSJMPGETKEY2GOON1:MOV DPTR,#0E101HMOV A,10HMOVX DPTR,AMOV R7,#01HLCALL MLOOPMOV A,10HCLR CRRC AMOV 10H,AINC OEHSJMP GETKEY1GOON2:RETWAIT:MOV DPTR,#0E100HMOV A,#03HMOVX DPTR,AMOV 08H,#OFFHMOV 09H,#0FFHMOV 0BH,#0FFHMOV 0CH,#()0HMOV 0DH,#00HWAIT1:LCALLGETKEYLCALL MLOOP4MOV A,R7JZ WAIT1LCALL KEY1MOV R6,#00HMOV R6,#00HMOV A,R7ANL A,#0FHMOV R7,AMOV A,#24HADD A,R7MOV DPL,AMOV A,#01HADDC A,R6MOV DPH,ACLR AMOVC A,A+DPTRMOV R7,AMOV 0DH,R7SJMP WAIT1RETTAB:Q0I24:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HQ012C:DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;ow|9AyqQ0134:DBOOH,01H,04H.07H, OFH,02H,05H,08HQ0I3C:DB OEH,03H,06H,09H, ODH, OCH, OBH, OAH ;Q0I44:DB 1OH,11H,12H,13H,14H,15H,16H;MLOOP:MOV 15H,R7MLOOP1:MOV R7J5HDEC 15HMOV A,R7JZ MLOOP3MOV 16H,#64HMLOOP2:MOV A,16HJZ MLOOP1DEC 16HSJMP MLOOP2SJMP MLOOP1MLOOP3:RETMLOOP4:MOV DPTR,#0E101HCLRAMOVXDPTR,AMOVDPTR,#0E103HMOVXA,DPTRMOVR7,AMOVA,R7CPLAMOVR7,AMOVA,R7ANLA,#0FHMOVR7,ARETSTAR:MOV R0,#7FHCLR ASTAR1:MOV R0,ADJNZ RO,STAR 1MOV SR#16HUMP WAITEND实验四脉冲计数(定时/计数器的记数功能实验)一、实验目的:1、熟悉8031定时/计数器的记数功能;2、掌握初始化编程方法:3、掌握中断程序的调试方法。二、实验内容:定时/记数器0对外部输入的脉冲进行计数,并送显示器显示。三、实验器材:1、单片机综合实验仪1台2、KEIL仿真器1台3、连线若干根4、计算机1台四、实验原理:MCS-51有两个16位的定时/计数器:TO和T1。计数和定时实质上都是对脉冲信号进行计数,只不过脉冲源不同而已。当工作在定时方式时,计数脉冲来自单片机的内部,每个机器周期使计数器加1,由于计数脉冲的频率是固定的(即每个脉冲为1个机器周期的时间),故可通过设定计数值来实现定时功能。当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一个由1到0的电平变化时,计数器的值加1,从而实现计数功能。可以通过编程来指定时计数器的功能,以及它的工作方式。读取计数器的当前值时,应读3次。这样可以避免在第一次读完后,第二次读之前,由于低位溢出向高位进位时的错误。五、接线方案:接线方案2:接线方案1:“DOWN”0.25MHz>CKAvia ,4093ia8868图6实验接线图六、程序框图:堆栈、定时/计数初始化开定时器取出TLO/THO内容转换图7主程序流程图图8二转十进制程序流程图七、实验步骤:用连线把“总线插孔”的P3.4孔连“脉冲源”的“DOWN”孔,执行程序,按动AN 锁按钮,观察数码管上计数脉冲的个数。八、思考问题:把P3.4孔分别与“脉冲源”的2MHZ、1MHZ,0.5MHZ孔相连时,显示值反而比连0.25MHZ孔更慢,为什么?当fosc=6MHZ时,能够计数的脉冲信号最高频率为多少?九、实验程序:;对定时器。外部输入的脉冲信号进行计数且显示OUTBIT equOelOlhCLK164 equOelO2h ;段控制口(接164时钟位)DAT164 equOelO2h ;段控制口(接164数据位)LEDBuf equ 40hIN equOelO3hORG OOOOhMOV SR#60HMOV DPTR,#0e 100H;8155初始化MOV A,#03HMOVX DPTR,AMOV TMOD,#05H;定时器初始化MOV TH0,#00HMOV TL0,#00HSETB TROLOOPO: MOV R2,TH0MOV R3,TL0LCALL LOOP1MOV R0,#40HLOOP1:LOOP2:MOV A,R6LCALLPTDSMOV A,R5LCALLPTDSMOV A.R4LCALLPTDSLCALL DISPLAYSJMP LOOPOCLR AMOV R4,AMOV R5,AMOV R6,AMOV R7,#10HCLRCMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV A,R6AD DC A,R6DA AMOV R6,AMOV A,R5ADDC A.R5DA AMOV R5,A;二转十子程序ADDC A,R4DA AMOV R4,ADJNZ R7XOOP2RETPTDS: MOV RI,A;拆字子程序ACALLPTDS1MOV A,RISWAP APTDS1: ANLA,#0FHMOV R0,AINC RORETDelay:movr7,#0;延时子程序DelayLoop:djnzr7, Del ay Loopdjnzr6, Del ay LoopretDISPLAY:setb Od3hmovrO,#LEDBufmovrl,#6;共6个八段管movr2,#0000000 lb;从左边开始显示Loop:movdptr,#OUTBITmova,#00hmovxdptr, a;关所有八段管mova,r0mov dptr,#LEDmapmovea,a+dptrmovB,#8;送164DLP:rlc a mov r3, a mov acc.O, c anl a,#Ofdh movdptr,#DAT 164movx dptr, a mov dptn #CLK 164 orl a,#02h movx dptr, a anl a,#OfDh movx dptr, a mov a, r3 djnz B,DLP mov dptr,#OUTBIT mov a, r2 movx dptr, a mov r6,#1 call Delay mov a, r2 rl a mov r2, a inc rO djnz rl, Loop mov dptr,#OUTBIT mov a,#0 movx dptr, a clr Od3h;显示一位八段管;显示下一位;关所有八段管retLEDMAP:八段管显示码db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71 hEND实验五A/D转换实验一、实验目的:掌握A/D转换与单片机接口的方法;了解A/D芯片0809转换性能及编程方法。二、实验内容:利用综合实验仪上的0809做A/D转换器,综合实验仪上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过8155键显区数码管显示出来。三、实验器材:1、单片机综合实验仪1台2、KEIL仿真器1台3、连线若干根4、计算机1台四、实验原理:A/D转换器的功能主要是将输入的模拟信号转换成数字信号,如电压、电流、温度测量等都属于这种转换。本实验中采用的转换器为ADC0809,它是一个8位逐次逼近型A/D转换器,可以对8个模拟量进行转换,转换时间为100US。其工作过程如下:首先由地址锁存信号ALE的上升沿将引脚ADDA, ADDB和ADDC上的信号锁存到地址寄存器内,用以选择模拟量输入通道;START信号的下降沿启动A/D转换器开始工作;当转换结束时, AD0809使EOC引脚由低电平变成高电平,程序可以通过查询的方式读取转换结果,也可以通过中断方式读取结果。CLOCK为转换时钟输入端,频率为lOOKHz-1.2MHz,推荐值为640KHz。五、程序流程图:图9程序流程图六、实验步骤:1、设定仿真模式为程序空间在仿真器I二,数据空间在用户板上,即点击设置下的仿真模式,在RAM区选中用户RAM, ROM区选中系统ROM (注:本书中的实验除另行说明外,均与此相同)。把AD0809的零通道09IN0孔用连线接至模拟信号发生器的VIN孔, AD0809的片选信号CS09孔接“译码器” YC2(0A000-0AFFFH)孔,"脉冲源”中的0.5MHZ 孔连AD0809的CLOCK孔。2、编写程序,并编译通过。本程序使用查询的方式读取转换结果。在读取转换结果的指令后设置断点,运行程序,在断点处检查并读出A/D转换结果,数据是否与VIN相对应。修改程序中错误,使显示值随VIN变化而变化。七、接线图案:m>x ADD-E ADD-CKLEEOCEH ABLE 口 AllCLOCKYC2(A000)译码器图10实验接线图八、思考问题:1、试编写循环采集8路模拟量输入A/D转换程序;2、以十进制方式显示。九、实验程序:OUTBIT equOelOlh ;位控制口CLK164 equ0el02h ;段控制口(接164时钟位)DAT164 equOelO2h ;段控制(接164数据位)IN equOelO3h ;键盘读入口LEDBuf equ 40h;显示缓冲org OOOOhmov sp,#60hmov dptn#OelOOh ;8155初始化mov a,#03hmovx dptr,amov 40h,#00h;显示缓冲器初始化mov 41h,#08hmov 42h,#00hmov 43h,#09hmov 44h,#00h mov 45h,#00hLOOP1: MOV R7,#40VI:Icall DISPLAYDJNZ R7,VI mov a,#OOh mov dptr,#OaO(X)h movx dptr,a mov r7,#Ofhloop2: djnz r7,loop2 movx a,dptr mov r0,#45h Icall ptds sjmp looplptds: mov ri,aIcall ptdsl mov a,rl swap aptds 1: anl a,#Ofhmov rO,a dec rO retDelay: mov r7,#0DelayLoop:djnz r7, Del ay Loop djnz r6, Del ay Loop retDISPLAY: setb Od3hmovrO,#LEDBufmovrl,#6;0809AD的通道开始转换吗?拆字;延时子程序;共6个八段管Loop:mov dptr,#OUTBITmov a,#00hmovx dptr, a;关所有八段管mov a,r0mov dptr,#LEDmapmove a,a+dptrmov B,#8;送164DLP:rlc amov r3, amov acc.O, canl a,#Ofidhmov dptr,#DAT 164movx dptr, amov dptn #CLK164orl a,#02hmovx dptr, aanl a,#OfDhmovx dptr, amov a, r3djnz B, DLPmov dptn #OUTBITmov a, r2movx dptr, a ;显示一位八段管mov r6,#1call Delaymov a, r2;显示下一位rr ainc rOdjnz rl, Loopmov dptr,#OUTBITmov a,#0movx dptr, aclrOd3h ;关所有八段管 retLEDMAP:;八段管显示码db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71 hEND实验六D/A0832转换实验一、实验目的:了解D/A转换与单片机的接口方法;了解D/A转换芯片DA0832的性能及编程方法。二、实验内容:利用0832输出一个从0V开始逐渐升至5V再降至0V的三角波电压,

    注意事项

    本文(单片机实验指导书计算机.docx)为本站会员(无***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开