dice598k53实验指导书.doc_第1页
dice598k53实验指导书.doc_第2页
dice598k53实验指导书.doc_第3页
dice598k53实验指导书.doc_第4页
dice598k53实验指导书.doc_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

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

文档简介

DICE598K5_3 实验指导书二O一O年七月目录第一章 系统概述1、598K是集51、96、8088(以下简称88)三大系列CPU于一体的三合一实验系统。内置5196仿真器和8088实验系统。该系统以8088实验系统作为基板,自成一体,可单独作为8086微机原理和接口实验使用,也可分别叠插51或96CPU卡,构成51/96单片机实验开发系统,598K系统结构紧凑,资源充分共享,无总线开关切换,自动识别CPU的类型。 2、实验系统软、硬件配置完善,仿真软件支持Win98/2000/XP等操作系统,并支持汇编语言和C语言的开发,实验内容丰富,是单片机、微机原理和接口教学的理想平台。 3、提供USB接口的电子演示装置,为模拟对象的实时控制提供开发环境。一、系统地址分配1、系统ROM/RAM存贮空间分配 CPUROMRAM1RAM2I/O扩展510000H7FFFH(用户数据)0000H7FFFH(用户数据)8000HFF7FH(用户数据除FF20HFF2FH)FF80HFFFFH2、I/O口地址分配地址扩展名称用途0FF80H自定义实验用口地址0FF90H自定义实验用口地址0FFA0H自定义实验用口地址0FFB0H自定义实验用口地址0FFC0H自定义实验用口地址0FFD0H自定义实验用口地址0FF20H系统8255 PA口键扫/字位口0FF21H系统8255 PB口字形口0FF22H系统8255 PC口键入口0FF23H系统8255 控制口控制口0FF28H扩展8255 PA口扩展用0FF29H扩展8255 PB口扩展用0FF2AH扩展8255 PC口扩展用0FF2BH扩展8255 控制口控制口60HEX1实验用二、系统接口定义(1)CZ11:用户实验通讯接口;(2)CZ4:打印接口;(3)JX0,JX17为系统提供的数据总线接口(4)CZ7:系统提供的扩展接口; (5)JX12、JX14:液晶显示接口三、通用电路简介(1)LED发光二极管指示电路:实验台上包括16只发光二极管及相应驱动电路。见图1-1,LlL16为相应发光二极管驱动信号输入端, 该输入端为低电平“0”时发光二极管亮。(2)逻辑电平开关电路:见图12。实验台上有8只开关Kl-K8, 与之相对应的K1-K8个引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”, 向下拨相应插孔输出低电平“0”。(3)单脉冲电路:实验台上单脉冲产生电路如图1-3,标有“正脉冲”和“负脉冲”的两个引线插孔为正负单脉冲输出端。附近按钮AN为单脉冲产生按钮,每按一次产生一个单脉冲。(4)分频电路:该电路由一片74LS393组成,见图1-4。T0T7为分频输出插孔。该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。(5)脉冲发生电路:实验台上提供一8MHZ的脉冲源,见图1-5,实验台上标有8MHZ的插孔,即为脉冲的输出端。(6)485接口电路:(7)通讯接口电路(8) 数码管显示电路(9)键盘电路(10)目标CPU(AT89S52)的控制电路(11)存储器控制电路第二章 系统安装与使用一、系统要求 Pentium、Pentium-或兼容处理器的PC机; Windows95/98/NT4.0/2000/XP; 16MB RAM 20MB 硬盘空间; 二、DICE-598K51实验系统安装与使用1、51部分仿真软件的安装:双击随机光盘中的“DICE-51仿真开发系统EXE”安装文件,根据提示,完成51部分仿真软件安装,双击DICE-51DICE51EXE或桌面上快捷图标,即可启动51仿真软件,关于该软件的使用参见DICE51CHM帮助文档。 2、系统设置 SW3SW5开关全部置ON,把51KCPU卡插到CPU卡座上(在8088Unit两侧),51K-CPU卡短路块向“片外程序”短接(脱机运行或用仿真器实验时,短路块接在“片外程序”位置,当程序通过编程器或ISP在线下载到单片机AT89S52内部FLASH中时,短路块接在“片内程序”。) 3、ISP在线编程 当使用下载电缆将HEX文件下载到单片机内部FLASH中时,将51K-CPU卡上的另一短路块打在“编程模式”,平时正常实验,执行程序时打在“一般模式”。 ISP在线编程的具体使用与设置见光盘“ISP在线编程说明”WORD文档。 4、脱机使用 接通实验仪电源,数码管应显示“P_ _51”,表明实验系统处于51脱机状态,可通过实验仪键输入相应实验序号,再按EX/FV键,即可全速执行该实验程序,例如输入数字键0、9,连接好A/D实验的导线,再按EX/FV键,即可运行实验序号九的A/D实验。 5、联PC机操作 用34芯导线连接JF(在CPU卡)和DICE-3000仿真器,此时数码管熄灭,自动进入联机状态,把串行通信线一头和DICE-3000仿真器串行口相连,另一端和PC机串口相连,运行DICE-51仿真开发系统软件,51部分实验源程序在X:实验源程序598K5asm文件夹。 6、进入DICE-51仿真开发系统后,点击菜单“设置”-“仿真模式”- CPU:选8031/8032 RAM:选用户RAM ROM:选系统ROM 7、注意在DICE-51仿真开发系统中,新建和调用的“源程序的文件名”不能含有中文字符,且英文字符不能超过8个字符。 “源程序”所在的路径中同样也不能含有中文字符,且不能超过8个字符。 正确例子:D:598K5ASMhw01.asm三、实验连线 (51单片机实验接线表) 实验一 P1口亮灯实验P1.0P1.7L1L8(发光二极管) 实验二 P1口转弯灯实验P1.0K1,P1.1K2 P1.4L1,P1.5L2,P1.6L5,P1.7L6 实验三 P3.3口输入,P1口输出) P3.3K1 P1.0P1.7L1L8(发光二极管) 实验四 工业顺序控制 P3.4 K1,P3.3K2 P1.0P1.6L1L7,P1.7VIN,JP短路块接ON(音频功放) 实验五 8255 A、B、C 口输出方波无连线,观察PA、PB、PC口输出方波实验六 8255 PA口控制PB口PA0PA7K1K8,Q0Q7L1L8 实验七 8255控制交通灯8255 PA0PA7依次接发光二极管L7L5、L3L1 实验八 简单I/O扩展Y0Y7接K1K8,Q0Q7接L1L8,CS1接FF80H,CS2接FF90H孔,JX0接JX7(D0D7) 实验九 A/D转换实验IN0VOUT,VIN+5V,CS4FF80H,JX0JX6 WRIOWR,RDIORD,ADDA、ADDB、ADDC0V(地) 实验十 D/A转换实验CS5FF80H,JX2JX0,WRIOWR,AOUT电压表实验十一 8279键盘显示实验CS6FF80H,JRLJR,JSLJS,JOUTJLED SW3、SW4、SW5置OFF(实验完后置ON) 实验十二、十三(打印机)专用电缆连CZ4(PRT)到微打接口(选配) *实验十四 日历时钟DS12887控制实验CZ7(主板)CZ1(MC3),P3.2/IRQ(MC3)(选配) 实验十五 I2C存储卡读写实验P3.0SCL,P3.1SDA,INSP1.0,P1.0P1.2L1L3(发光管) 实验十六 ISD1730录音见后面实验指导。 实验十七 ISD1730放音同实验十六 实验十八 继电器控制P1.0JIN,JZ地,JKL1,JBL2 实验十九 步进电机控制P1.0P1.3HAHD 实验二十 8253方波CLK02 MHZ,GATE05V,CS3FF80H,OUT0接示波器,运行程序,观察示波器是否有方波输出。实验二十一 小直流电机闭环调速实验 P1.0P1.7-K8K1;(通过K1K8可设定直流电机转速,圈数/S,十六进制输入) P3.2-HOUT(直流电机传感器输出); CS5-FF80H, AOUT-DJ WR-/IOWR, JX2-JX0。 运行程序:数码管上显示“设定转速值- -当前转速值”! 注意:设定圈数/S值不要太高,因为小直流电机实际转速大约在1F/S。实验二十二 LED16*16点阵显示实验JLPCJX16,JHP1JX10,JLPAJX9,JLPBJX15 实验二十三 128*64 LCD液晶显示实验JX10JX12,JX11JX14,/RST/RST 实验二十四 8250可编程异步通讯接口实验(自发自收) JX0JX3,CS7FF80H,TXDRXD 实验二十五 8251可编程通讯接口实验(与PC机) (1)8251单元:CS88000H,CLK1.8432M,T/RXCOUT1,TXDEX-TXD,RXDEX-RXD,JX20JX17;(注:TXD、RXD在8251单元;EX-TXD、EX-RXD在CZ11用户通讯口,对应标号为TXD、RXD) (2)8253单元:CS39000H,GATE1+5V,CLK11.8432M; (3)开关设置: SW3、SW4、SW5置ON,PC机串口连至CZ11用户通讯口插座上(脱机运行,不用仿真器,联机必须PC机有两个串行口); (4)运行串口调试助手,设置对应的串口和波特率(9600),在P态下键入25按F0/EX执行键,显示闪动P,按动小键盘数字键,在PC机屏幕上显示相应的数字,按MON返P态。实验二十六 单片机RS232 / RS485串行发送实验(双机通讯) (1)准备两台598K实验机,确定1号机为发送,2号机为接收; (2)当作RS232接口实验时:1号机、2号机P3.0、P3.1交叉相连,两机共地。(3)当作RS485接口实验时,P3.0R0,P3.1DI,P1.0TEN/R,1号机、2号机A、B对应用导线连接,两机共地。(4)先运行2号机,使2号机处于待命状态P。后运行1号机使1号机处于发送状态P。在1号机键盘上按动数字键,在2号机的数码管上应显示对应的数字键值。实验二十七 单片机RS232 / RS485串行接收实验(双机通讯)实验连线同实验二十六 实验二十八 基于DS18B20的智能温度测量实验P1.0DQ 实验二十九 单片机系统中的红外线通信实验P3.2HOUT,P1.5SP(蜂鸣器) 实验三十 TL549 串行A/D转换实验(AIN)模拟量输入通道用连线接至电位器VOUT孔,电位器输入端VIN接+5V,I/O CLOCK(CLK)接P1.6,DATA OUT(DO)接P1.7,CS接P1.0 实验三十一 TLC5615 10位 D/A串行转换实验DINP1.2, SCLKP1.1,/CSP1.0,OUTDJ 实验三十二 PCF8563实时时钟/日历芯片实验SDAP1.7, SCLP1.6, K1P1.0,当P1.0为低电平时,数码管显示“时、分、秒”;当P1.0为高电平时,数码管显示“年、月、日”。实验三十三 MAX813L看门狗复位电路实验实验连线详见实验指导书。 实验三十四 LM331电压/频率转换实验VIN0接电位器VOUT孔,电位器输入端VIN接+5V,频率输出端FOUT接P3.5 实验三十五 串行存储芯片93C46读写实验P3.0CS,P3.1SK,P3.2DI,P3.3DO P1.0P1.7L1L8(发光二极管) 实验三十六 AT24C02 I2C总线存储器读写实验SCLP1.6, SDAP1.7,P1.0L1(写指示灯),P1.1L2(读指示灯),A0、A1、A2接地。实验三十七 PWM脉冲宽度调制实验PWM_INP1.7,V_OUTDJ(小直流电机) 实验三十八 74LS164串并转换P3.0A/B,P3.1CP,P1.0CLR,调入程序运行,两位数码管上循环显示数字0099。实验三十九 165并串转换实验P1.0P1.7D7D0,P3 .0Q7,P3.1CLK(CP),P3.2S/L, CKINGND。实验四十 电子音乐演奏实验 P1.5SP(蜂鸣器) 或 P1.5VIN(扬声器,音频功放单元) 实验四十一 温度压力实验 CS4FF80H,JX0JX6,WR/IOWR,RD/IORD,ADDA、ADDB、ADDC0V(地) 温度实验:IN0VT 压力实验:IN0VP 第三章实 验 指 导 本实验指导是为适应各大、中专院校开设单片机原理与应用方面的课程需做大量软、硬件实验的需要而编写的.完成本实验指导中的实验,可使学生基本掌握MCS5l单片机的结构原理、接口技术、程序设计技巧。手册中详细叙述了各实验的目的、内容,列出了接线图、程序结构框图和清单。免除了主讲教师和实验辅导老师为设计、准备调试实验线路和实验程序所需的工作量,节约了宝贵的时间。1、采用联机调试实验程序时,需双击桌面上“DICE-51仿真开发系统”银环图标,打开仿真调试软件,设置仿真模式。具体步骤如下:点击菜单栏的“设置(S)”项,在弹出下拉菜单中选择“仿真模式(M).”,此时此时将弹出“仿真模式”对话框,在此进行相关设置CPU:8031/8032;RAM:用户RAM;ROM:系统ROM。2、实验接线图上的粗实线表示用户在实验时要用导线连接起来。3、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据该校(院)的教学要求,选择相应实验。4、对同一问题的解决办法往往不是唯一的,欢迎用户在使用本书过程中提出更为优秀的实验方案,指出错误和不足,希望用户反馈给我们,以便及时修改。一、软件实验本节共编写了十个软件实验,通过对这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。实验一 清零程序1、实验目的:掌握汇编语言设计和调试方法,熟悉键盘操作。2、实验内容:把2000H20FFH的内容清零。3、实验程序框图: 4、实验步骤:用连续或单步方式运行程序,检查200020FF中执行程序前后的内容变化。5、思考:假使把2000H20FFH中的内容改成FF,,如何修改程序。6、程序清单 文件名:SW01.ASM ORG 0000H LJMP SE01 ORG 0640HSE01: MOV R0,#00H MOV DPTR,#2000H ;(0000H)送DPTRLOO1: CLR A MOVX DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加1 CJNE R0,#00H,LOO1 ;不到FF个字节再清LOOP: SJMP LOOP END实验二 拆字程序L、实验目的:掌握汇编语言设计和调试方法。2、实验内容:把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。3、实验程序框图:4、实验步骤:用连续或单步方式运行程序,检查2000H2002H中内容变化情况。5、思考:如何用断点方式调试本程序。6、程序清单 文件名:SW02.ASM ORG 0000H LJMP SE02 ORG 0660HSE02: MOV DPTR,#2000H MOVX A,DPTR MOV B,A ;(2000)AB SWAP A ;交换 ANL A,#0FH ;屏蔽高位 INC DPTR MOVX DPTR,A ;送2001H INC DPTR MOV A,B ANL A,#0FH ;(2000)内容屏蔽高位 MOVX DPTR,A ;送2002HLOOP: SJMP LOOP END实验三拼字程序1、实验目的:进一步掌握汇编语言设计和调试方法。.2、实验内容:把2000H.2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一字节。3、实验程序框图:4、实验步骤:单步或用断点方式运行程序,检查2002H内容变化情况。5、程序清单 文件名:SW03.ASM ORG 0000H LJMP START ORG 0680HSTART: MOV DPTR,#2000H MOVX A,DPTR ANL A,#0FH ;(2000H)内容屏蔽高位 SWAP A ;交换 MOV B,A ;保存 INC DPTR MOVX A,DPTR ;(2000H)内容送A ANL A,#0FH ;屏蔽高位 ORL A,B ;或 INC DPTR MOVX DPTR,A ;送2002H SJMP $ END实验四数据区传送子程序 1、实验目的:掌握RAM中的数据操作。2、实验内容:把R2.R3源RAM区首址内的R6.R7字节数据传送到R4.R5目的RAM区。3、实验程序框图:4、实验步骤:在R2.R3中输入源首址(例如0000H),R4.R5中输入目的地址(例如2000H),R6.R7中输入字节数(例如lFFFH),运行程序,检查0000HlFFFH中内容是否和2000H3FFFH中内容完全一致。5、程序清单 文件名:SW04.ASM ORG 0000H LJMP SE22 ORG 07B0HSE22: MOV DPL,R3 MOV DPH,R2 ;建立源程序首址 MOVX A,DPTR ;取数 MOV DPL,R5 MOV DPH,R4 ;目的地首址 MOVX DPTR,A ;传送 CJNE R3,#0FFH,LO42 INC R2LO42: INC R3 ;源地址加1 CJNE R5,#0FFH,LO43 INC R4LO43: INC R5 ;目的地址加1 CJNE R7,#00H,LO44 CJNE R6,#00H,LO45 ;字节数减1LOOP: SJMP LOOP NOPLO44: DEC R7 SJMP SE22LO45: DEC R7 DEC R6 SJMP SE22 ;未完继续 END实验五 数据排序实验 1、实验目的:熟悉51指令系统,掌握程序设计方法。2、实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。3、程序框图:4、实验步骤:将RAM 50H5AH 中放入不等的数据,用断点方法运行本实验程序后检查50H5AH中的内容是否按从小到大的次序排列。5、思考:修改程序把50H5AH中内容从大到小排列。6、程序清单 文件名:SW05.ASM ORG 0000H LJMP QUE ORG 09B0HQUE: MOV R3,#50HQUE1: MOV A,R3 ;指针送R0 MOV R0,A MOV R7,#0AH ;长度送R7 CLR 00H ;清标志位 MOV A,R0QL2 : INC R0 MOV R2,A CLR C MOV 22H,R0 CJNE A,22H,QL3 ;相等吗? SETB CQL3: MOV A,R2 JC QL1 ;大于交换位置 SETB 00H XCH A,R0 DEC R0 XCH A,R0 INC R0 ;大于交换位置QL1: MOV A,R0 DJNZ R7,QL2 JB 00H,QUE1 ;一次循环中有交换继续LOOP: SJMP LOOP ;无交换退出 END实验六 查找相同数个数 1、实验目的:熟悉汇编语言编程。2、实验内容:在2000H200FH的N个单元中填入零,运行本程序后检查2100H中是否为N。3、实验程序框图:4、实验步骤:在2000H200FH的几个单元中填入零,运行本程序后检查2100H中是否是几个单元数。5、思考:修改程序,查找其它内容。6、程序清单 文件名:SW06.ASM ORG 0000H LJMP L5800 ORG 0AA0HL5800: MOV R0,#10H ;查找16个字节 MOV R1,#00H MOV DPTR,#2000HL5811: MOVX A,DPTR CJNE A,#00H,L5816 ;取出内容与00H相等吗? INC R1 ;取出个数加1L5816: INC DPTR DJNZ R0,L5811 ;未完继续 MOV DPTR,#2100H MOV A,R1 MOVX DPTR,A ;相同数的个数送2100HL581E: SJMP L581E END实验七无符号双字节快速乘法子程序 1、实验目的:掌握MCS-51汇编语言程序设计方法。2、预备知识:本程序利用单字节的乘法指令,根据下面的公式进行乘法运算的。(R2R3)*(R6R7)(R2)* +(R3)*(R6)* +R7)(R2)*(R6)* +(R2)*(R7)+(R3)*(R6)* +(R3)*(R7)3、实验内容:将(R2R3)和(R6R7)中双字节无符号整数相乘,积送R4 R5 R6 R7中。4、实验程序框图:5、实验步骤:在R2R3和R6R7中输入无符号整数,断点或单步运行本实验程序后检查R4 R5 R6 R7中内容。6、程序清单 文件名:SW07.ASM ORG 0000H LJMP QKUL ORG 0970HQKUL: MOV A,R3 MOV B,R7 MUL AB ;R3*R7 XCH A,R7 ;R7=(R3*R7)低字节 MOV R5,B ;R5=(R3*R7)高字节 MOV B,R2 MUL AB ;R2*R7 ADD A,R5 MOV R4,A CLR A ADDC A,B MOV R5,A ;R5=(R2*R7)高字节 MOV A,R6 MOV B,R3 MUL AB ;R3*R6 ADD A,R4 XCH A,R6 XCH A,B ADDC A,R5 MOV R5,A MOV PSW.5,C ;存CY MOV A,R2 MUL AB ;R2*R6 ADD A,R5 MOV R5,A CLR A MOV ACC.0,C MOV C,PSW.5 ;加上次加法的进位 ADDC A,B MOV R4,ALOOP: SJMP LOOP END实验八多分支程序 1,实验目的:掌握汇编语言的编程。2,实验内容:编写程序,根据送入的数据转移运行。3,实验程序框图:4,实验步骤:在20H中分次送入00.01.02.03,每次运行程序后,观察数码管上数字循环情况。5,程序清单 文件名:SW08.ASM;在20H中分次送入00.01.02.03,每次运行程序后,观察数码管上数字循环情况。ORG 0000HLJMP MEMSORG 0A10HMEMS:MOV P2,#0FFHMOV A,#81HMOV DPTR,#0FF23HMOVX DPTR,A MOV A,20H MOV DPTR,#KKKK ;散转地址 RL A JMP A+DPTR ;散转到(20)*2+DPTRKKKK: AJMP MEMSP0 AJMP MEMSP1 AJMP MEMSP2 SJMP MEMSP3MEMSP0: MOV 20H,#0C0H ;0字循环 LJMP SOX0MEMSP1: MOV 20H,#0F9H ;1字循环 LJMP SOX0MEMSP2: MOV 20H,#0A4H ;2字循环 LJMP SOX0MEMSP3: MOV 20H,#0B0H ;3字循环 LJMP SOX0ORG 0DA0HSOX0: MOV A,20H MOV R0,#21H MOV R1,#20H MOVX R0,A; 输出段控码 MOV A,#01HSOX1: cpl a MOVX R1,A; 输出位控码 cpl a MOV R2,#20H LCALL DELY RL A ;显示字程序 SJMP SOX1DELY:PUSH 02HDEL2:PUSH 02HDEL3:PUSH 02HDEL4:DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DELYRETEND实验九脉冲计数(定时/计数器实验) 1、 实验目的:熟悉单片机内部定时/计数器功能,掌握初始化编程方法。2、 实验内容:把定时器0外部输入的脉冲进行计数,并送显示器显示3、 实验程序框图:4、 实验接线图:5、 实验步骤:P3.4 依次接T0T7或单脉冲输出孔,执行程序,观察数码管上计数脉冲的速度及个数。6、 思考:修改程序使显示器上可显示到999999个脉冲个数。7、 程序清单文件名:SW09.ASM;脉冲计数实验ORG 0000HLJMP SE15ORG 06E0HSE15:MOV SP,#53HMOV P2,#0FFHMOV A,#81HMOV DPTR,#0FF23HMOVX DPTR,A ; MOV TMOD,#05HMOV TH0,#00H;定时计数器初始化MOV TL0,#00HSETB TR0LO29:MOV R2,TH0MOV R3,TL0;取出TH0、TL0内容LCALL ZOY0MOV R0,#79H;二转十进制MOV A,R6LCALL PTDSMOV A,R5LCALL PTDSMOV A,R4LCALL PTDS;送显示缓冲区LCALL SSEE;显示SJMP LO29;循环计数ZOY0:CLR AMOV R4,AMOV R5,AMOV R6,A;0送R4 R5 R6MOV R7,#10HLO30:CLR C;R2 R3左移,移出的最高位送CYMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV A,R6ADDC A,R6;(R4 R5 R6)*2送R4 R5 R6DA A;十进制调整MOV R6,AMOV A,R5ADDC A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,ADJNZ R7,LO30;循环16次RETPTDS: MOV R1,A;拆送显示缓冲区ACALL PTDS1MOV A,R1SWAP APTDS1:ANL A,#0FHMOV R0,AINC R0RETSSEE:SETB RS1;换工作区MOV R5,#05HSSE2:MOV 30H,#20HMOV 31H,#7EHMOV R7,#06HSSE1:MOV R1,#20HMOV A,30HCPL AMOVX R1,A;字位送入MOV R0,31HMOV A,R0MOV DPTR,#DDFFMOVC A,A+DPTR;取字形代码MOV R1,#21HMOVX R1,A; 字形送入MOV A,30HRR A;右移MOV 30H,ADEC 31HMOV A,#0FFH;关显示MOVX R1,ADJNZ R7,SSE1; 6位显示完了吗?DJNZ R5,SSE2; 5次显示完了吗?CLR RS1RETDDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEHEND实验十电脑时钟(定时器、中断综合实验)1、实验目的:熟悉MCS-5l定时器和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。2、实验内容:编写程序,从实验系统键盘上输入时间初值,用定时器产生0.lS定时中断,对时钟计数器计数,并将数值实时地送数码管显示。3、实验程序框图 4、实验步骤:连续运行程序,在键盘上输入时间初值,按执行键F0/EX执行,数码管实时显示时间值。5、思考:(1)电子钟走时精度和程序中那些常数有关? (2)修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。6、程序清单 文件名:SW10.ASM ORG 0000H LJMP CHK0 ORG 000BH LJMP CLOCK ORG 0030HCHK0: MOV SP,#60H MOV 7EH,#11H MOV 7DH,#10H MOV 7CH,#10H MOV 7BH,#10H MOV 7AH,#10H MOV 79H,#10H MOV A,#43H MOV DPTR,#0FF20H MOVX DPTR,A MOV R0,#59H MOV A,#7EH MOVX R0,A LCALL LCK0 ;键扫,显示字程序 LCALL PTDS0 ;显示缓冲区放数子程序 MOV TMOD,#01H ORL IE,#82H MOV TL0,#0E6H MOV TH0,#0DBH ;定时中断初始化 MOV 23H,#00H SETB TR0 ;开定时LOO5: LCALL SSEE LCALL PTDS0 SJMP LOO5 ;循环PTDS0: MOV R0,#79H MOV A,22H ACALL PTDS MOV A,21H ACALL PTDS MOV A,20H ACALL PTDS RETPTDS: MOV R1,A ;拆送显示缓冲区 ACALL PTDS1 MOV A,R1 SWAP APTDS1: ANL A,#0FH MOV R0,A INC R0 RETCLOCK: MOV TL0,#0E6H ;恢复初值 MOV TH0,#0DBH PUSH PSW PUSH ACC SETB 0D3H ;保护 INC 23H ;0.1秒1 MOV A,23H CJNE A,#64H,DONE ;1秒到吗? MOV 23H,#00H ;清0.1秒单元 MOV A,22H INC A ;秒加1 DA A MOV 22H,A ;十进制调整 CJNE A,#60H,DONE ;60秒到了吗? MOV 22H,#00H ;秒单元清零 MOV A,21H INC A DA A ;分加1,十进制调整 MOV 21H,A CJNE A,#60H,DONE ;60分到了吗? MOV 21H,#00H ;分单元清零 MOV A,20H INC A DA A ;时加1,十进制调整 MOV 20H,A CJNE A,#24H,DONE ;24小时到了吗? MOV 20H,#00H ;时单元清零DONE: POP ACC ;退栈 POP PSW RETI ;返回 ORG 0D50HSSEE: SETB RS1 ;换工作区 MOV R5,#05HSSE2: MOV 30H,#20H MOV 31H,#7EH MOV R7,#06HSSE1: MOV R1,#21H MOV A,30H CPL A MOVX R1,A ;字位送入 MOV R0,31H MOV A,R0 MOV DPTR,#DDFF MOVC A,A+DPTR ;取字形代码 MOV R1,#22H MOVX R1,A ;字形送入 MOV A,30H ;右移 RR A MOV 30H,A DEC 31H MOV A,#0FFH MOVX R1,A ;关显示 DJNZ R7,SSE1 ;六位显示完了吗? DJNZ R5,SSE2 ;5次显示完了吗? CLR RS1 RETDDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH ORG 1D00HX3: MOV R4,A MOV R0,#59H MOVX A,R0 MOV R1,A MOV A,R4 MOV R1,A CLR A POP DPH POP DPL MOVC A,A+DPTR INC DPTR CJNE A,01H,X30 CLR A MOVC A,A+DPTRX31: MOVX R0,A INC

温馨提示

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

最新文档

评论

0/150

提交评论