




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前言 DVCC系列单片机仿真实验系统简介第一部分 MCS51实验系统安装与启动 1。1 MCS51实验系统安装与启动 1. DVCC系列实验系统在51CPU状态,各开关位置如下: a.SK1位15置ON,位610置OFF;位12置ON;全部置ON;全部置OFF; e.卧式KBB置51、96位置,立式KBB1开关置51、88位置(只对DVCC598JH/JH+);DL4的1、2相连;2. 如果系统用于仿真外接用户系统,将40芯仿真电缆一头插入系统中J6插座,另一头插入用户系统的8051CPU位置,注意插入方向,仿真头上小红点表示第一脚,对应用户8051CPU第一脚。3.如使用外接电源,将随机配备
2、的2芯电源线插头插入系统J1插座,另一头红线接入外置电源的+5V插孔,黑线接入外置电源地插座。上电后,DVCC系列实验系统上显示“P.”闪动。如使用内置电源,将随机配备的三相电源先一头插入实验系统前侧面三相电源插座中,另一头插入220V交流电源,确认连接无误后打开箱体上电源开关即可。4如果是独立运行,按DVCC系列用户手册进入键盘管理监控,就能马上做实验.如果连上位机工作,必须将随机配备的D型9芯插头一端插入DVCC系统J2插座,另一端插入上位机串行口COM1COM2任选。然后按DVCC实验系统PCDBG键,再运行上位机上的DVCC联机软件,双方建立通信。 1。2 DVCC系列实验系统实验调试
3、有关说明实验的一般步骤a. 运行DVCC软件b. 编写源程序、汇编排错、形成正确的源文件.ASM,并生成中间文件.OBJ。c. 编译、连接,形成最终目标文件.ASM(或.HEX)。d. 装载最终目标文件到实验系统的仿真RAM区。e. 调试实验程序,若有错则重复bd。实验过程中的几点特别说明:a. 本手册中实验原理图上的粗实线部分表示用户实验时要用导线连接的。b. 手册中每个实验的实验步骤都是针对我们提供的实验演示程序编写的。第一个实验的实验步骤很详尽,望学生仔细阅读,以便掌握如何装载实验程序、运行实验程序、观察实验结果。相对来说,第二个实验以后的实验步骤较为简单。实验过程中实验结果的查看a.
4、仿真实验系统除在连续运行或和上位机联机状态下,一般不按总清键,只按MON键返回监控。b. 实验中某些实验结果的查看可采用下列办法:以单步方式运行后,再进入存贮器、寄存器检查、修改等状态,以查看结果。在合适的地方设置断点或结束地址,全速运行程序,当程序运行到断点时会自动停下来,再进入存贮器、寄存器检查、修改等状态,以查看结果。开启有关变量窗、寄存器窗口,以连续单步方式运行程序,在窗口中观察运行结果。第二部分 键盘监控命令简介单片机实验系统自带的仿真器键盘设有32个,进口键座,定制注塑键帽,手感好,接触可靠,使用寿命长,15只功能键均为多功能键。显示部分有6只高亮数码显示器组成。其键盘操作、显示设
5、置完全一样。具有良好的兼容性,对用户来说只要熟悉一种系统的键盘操作即可。如有特殊的地方将在下面的论述中以详细说明。 键盘布置R77DPL8DPH9AATVMEMEPRGHDELPRTEXECFVBPR44R55R66BBREGOFSTODRWINSCOMPPCDBGEPRGLR11R22R33PSWC F1 LASTEPMOVMOVESTEPNVBPR00PCHFPCLESPDF2NEXTEPCHEPCOMDARMON上图中左边16个为数字键,在键上“”下面表示的十六进制数字0F,用于输入地址、数据或机器语言代码。对于51CPU而言,“”上面是工作寄存器名或其省略写法,如DPH表示数据寄存器D
6、PTR高8位,DPL表示数据指针寄存器DPTR低8位,PCH表示程序指针的高8位。PCL表示程序指针低8位. 表2-1代 号0123456789ABCDEF寄存器名51R0R1R2R3R4R5R6R7DPLDPHABPSWSPPCLPCH图中右边16个为功能键,在独立运行模式下输入操作命令,其通用功能如下:TV/MEM: TV/程序存贮器检查REG/OFST: 片内RAM、寄存器、特殊功能寄存器检查/偏移量计算ODRW/INS: 外部数据存贮器、外部RAM、I/O检查/插入一字节EPRGH/DEL: EPROM高速写入/删除一字节F1/LAST: 第一标志键/读上一字节F2/NEXT: 第二标
7、志键/读下一字节STEP/NVBP: 单拍/单拍跟踪EXEC/FVBP: 连续执行/断点运行PCDBG/EPRGL: 与上位机通讯调试/低速固化EPMOV; 固化区内容移入目标RAMEPCH/EPCOM: EPROM查空/EPROM比较PRT: 打印命令COMP: 源程序与目标程序比较MOVE: 程序块或数据块移动DAR: 反汇编MON: 退出当前操作,返回初态显示闪动“P.”RESET: 系统复位按钮,无论何时按RESET键,都使整个系统复位,返回初始状态闪动“P.”用户可以通过32个键向本机发出各种操作命令,大多数键均有2个以上功能,本机无上下档转换键,计算机到底进行什么操作,不仅与按压什
8、么键有关,也与当前计算机所处的工作状态有关,“工作状态”在操作中,是一个重要的概念,下面作有关介绍。1.单板状态:在本状态时,显示器的左端显示提示符,一个闪动的“P.”字符,表示开发机处于初始化状态,等待你操作。在计算机接通电源自动复位时处于单板状态;按压RESET复位键后,使本机处于单板状态;在大多数情况下,按MON键,也可以使本机进入单板状态(在后面也称为待命状态0)。待命状态0时,可以进行的操作有:* 按压任一数字键,进入待命状态1,待命状态1即为数字键可输入状态。* 按压F1标志键,进入仿真2态,仿真2态就是用户只是借用实验系统CPU,其余均在用户系统上。PC值指向外部用户程序空间,D
9、PTR指向外部数据空间,显示闪动的“H”;* 按压F2标志键,进入仿真1态,仿真1态就是用户借用实验系统CPU和实验系统上的仿真程序区。PC值指向实验系统用户程序空间,DPTR指向外部数据空间,显示闪动的“P”;* 按压PCDBG键,进入与上位机通讯、调试、反汇编,显示器全暗;* 按压EXEC键,从现行PC地址开始执行用户程序;* 按压STEP键,从现行PC地址开始单拍执行用户程序。2. MEM态:即存贮器读写状态,进入存贮器读写状态时,前4位显示器显示存贮器地址,后2位显示器显示该存贮器单元中的内容。在待命状态下,按压MEM键,或当执行用户程序时遇到断点、单拍执行、EPROM编程写入出错等都
10、会使计算机进入该状态,本状态可进入如下操作。* 按压OFST键,进入相对偏移量计算;* 按压DEL键,进入删除操作,按一下,删除一字节;* 按压INS键,进入插入操作,按一下,插入一字节;* 按压LAST键,进入上一字节读写操作;* 按压NEXT键,进入下一字节读写操作;* 按压STEP键,以当前显示器内容作为地址,按压一下,执行一条命令,即执行用户程序一步;* 按压EXEC键,以当前显示器内容作为地址,连续执行用户程序(若要退出,应按RESET复位按钮);* 按压MON键,返回待命状态0(按EXEC键后,该命令无效)。3. REG态:即寄存器读写状态,进入该状态时,前面1位和2位显示寄存器地
11、址,后面2位显示该寄存器中的内容。在待命状态1,按压REG键,可进入如下操作:对51CPU状态如前面键入1位地址,进入当前工作寄存器读写/检查状态;显示代号07,读写当前工作寄存器R0R7;显示代号8或9,检查数据指针DPTR,8显示DPL,9显示DPH;显示代号A,检查累加器A的内容;显示代号B,检查B寄存器的内容;显示代号C,检查程序状态字PSW的内容显示代号D,检查堆栈指针SP的内容,开机复位后SP为07H;(7) 显示代号E或F,检查当前PC值,E显示PCL,F显示PCH。如前面键入2位地址,进入片内寄存器读写(包括特殊功能寄存器和通用寄存器)。此时按压LAST键,读写上一字节内容;按
12、压NEXT键,读写下一字节内容。4. ODRW态:即用户目标系统数据存贮器读写状态。在仿真1状态,即显示“P.”状态下键入4位地址后按ODRW键,读写的内容都是用户系统中的扩展数据存贮器或扩展I/O口,与实验系统无关。前面4位显示用户目标系统数据存贮器地址,后2位显示存贮器中的内容。按压LAST键,读写上一字节内容。按压NEXT键,读写下一字节内容。按压MON键,返回待命状态0。5. 标志态:即F态在待命状态1,再按压F1键,本机便进入标志态,标志态功能特别强。(1)F1键功能:装入源程序首址,即把当前显示器内容作为源程序首址,装入本机的约定单元,并显示闪动“”标志符。(2)F2键功能:装入源
13、程序末址,即把当前显示器内容作为源程序末址,装入本机的约定单元,并显示闪动“”标志符。(3) 在“”状态下,再键入的数,便是目标首址。(4)F标志态可进入的操作: * 按压MOVE键,进入程序/数据块移动。在“P.”态,本机内部0000HFEFFH空间相互传送。 在“P.”态,本机内部0000HFEFFH空间的内容移到用户系统数据区,在“H.”态,用户目标程序区移到本机仿真RAM区。 操作如下:源首地址,F1,源末地址,F2,目标首地址,MOVE。 * 按压COMP键,进入程序块比较,操作步骤如下: 源首址,F1,源末址,F2,目首址,COMP。* 按压EPRGH键,进入EPROM高速固化(适
14、用51、196系统),操作步骤如下:源首址(RAM区),F1,源末址(RAM区),F2,目首址(EPROM),EPRGH。* 按压EPMOV,把固化区程序搬运到程序区(适用51、196系统):在“P”态,固化区内容传向本机内0000H-FEFFH空间。* 按压FVBP键,进入断点运行(适用51、196系统),操作步骤如下: 断点地址,F1,执行首址,FVBP。 2。3 键盘监控操作命令介绍 2。3.1 复位命令RESET键在任何时刻按压复位键RESET,都会迫使计算机进入初始状态(与通电复位作用一样),在RST为高的第二个周期执行内部复位,并且在RST变低前每一个周期重复执行内部复位,复位后:
15、 * 使8155、8255I/O接口芯片复位 * 使计算机进入待命状态0 * 按压复位键不会改变用户存贮区的内容,也不会改变CPU片内RAM区的内容及外部数据区的内容 2。3.2 返回待命状态MON键 按MON键,可迫使计算机进入待命状态。通常用MON键进行以下操作: * 清除已送入显示器的数字;* 退出其他操作状态。例如退出存储器读写状态,寄存器读写状态等;按MON键,不会影响用户的存贮器、寄存器内容。2。3。3 程序存贮器读写命令MEM、NEXT、LAST键 这一组命令是用来检查(读出)或更改(写入)内存单元,因此,通过这些键命令的操作,向计算机送入程序和数据或从计算机中读出数据。 在“P
16、.”闪动状态下,读出的是仿真程序/数据区的内容(在实验系统上的外部存贮器)。 在“P”状态下,读出的是仿真程序/数据区的内容(在实验系统上的外部存贮器)。 在“H”状态下,读出的是用户板(目标板)上程序存贮器即EPROM中内容。 先按压MON键,使计算机处于待命状态0,然后送入4位表示要检查的程序存储器地址,再按MEM键,读出该单元的内容,计算机便进入存储器读写状态。 在程序存贮器读写状态,显示器的左边4位数字是内存单元地址,右边的2位是该单元的内容。光标(闪动的数字)表示等待修改(写入)的数字。 程序存贮器读写状态是键盘监控的一种重要状态;这时多数命令键都具有与待命状态1不同的功能。 * 请
17、用户注意:程序存贮器读写状态的明显标志是:显示6位数字,光标在第五位或第六位。 在程序存贮器读写状态,使用LAST或NEXT键可以读出上一个或下一个存贮单元的内容,同时光标自动移动到第五位。持续按LAST或NEXT键在1秒以上,计算机便开始对内存进行向上或向下扫描,依次显示各单元地址及内容,或快速移动到要检查的单元,从而简化了操作。 按MON键,可使计算机退出存储器读写状态,返回待命状态。2.3.4寄存器读写、特殊功能寄存器检查、片内RAM区读写命令REG、NEXT、LAST键:寄存器读写可以输入一位地址,亦可以二位地址。输入一位地址时作为寄存器代号,见表2-1。特殊功能寄存器、片内RAM的读
18、写输入二位地址,见表2-2。输入一位地址时,寄存器读写状态的标志是:显示器上显示3个数字,左边第一位数字代表寄存器的代号,右边的2位数字表示该寄存器的内容。光标处于显示器的第5位到第6位之中。若要对寄存器的内容进行改写,可按压所需的数字键,光标所在处的数字即被更换,而光标随即往右移一位。(若到了最右端,又重新回到起始位)。表2-2 代号寄存器代号寄存器00FFCPU片内RAMA0P280P0A81E81SPB0P382DPLB81P83DPHD0PSW87PCONE0A88TCONF0B89TMOD8ATL08BTL18CTH08DTH190P198SCON99SBUF特殊功能寄存器检查状态标
19、志是:显示器上显示4个数字,左边第一位、第二位数字代表寄存器地址,右边的2位数字表示该寄存器的内容,中间两位是空格,光标在第五位或第六位。片内RAM区读写状态是:显示器上显示四个数字,左边两位是RAM区地址,右边两位是该地址的内容,中间两位是空格。光标处于显示器的第5位或第6位。若要对RAM区的内容进行改写,可按压所需的数字键,光标所处的数字即被更换。按压NEXT或LAST键,可检查更改下一或上一单元RAM区(按地址顺序排列)的内容。持续按LAST或NEXT键的时间在1秒以上时,可实现快速查找。按压MON键,可以从寄存器、RAM区读写状态返回待命状态0。2.3.5 EPROM检查、编程写入命令
20、EPROM、EPCOM、EPRGH、EPRGL键(适用于51、196CPU系统) 在仿真实验仪上,有一EPROM写入区,利用实验系统上可编程I/O接口芯片8255,可对2764、27128实现编程写入(程序固化)。 对EPROM高速编程写入步骤如下:把需要固化的EPROM芯片,插在对应的EPROM插座上,芯片缺口朝上。固化区EPROM首地址均为0000H2764EPROM地址为0000H-1FFFH27128EPROM地址为0000H-3FFFH,检查插座上EPROM是否全部擦干净(EPROM中的内容是否是全FFH0。在待命状态0,按压EPCH键,对EPROM进行检查,在显示器上出现“P。”字
21、符,即说明EPROM是全FFH,可以对EPROM进行编程(固化程序)。如果在显示器上出现出错地址及数据,即该片在显示器上的地址单元内容不是FFH,则不能进行编程,可再一次擦除(用EPROM擦除器),或调换一片,用上述方法再进行检查,直到通过为止。有的EPROM烧坏后,检查也是全FFH,所以必须能改写EPROM才是真正好的芯片,也可用电流表串接在VPP电压中,若静态电流大于50mA,说明该芯片已损坏,不能使用。用导线将线路板上(4X8键盘左下)VPP插孔和外置电源上的+25V(+12V-+25V可调)插孔相连,根据经验,EPROM芯片写入电压在12V-24V之间,视各芯片电压而定,有的厂家在芯片
22、上注明PGM(写入电压),有的芯片不作说明,目前市场有很多芯片不标明PGM固化电压,往往使许多用户上当,烧坏了大量芯片,一般12V芯片中的硅片比21V的芯片小1/2倍。所以你写EPROM时若没有把握,电压可以从低(12V)到高(25V)逐渐试写。用存贮器读写命令,或系统机通讯方式下的装载命令,将要求写入EPROM的内容送入程序RAM区,如果是拷贝ROM,应把原芯片插在EPROM固化区(在8255旁边),读到内存中去。读入方法如下:键入EPROM芯片首地址,按F1,再键入EPROM芯片末地址(2764末地址为1FFFH、27128末地址为3FFFH),按F2键,再键入仿真RAM区首地址(0000
23、H)按EPMOV,待仿真器显示“P。”读入结束。固化操作步骤如下:在显示器上键入源首址再键入F1标志键再键入RAM区源末址再键入F2标志键再键入目标EPROM首址再键入EPRGH键则自动进入高速写入,显示器上显示写入地址及其内容,这过程是一边写入、一边校对、一边显示。如写入正确无误,写完后显示器上显示“P。”,若有错,则显示出错地址及其内容。在编程写入操作过程中,按RESET键,可使计算机中止编程操作而返回待命状态0。对EPROM低速编程写入的步骤如下:操作同用EPRGH键的(1)-(5)仅在“f” 步骤上,不按EPRGH,而按EPRGL键,则进入低速编程。以固化“8”字循环为例:1.先把8字
24、循环程序输入到用户区0000H-0020H中,再按EXEC键,应有“8”字在LED上循环显示。2.把固化的芯片插在对应的EPROM插座上。3.VPP中串接50mA电流表,加上符合EPROM芯片要求的固化芯片。4.固化操作:0000(源首址)-F10020(源末地址)-F20000(目标EPROM首地址),再按EPRGH进入固化,正确结束显示“P。”。5.比较操作:0000(EPROM首地址)-F10020(末地址)-F20000(RAM首地址)-EPCOM。进入比较,正确结束显示“P。”。6.关掉直流稳压电源。7.打开直流稳压电源,把刚固化的内容读到内存执行,查看固化正确与否,具体操作如下:即
25、:0000 F1 0020 F2 0000 EPMOV。按EPM0V键后,即刻把固化区内容读到0000H为首址内存。再按EXEC键(0地址可省),应显示“8”字循环。实验一 键盘操作与调试实验一、实验目的掌握单片机仿真器键盘的使用和程序的调试方法。掌握手工汇编的方法。二、预习内容1、阅读关于单片机仿真器键盘操作使用说明。2、了解本实验的实验内容与实验步骤。三、实验内容把单片机片外RAM中2000H20FFH地址区间内容置成55H。四、实验步骤1、手工汇编:把源程序手工汇编译成机器码。地址 机器码 MOV R0,#00H MOV DPTR,#2000H LOOP0: MOV A,#55H MOV
26、X DPTR,A INC DPTR INC R0 CJNE R0,#0FFH, LOOP0 LOOP1: SJMP LOOP12、使用0F数字键及有关控制键把机器码输入仿真器。按以下步骤进行操作调试程序,把相应的结果记录下来。a. 连续执行(按Exec键)后,再按RST键查以下单元内容:(DPTR)=b. 使用中断设置键在000DH处设置断点,连续执行,按MON键后查以下单元内容:(DPTR)= (A)=(2000H)= (20FFH)=c. 区分MON与RST键的不同的作用和用途:d. 使用MOVE键,把0000H0020H的内容移到0200H0220H处,查以下单元内容:(2000H)=
27、(020FF)=e. 使用STEP键,执行程序观察显示变化。五、思考题(完成实验报告)1、调试程序时为什么要“设置断点”?2、按“MON”键后,原键入的程序是否会丢失?实验二 交叉汇编一、实验目的1、通过一具体程序,学习和掌握交叉汇编;2、了解和运用单步运用,指定光标处运行、断点设置。二、实验内容1、P1口亮灯实验2、DVCC集成开发环境中MCS-51仿真开发系统的运用。三、实验步骤1、按图接好线路2、打开计算机中DVCC仿真实验程序。4、打开菜单“文件”,选新文件,输入源程序,并保存之。5、打开“编译”,选取编译连接传送文件。6、打开“动态调试”,选取连续执行。7、复位。8、熟悉单步运行,并
28、观察各寄存器内容。9、在程序中延时部分,运行指定光标处运行。10、熟悉设置断点。四、参考程序ORG 0790HSE18:MOV P1, #0FFHL034:MOV A, #0FEHL033:MOV P1,A Lca11 SE19RL A SJMP L033ORG 07A0SE19:MOV R6,#0A0HL036:MOV R7,#0FFHL035:DJNZ R7,L035DJNZ R6,L036RET 实验三 清零实验一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容把7000H70FFH的内容清零。开始R0=0000送到7000HDPTR+1,R0+1R0=FF结束YN三、实
29、验程序框图四、实验步骤1、当DVCC单片机仿真实验系统独立工作时 (1) 将固化区EPROM中实验程序目标码传送到仿真RAM区,操作如下:输入0后按F1键,再输入0FFF后按F2键,再输入0后按EPMOV稍等,系统返回初始状态,显示“P.”。 (2)通过键盘输入实验程序的起始地址0030H,再按执行键EXEC,表示连续运行该程序,稍侯,按RESET键退出运行;如果以单步运行程序,则输入0030后,按SETP键,按一次执行一条语句,直到执行到003CH为止,按MON键退出运行;如果以断点运行程序,则先输入003CH(断点地址),再按F1键,再输入0030(起始地址),然后按EXEC键执行程序,当
30、执行到003CH时自动停下来,此时按MON键退出。 (3) 用存贮器读写方法检查7000H70FFH中的内容应全是00H。2、当DVCC仿真实验系统联PC机时(1) 在闪动“P.”状态,按PCDBG键;(2) 在PC机处于在Win95/98软件平台下,单击DVCC图标。(3) 在“系统设置”选项中设定仿真模式为内程序、内数据。(4) 根据屏幕提示进入51/96动态调试菜单。(5) 联接DVCC实验系统(Ctrl+H)(6) 装载目标文件(Ctrl+L)(7) 设置PC起始地址(8) 从起始地址开始连续运行程序(F9)或单步(F8)或断点运行程序(9) 单步、断点运行完后,在存贮器窗口内检查70
31、00H70FFH中的内容是否全为00H五、实验程序 ORG 0030HCLEAR:MOV R0,#00H MOV DPTR,#7000HCLEAR1: CLR A MOVX DPTR,A INC DPTR INC R0 CJNE R0,#00H,CLEAR1 SJMP CLEAREND思考:假使要把700070FFH中的内容改成FF,如何编制程序。 实验四 拆字实验一、实验目的掌握汇编语言设计和调试方法。二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。三、实验程序框图 开始7000内容送A高低
32、位交换屏蔽高位后送7001H7000H内容送A屏蔽高位后送7002H结束四、实验步骤先用存贮器读写方法将7000H单元置成34H 用单步、断点或连续执行程序的方法从起始地址0050H开始运行程序(输入0050后按STEP为单步,按EXEC为连续)。 按MON键或RESET键退出。 检查7001H和7002H单元中的内容应为03H和04H;五、实验程序 ORG 0050HCWORD:MOV DPTR,#7000H MOVX A,DPTR MOV B,A SWAP A ANL A,#0FH INC DPTR MOVX DPTR,A INC DPTR MOV A,B ANL A,#0FH MOVX
33、DPTR,ACWORD1: SJMP CWORD1 END六、思考:如何用断点方法调试本程序。实验五 拼字程序 一、实验目的进一步掌握汇编语言设计和调试方法。二、实验内容把7000H、7001H的低位相拼后送入7002H,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。(7000H)送A,屏蔽高位(7001H)送A,屏蔽高位开始交换高低位后送BA和B相或后送7002H结束三、实验程序框图 四、实验步骤将7000H单元中内容置03H,7001H单元中的内容置04H用单步或断点方式从0070H开始运行程序(输入0070后按STEP键为单步运行)。按MON键退出。 检查7002H中的内容应为34
34、H五、实验程序 ORG 0070HPWORD:MOV DPTR,#7000H MOVX A,DPTR ANL A,#0FH SWAP A MOV B,A INC DPTR MOVX A,DPTR ANL A,#0FH ORL A,B INC DPTR MOVX DPTR,APWORD1: SJMP PWORD1 END实验六 脉冲计数(定时/计数器实验)一、实验目的熟悉8031定时/计数功能,掌握定时/计数初始化编程方法。二、实验内容对定时器0外部输入的脉冲进行计数,并送显示器显示。 三、实验程序框图 开始堆栈、定时/计数初始化开定时器取出TL0、TH0内容调用二转十进制子程序结果送显示缓冲器
35、器调显示子程序 二进制转十进制子程序0送R4 R5 R616送位计数器R70送CYR2R3右移一位2(R4R5R6)+CY送R4R5R6(R7)-1送R7 R7=0?结束 N Y四、实验步骤T7任一根信号线或单脉冲输出孔“SP”。用连续方式从起始地址02A0H开始运行程序(按02A0后按EXEC键)。观察数码管显示的内容应为脉冲个数。五、实验程序 ORG 02A0HCONT:MOV SP,#53H MOV TMOD,#05H MOV TH0,#00H MOV TL0,#00H SETB TR0CONT1:MOV R2,TH0 MOV R3,TL0 LCALL CONT2 MOV R0,#79H
36、 MOV A,R6 LCALL PWOR MOV A,R5 LCALL PWOR MOV A,R4 LCALL PWOR LCALL DISP SJMP CONT1CONT2:CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#10HCONT3:CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,C
37、ONT3 RETPWOR:MOV R1,A LCALL PWOR1 MOV A,R1 SWAP APWOR1:ANL A,#0FH MOV R0,A INC R0 RETDISP:SETB 0D4H MOV R1,#7EH MOV R2,#20H MOV R3,#00HDISP1:MOV DPTR,#0FF21H MOV A,R2 MOVX DPTR,A MOV DPTR,#CDATA MOV A,R1 MOVC A,A+DPTR MOV DPTR,#0FF22H MOVX DPTR,ADISP2:DJNZ R3,DISP2 DEC R1 CLR C MOV A,R2 RRC A MOV R2
38、,A JNZ DISP1 MOV A,#0FFH MOV DPTR,#0FF22H MOVX DPTR,A CLR 0D4H RETCDATA:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH END六、思考: 修改程序使显示器上止可显示到999999个脉冲个数。 实验七 P3.3口输入 P1口输出一、实验目的 掌握P3口、P1口简单使用。 学习延时程序的编写和使用。二、实验内容P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。2. P
39、1口做输出口,编写程序,使P1口接的8个发光二极管L1L8按16进制加一方式点亮发光二极管。三、实验说明 1. P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 延时子程序的延时计算问题。对于延时程序 DELAY :MOV R6, #00H DELAY1:MOV R7, #80H DJNZ R7, $ DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需用两个机器
40、周期,而一个机器周期时间长度为12/ 6.0MHZ,所以该段指令执行时间为:(80+1)256+1)2(12NNYR6设初值FFHR7设初值FFHR7-1=0否?R6-1=0否返回Y四、实验程序框图 延时子程序: P3.3真的为高吗?P3.3为低吗?开 始延 时延 时A+1送P1口循 环NNNYYY 主程序:五、实验原理图六、实验程序 ORG 0540hHA1S: MOV A,#00HHA1S1:JB P3.3,HA1S1 MOV R2,#10H LCALL DELAY JB P3.3,HA1S1HA1S2: JNB P3.3,HA1S2 MOV R2,#10H LCALL DELAY JNB
41、 P3.3,HA1S2 INC A PUSH ACC CPL A MOV P1,A POP ACC AJMP HA1S1DELAY:PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 02HDELAY3: DJNZ R2,DELAY3 POP 02H DJNZ R2,DELAY2 POP 02H DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY RET END 七、实验步骤L8。从起始地址0540H开始连续运行程序(输入0540后按EXEC键)。开关K1每拨动一次,L1L8发光二极管按16进制方式加一点亮。 实验八 中断实验一、实验目的1、学习和掌
42、握中断系统初始化编程;2、理解中断处理全过程及中断服务程序的设计方法;学习外部中断的使用方法,进一步掌握计数器/定时器中断系统的初始化编程。二、实验内容1、外部中断的使用(1)用8031单片机的P1口中的PP作为输入口,联接到实验板开关K1K4的插孔中;用P1.4P作为输出口,联接到发光二极管L1L4的插孔中;(2)选择外部中断INT0,采用边沿触发方式;(3)每按一次开关,产生一个负脉冲,送到8031单片机的INT0端,作为中断请求信号。8031每次响应一次中断请求,就从开关处读入数据,取反后送发光二极管显示,其流程图如下:主 程 序对外部中断0开中断INT0为边沿触发方式等 待8031开中
43、断2、定时器/计数器中断工作方式实验(1)用8031单片机的P1口中的PP作为输出口,连接到发光二极管LED0LED7的插孔中;(2)把外部触发脉冲接到T0(P)引脚;(3)利用计数器0以中断方式,对外部开关动作5次后,只使P1。0端口的发光二极管灯亮,第2个5次后,只使P1。1端口的发光二极管灯亮依次第8个5次后,重新上述显示。三、实验步骤关掉电源,按图在实验板上进行接线,接线完成后要认真检查,保证接线的正确可靠,才能通电;2、把编写好的程序(1)送入开发机内,调试并执行程序按开关键K后,进入中断服务程序,观察输入开关K0K3和发光二极管LED0LED3的情况,然后再按搬动开关K0K3观察发
44、光二极管LED0LED3的情况,如果开关键K往回搬后,再观察发光二极管LED0LED3的情况。3、关掉电源后,修改电路为下一个实验进行接线。接线完成后要认真检查,保证接线的正确可靠后,通电;把编写好的程序(2)送入开发机内,调试并执行程序按开关键K五次后,进入中断服务程序,观察发光二极管LED0LED3的情况,然后再接动开关K五次后,再观察发光二极管LED0LED3的情况。关掉电源后,拆除线路。四、预习要求1、认真阅读教材第二章中有关中断和定时器计数器待内容;2、参照教材编写实验中所需要的源程序。五、实验报告及要求1、整理好程序和实验结果;2、定出完整的实验报告;3、总结中断编程方法。六、参考
45、程序ORG 0000HAJMP MAINORG 0003HAJMP EXTRORG 0050HMAIN: SETB IT0 SETB EX0 SETB EAWAIT: AJMP WAITEXTR: MOV A,#0FHMOV P1, AMOV A, P1CPL AORL A,#0F0HSWAP AMOV P1, ARETI(2)利用计数器0以中断方式,对外部开关动作5次只使P1。0端口的发光二极管灯亮,第二个5次只使P端口的发光二极管灯亮,依次第8个5次后,重新上述显示。ORG 0000HSTART AJMP MAIN ORG 000BHAJMP C0NTRALORG 0050HMAIN: M
46、OV 30H ,#01HMOV TMOD,#05HMOV TL0, # 0FFHMOV TL0,#0FBHMOV P1, #0FFHSETB EASETB ET0SETB TR0WAIT: SJMP WAITORG 0100HC0NTRAL: MOV TH0 ,#0FFHMOV TL0 ,#0FBHMOV A,30HRL AMOV 30H,AMOV P1,A RETI 实验九 A/D 转换实验一、实验目的 1.掌握A/ D转换与单片机的接口方法。 2.了解A/ D芯片0809转换性能及编程方法。 3.通过实验了解单片机如何进行数据采集。二、实验内容 利用实验仪上的0809做A/ D转换实验,实
47、验仪上的W1电位器提供模拟量输入。编制程序,将模拟量转换成数字量,通过二位七段数码管显示器显示。三、实验说明A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D转换器,速度快,价格也昂贵。实验用ADC0809属第二类,是8位A/ D转换器。每采集一次一般需100s。由于ADC0809 A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/ D转换结果。四、实验接线图五、实验程序框图开 始0809初始化初始显示00080
48、9通道0采样数码管显示采样值六、实验程序ORG 06D0HSTART: MOV A,#00H MOV DPTR,#9000H MOVX DPTR,A MOV A,#00H MOV SBUF,A MOVX A,DPTR DISP: MOV R0,A ANL A,#0FH LP: MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,A MOV R7,#0FH H55S: DJNZ R7,H55S MOV A,R0 SWAP A ANL A,#0FH MOVC A,A+DPTR MOV SBUF,A MOV R7,#0FHH55S1:DJNZ R7,H55S1 LCALL DE
49、LAY AJMP STARTTAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh DELAY:MOV R6,#0FFh DELY2:MOV R7,#0FFh DELY1:DJNZ R7,DELY1 DJNZ R6,DELY2 RETEND七、实验步骤把A/D区0809的0通道IN0用插针线接至W1的中心抽头V01插孔(05V)。0809的CLK插孔与分频输出端T4相连。3. 将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。调节W2,使
50、VREF端为+5V。 4. 将A/D区的VREF连到W2的输出VREF端。(如果精度要求不高的话,A/D区的VREF直接连到VCC插孔,这样步骤可以去掉)。EXIC1上插上74LS02芯片,将有关线路按图连好。 将A/D区D0D7用排线与BUS2区XD0XD7相连。BUS3区P3.0插孔连到数码管显示区DATA插孔。 BUS3区P3.1插孔连到数码管显示区CLK插孔。单脉冲发生/SP插孔连到数码管显示区CLR插孔。 10. 按实验系统上的F2键,仿真实验仪进入仿真状态(内程序,外数据),显示器显示“P”。11. 以连续方式从起始地址06D0运行程序,在数码管上显示当前采集的电压值转换后的数字量,调节W1数码管显示将随着电压变化而相应变化,典型值为0V80H,5VFFH。实验十 D/A转换实验目的了解D/A转换与单片机的接口方法。2.了解D/A转换芯片0832的性能及编程方法。了解单片机系统中扩展D/A转换芯片的基本方法。实验内容 利用0832输出一个从-5V开始逐渐升到0V再逐渐升至5V,再从5V逐渐降至0V,再降至-5V的锯齿波电压。实验接线图实验程序框图YNYN开始设置数字量初值数字量初值送0832启动D/A数字量加1数字量是否为”FF”?数字量送0832启动D/A数字量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 签署房屋买卖合同
- 合同协议吸收合并协议
- 农业科技智能温室系统技术方案
- 个人健康记录统计表(年度)
- 投资居间合同协议书
- 分项工程施工合同
- 房地产开发全总包合同
- 计算机购销合同
- 2025年宁波货运从业资格证模拟考试题
- 公司账号保密协议
- 新能源汽车及零部件检验检测公共服务平台建设项目可行性研究报告
- 《工程热力学》课件-11 理想气体热力学能、焓和熵的计算
- 发票知识培训课件
- 《综合办岗位职责》课件
- 学校与家庭在学生心理健康中的协同作用
- 大学英语翻译课件
- 《中医望闻问切》课件
- 声带肿物的护理教学查房
- 2023年高考真题-地理(天津卷) 含答案
- 2025年公务员考试《行测》模拟题及答案(详细解析)
- 2024年黑龙江省牡丹江市中考历史试卷
评论
0/150
提交评论