微机原理及应用实验(题目)

合集下载

微机原理及应用实验(题目)

微机原理及应用实验(题目)

微机原理及应用实验实验一开发环境的使用一、实验目的掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。

二、实验内容在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的30H~7FH 单元清零。

三、实验设备PC机一台。

四、实验步骤用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。

五、实验思考1.如果需把30H-7FH 的内容改为55H,如何修改程序?2.如何把128B的用户RAM全部清零?六、程序清单文件名称:CLEAR.ASMORG 0000HCLEAR: MOV R0,#30H ;30H 送R0寄存器MOV R6,#50H ;50H 送R6寄存器(用作计数器)CLR1: MOV A,#00H ;00 送累加器AMOV @R0,A ;00 送到30H-7FH 单元INC R0 ;R0 加1DJNZ R6,CLR1 ;不到50H个字节,继续WAIT: LJMP WAITEND实验二数据传送一、实验目的掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。

二、实验内容1.编制一段程序,要求程序中包含7中不同寻址方式。

2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。

3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。

4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。

五、实验思考1.如何把片外RAM中1000H~100FH单元中的数传送到片外RAM中2000H~200FH单元中?2.如何把ROM中0200H~0207H单元的数传送至片外RAM0000H~0007H单元中?实验三数码转换一、实验目的掌握采用软件方法进行不同形式数据之间的转换,如十进制数与二进制数的转换、十六进制数与BCD码的转换、BCD数与ASCII码之间的转换、非压缩BCD码与压缩BCD码之间的转换。

微机原理及应用-习题

微机原理及应用-习题


2-18
MOV SI, 0 MOV CX, 6 CLC NEXT: MOV AL, DATA1 [ SI ] SBB AL, DATA2 [ SI ] MOV DATA3 [ SI ], AL INC SI LOOP NEXT HLT

2-20
MOV CX, BLOCK ;置循环次数 LEA SI, [BLOCK+1] ;取数据块地址 CLD MOV MAX,0 L1: LODSB ;从数据块中取数据送AL CMP AL, MAX JBE NEXT ; 若AL中数大于MAX,把大数置入MAX MOV MAX, AL NEXT: LOOP L1 HLT

2-22பைடு நூலகம்方案1,串比较
LEA LEA MOV CLD REPE JCXZ MOV DEC JMP BL00: MOV DONE: HLT SI, STRING1 DI, STRING2 ;取两个字符串的首地址 CX,100 CMPSB ;字符串比较,相等则重复 BL00 ;CX=0,完全相等则转BL00 BL, 0FFH ;不相等,置BL=0FFH, SI ;找到第一个不相等字符的地址 DONE BL,0

2-22 方案2,字节比较
LEA LEA MOV MOV CMP JZ MOV SI, STRING1 DI, STRING2 ;取两个字符串的首地址 CX,100 AL,[SI] AL,[DI] NEXT ;相等,继续下一字节比较 BL, 0FFH ;不相等,置BL=0FFH, ;并找到第一个不相等字符的地址SI L2 SI ;相等时,循环 DI L1 BL,0 ;全都相等,置BL=00H
2-14 7.统计AX寄存器的内容中“1”的个数,将统计结果存入CL寄存器。

微机原理与接口的应用题

微机原理与接口的应用题

微机原理与接口的应用题介绍微机原理和接口是计算机科学中非常重要的一部分。

它涉及到计算机体系结构、数字电路、操作系统和硬件接口等知识。

本文将通过一些实际应用题来帮助理解微机原理与接口的应用。

应用题一:计算机体系结构题目描述假设有一台计算机,它的CPU主频为2.5GHz,每个周期可以处理4条指令。

计算机有一个64位数据总线和32位地址总线。

请回答以下问题: 1. 每秒钟可以执行多少条指令? 2. 可以寻址的内存容量是多少?解答1.每个周期可以处理4条指令,CPU主频为2.5GHz,因此每秒钟可以处理的指令条数为:2.5GHz / 4 = 625M条。

2.32位地址总线可以寻址的内存容量为2^32 = 4GB。

应用题二:数字电路题目描述有一个数字电路,输入为A、B、C三个信号,输出为D信号。

如下图所示:A|+---+--+| |B +-----O----D| |C +--+请根据下表中的真值表,填写电路中逻辑门的真值表。

A B C D0 0 0 10 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1解答根据真值表中的值,可以得出逻辑门的输出值,如下表所示:A B C D0 0 0 10 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1通过观察真值表,可以得出D信号的逻辑公式为:D = !A + B + C。

应用题三:操作系统题目描述假设有一个操作系统,它的主要任务是管理计算机的资源,调度进程,以及提供用户界面。

请回答以下问题: 1. 操作系统的主要功能有哪些? 2. 什么是线程和进程? 3. 简述操作系统的调度算法。

解答1.操作系统的主要功能包括:执行和管理用户程序,处理输入输出设备,管理存储器,提供文件系统等。

2.线程是操作系统能够进行运算调度的最小单位,是进程的一部分。

线程共享进程的资源,可以独立运行。

进程是一个活动的实体,是操作系统分配资源的基本单位。

微机原理及应用试卷应用题

微机原理及应用试卷应用题

一.应用题应用题 ( ( (共共36题,360分)1.1 [库中题号:070036] 10分设8253三个计数器的端口地址为201H 、202H 、203H ,控制寄存器端口地址200H 。

输入时钟为2MHz ,让1号通道周期性的发出脉冲,其脉冲周期为1ms ,试编写初化程序段。

1.2 [库中题号:070035] 10分将两片6264连接到8088系统总线上,要求其内存地址范围为7000H-73FFH ,试画出连接图。

,试画出连接图。

1.3 [库中题号:070034] 10分如图所示8086与DAC0832的接口的接口(1)在图中画出单极性输出的电路图。

)在图中画出单极性输出的电路图。

(2)写出输出锯齿波的程序片断,包括延时程序。

)写出输出锯齿波的程序片断,包括延时程序。

1.4 [库中题号:070033] 10分8253的计数通道0连接如下图,试回答连接如下图,试回答(1)计数通道0工作于何种方式,并说明理由。

工作于何种方式,并说明理由。

(2)写出计数通道0的计数初值,CLK0输入的频率是多少?并说明理由。

1.5 [库中题号:070032] 10分打印机驱动接口是一个并行接口,它需要数据口输出数据,控制口用于控制打印机工作,状态口用于测试打印机的现行工作状态。

要求用8255芯片设计一个打印机控制接口。

芯片设计一个打印机控制接口。

(1)画出硬件连接原理图。

)画出硬件连接原理图。

(2)以查询方式编制输出一个字符(设该字符已在BL 寄存器中)的程序,包括8255初始化程序。

设8255控制口为83H,P A口为80H,PC口为82H。

口作为输出字符的数据要求:PC6去检测打印机的BUSY信号,PC2产生STB信号,P A口作为输出字符的数据口,工作于方式0,程序中写出必要的注解。

,程序中写出必要的注解。

1.6 [库中题号:070031] 10分利用8255A及ADC0809设计的数据采集系统如下图,要求用查询方式编写连续转换8个通道模拟量的程序。

微机原理及应用习题2套(含答案)

微机原理及应用习题2套(含答案)

一.填空题01.________由中央处理器、存储器、输入/输出接口和总线组成。

02.微机系统中,有四级(或四层)总线,分别是片内总线、片总线、内总线和________。

03.与十进制数2006等值的十六进制数是________,与十六进制数AC04H等值的十进制数是________。

04.设[X]补=10101010B,则用8位二进制数表示的[X81]补的值是________B;若[X]补=00110101B,则[-2X]补=________B。

05.字符串‘Win98’的ASCII代码是________。

06.8086/8088的地址空间最多可分为________个逻辑段。

07.一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首末单元的物理地址是________。

08.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。

09.若8086/8088 CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。

10.一台8微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。

11.某中断类型号是20H,则中断向量地址是________。

12.某微机中断级联系统中,共采用3片8259A可编程中断控制器,则该系统最多可管理________级中断源。

13.某微机系统采用一块8253芯片,时钟频率为1MHz。

若要求通道0工作于方式3,输出的方波周期为0.5ms,则时间常数应设定为________,通道控制字应设定为________。

14.一个串行字符由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是________,传送每位信息所占用的时间是________。

微机原理及应用习题

微机原理及应用习题

下列寻址方式下的有效地 址EA和物理地址PA(注意:寄 存器和基址用BX,变址用DI)
(1)直接寻址 (2)寄存器间接寻址 (3)寄存器相对间接寻址
(4)变址寻址 (5)寄存器相对变址寻址 (6)基址加变址寻址
(7)基址加变址相对寻址
2、 判断下列指令是否正确?
(1)MOV AL,BX
(2)MOV AL,CL
4、已知x和y的二进制值,用加减交替法计算[x/y]原。
x =1000 y = 0010
5、已知x和y的二进制值,用恢复余数法计算[x/y]原。
x = 01001 y = 00010
6、已知x和y的二进制值,用补码一位乘法计算[x*y]补。
x= -0011 y= -0101
7、用浮点数运算步骤对下列数据进行二进制运算,浮点
574二进制数精确到小数后4位十六进制数精确到小数后1位2004年2月21011101410101001358743753写出下列十进制数的原码反码和补码用8位二进制数表示16531154用4位十六进制数写出下列十进制数的原码反码和补码112039995将下列带符号数用补码表示
微机原理及应用习题 2004年2月
四、第四次作业
1、已知一数段中的数据为
DATA segment
STR1
DB 0,1,2
STR2 DB “012”
COUNT EQU 30
NUMB DB 3 DUP(2) NUMW DW 10H,-60H
POIN DW 0
Data
ends
试画出数据段中的数据在存储器中存储的形式。
2、上题中,各变量的偏移地址与变量值 各是多少? 3、试写出执行下列指令序列后BX寄存器的内容,执行前 (BX)= 6D16H

微机原理及应用试题

微机原理及应用试题

微机原理及应⽤试题扬州⼤学试题纸Array ( 2009-2010学年第1学期)⼴陵学院07 班(年)级课程微机原理及应⽤ (A)卷1. 以程序存储和程序控制为基础的计算机结构提出者是(B )A.布尔B.冯﹒诺依曼C.图灵D.帕斯卡尔2.⼗进制数95转换成⼆进制数是(D )A. 10010101B. 01100101C. 0100110D. 010111113.⼤写字母C的ASCII码是(C )A. 11001100BB. 00001100BC. 01000011BD. 01000111B4.在微机中,主机和⾼速硬盘进⾏数据交换,⼀般采⽤的⽅式是( D)A. 程序直接控制⽅式B. 程序中断控制⽅式C. ⽆条件传送⽅式D. DMA⽅式5.将寄存器AX的内容求反的正确指令是( C )A. NEG AXB. CMP AX,0FFFFHC. NOT AXA.变址寻址B.寄存器寻址C.基址寻址D.基址变址寻址7. 8086/8088响应不可屏蔽中断时,其中断类型号是(A )A.由CPU⾃动产⽣B.从外设取得C.由指令INT给出D.由中断控制器提供8.8086指令队列的长度是 ( C )A. 4个字节B.5个字节C.6个字节D.8个字节M/、WR、RD信号的状态依次9. 在最⼩模式下,CPU从外设读取数据操作,IO为( A )A. 0,1,0B. 0,三态,0C. 0,0,1D. 1,1,010.在8086系统中,CPU被启动后,IP及四个段寄存器的初始状态是(D )A.全部清0B.全部被置成FFFFHC.IP=FFFH 四个段寄存器清0D.CS=FFFH,其它寄存器被清011.设SP=000CH,SS=00A8H,在执⾏POP AX指令后栈顶的物理地址为( D )A.000B6HB.00A8EHC.000B2HD.00A8AH12.8086/8088中断类型号为40H的中断服务程序⼊⼝地址存放在中断向量表中的起始地址是( B )A.DS:0040HD.0000:0040H13.CPU响应两种硬件中断INTR和NMI时相同的必要条件是( B)A.允许中断B.当前指令执⾏结束C.总线空闲D.当前访问操作结束14.异步串⾏通信的主要特点是( B )A.通信双⽅不需要同步B.传送的每个字符是独⽴发送B.字符之间的间隔时间应相同 D.传送的数据中没有控制信息15.中断现场保存在 ( D )A.中断源中B.软盘或硬盘中C.中断向量表中D.堆栈中16.8255A能实现双向传送功能的⼯作⽅式是 ( C )A. ⽅式0B.⽅式1C.⽅式2D.⽅式317. RS-232C是 C( C )A.⽚总线标准B.内总线标准C.串⾏通信标准D.局部总线标准18.8086在对储存器进⾏读、写时,若存储器⼯作速度较慢,CPU在(C )A.T1与T2之间插⼊TWB.T2与T3之间插⼊TWC.T3与T4之间插⼊TWD.T4与T1之间插⼊TW19.若⽤2⽚6116RAM(2K×8)及2⽚2732EPROM(4K×8)组成存储器,则存储器的总容量是( A )A. 12KBB. 10KB20.在串⾏通信中,使⽤⽐特率来表⽰数据的传输速率,它是指(C )A.每秒传送的字符数B. 每秒传送的字节数C.每秒传送的位数D. 每分钟传送的字符⼆、填空题(20%,每题2分)1.8086 CPU 是 16 位微处理器。

微机原理及应用习题库与答案

微机原理及应用习题库与答案

微机原理及应⽤习题库与答案微机原理及应⽤习题库与答案习题与练习题1第1章绪论1.计算机分那⼏类?各有什么特点?答:传统上分为三类:⼤型主机、⼩型机、微型机。

⼤型主机⼀般为⾼性能的并⾏处理系统,存储容量⼤,事物处理能⼒强,可为众多⽤户提供服务。

⼩型机具有⼀定的数据处理能⼒,提供⼀定⽤户规模的信息服务,作为部门的信息服务中⼼。

微型机⼀般指在办公室或家庭的桌⾯或可移动的计算系统,体积⼩、价格低、具有⼯业化标准体系结构,兼容性好。

2.简述微处理器、微计算机及微计算机系统三个术语的内涵。

答:微处理器是微计算机系统的核⼼硬件部件,对系统的性能起决定性的影响。

微计算机包括微处理器、存储器、I/O接⼝电路及系统总线。

微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成⼀个完整的、独⽴的信息处理系统。

3.80X86微处理器有⼏代?各代的名称是什么?答:从体系结构上可分为3代:← 8080/8085:8位机。

↑ 8086/8088/80286:16位机。

→ 80386/80486:32位机。

第2章微处理器结构及微计算机的组成1.8086是多少位的微处理器?为什么?答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。

2.EU与BIU各⾃的功能是什么?如何协同⼯作?答:EU是执⾏部件,主要的功能是执⾏指令。

BIU是总线接⼝部件,与⽚外存储器及I/O接⼝电路传输数据。

EU经过BIU进⾏⽚外操作数的访问,BIU为EU提供将要执⾏的指令。

EU与BIU可分别独⽴⼯作,当EU不需BIU提供服务时,BIU可进⾏填充指令队列的操作。

3.8086/8088与其前⼀代微处理器8085相⽐,内部操作有什么改进?答:8085为8位机,在执⾏指令过程中,取指令与执⾏执令都是串⾏的。

8086/8088由于内部有EU和BIU两个功能部件,可重叠操作,提⾼了处理器的性能。

4.8086/8088微处理器内部有那些寄存器,它们的主要作⽤是什么?答:执⾏部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理及应用实验实验一开发环境的使用一、实验目的掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。

二、实验内容在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的30H~7FH 单元清零。

三、实验设备PC机一台。

四、实验步骤用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。

五、实验思考1.如果需把30H-7FH 的内容改为55H,如何修改程序?2.如何把128B的用户RAM全部清零?六、程序清单文件名称:CLEAR.ASMORG 0000HCLEAR: MOV R0,#30H ;30H 送R0寄存器MOV R6,#50H ;50H 送R6寄存器(用作计数器)CLR1: MOV A,#00H ;00 送累加器AMOV @R0,A ;00 送到30H-7FH 单元INC R0 ;R0 加1DJNZ R6,CLR1 ;不到50H个字节,继续WAIT: LJMP WAITEND实验二数据传送一、实验目的掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。

二、实验内容1.编制一段程序,要求程序中包含7中不同寻址方式。

2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。

3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。

4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。

五、实验思考1.如何把片外RAM中1000H~100FH单元中的数传送到片外RAM中2000H~200FH单元中?2.如何把ROM中0200H~0207H单元的数传送至片外RAM0000H~0007H单元中?实验三数码转换一、实验目的掌握采用软件方法进行不同形式数据之间的转换,如十进制数与二进制数的转换、十六进制数与BCD码的转换、BCD数与ASCII码之间的转换、非压缩BCD码与压缩BCD码之间的转换。

二、实验内容1.编制一段程序,将31H单元中的无符号数转换成BCD码,存入32H~34H单元中。

2.编制一段程序,将片内RAM40H,41H中的BCD数转换成十六进制数,存入42H单元中。

3.编制一段程序,将片内RAM30H~32H中的BCD数转换成ASCII码,结果存入外内RAM40H~42H中。

4.编制一段程序,将片内RAM40H~4FH中的BCD码转换成压缩BCD码,结果存入片外RAM0800H~0807H中。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。

五、实验思考1.如何把一个2字节无符号数转换成BCD码?2.如何把一个3字节十六进制数转换成ASCII码?实验四数值运算一、实验目的掌握采用软件方法进行多字节二进制数、BCD码的加、减运算。

二、实验内容1.编制一段程序,将30H~35H单元中的无符号与40H~45H单元中的无符号数相加,结果存入30H~35H单元中。

2.编制一段程序,将40H~45H单元中的无符号与46H~4BH单元中的无符号数相减,结果存入40H~45H单元中。

3.编制一段程序,将30H~35H单元中的压缩BCD码与40H~45H单元中的压缩BCD码相加,结果存入30H~35H单元中。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。

五、实验思考若有一个多字节有符号数的原码,如何求其补码?实验五堆栈操作一、实验目的掌握堆栈的使用方法何特点,学习部分有关堆栈操作的编程技巧。

二、实验内容1.编制一段程序,利用堆栈将30H~35H单元中的数传送到40H~45H单元中。

2.编制一段包含子程序调用的程序,观察子程序调用过程中堆栈指针SP的变化以及堆栈中数据的变化。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用“步入”的方式运行程序,检查程序运行过程中堆栈指针SP的变化以及堆栈中数据的变化,了解堆栈中的数据与子程序调用语句所处位置间的关系。

五、实验思考如何在子程序执行完成后,不返回到原调用处,而是返回到某一指定地址处?实验六查表操作一、实验目的掌握查表程序的编程方法和技巧。

二、实验内容1.以PC为基址寄存器,查表求30H单元中BCD码的平方,结果存入31H单元。

2.以DPTR为基址寄存器,查表求30H单元中无符号数的平方,结果存入40H、41H单元中。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看查表结果是否正确。

五、实验思考如何用查表的方法求一个2字节无符号数的平方?实验七逻辑运算操作一、实验目的掌握逻辑运算操作的编程方法和应用技巧。

二、实验内容1.设有X1、X2、X3、X4、X5、X6共六个十六进制数,存放在30H~35H单元中,求(X1·X2)⊕(X3+X4)+/(X5⊕X6)之值,并将结果存入40H单元。

X1~X6的初始值分别为:X1=35H、X2=AAH、X3=67H、X4=4FH、X5=D9H、X6=08H。

2.编制一段程序,采用移位的方法,将50H~53H单元中的无符号数乘以8,不考虑溢出。

3.编制一段程序,采用移位的方法,将50H~53H单元中的无符号数除以128,不考虑余数。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看查表结果是否正确。

五、实验思考如何将一个字节中的各位逆序排列(例如:由82H变为41H)?实验八中断及I/O口实验一、实验目的掌握中断程序的编程方法以及LJD-SY-5100实验开发板的使用。

二、实验内容1.利用定时/计数器T0,实现1秒定时器。

在中断服务程序中,将P1口的内容左移一位,由此实现与P1口相连的8个LED中一个点亮的LED每隔1秒左移一位。

2.在P0口、P1口、P2口各取一个LED,模拟红、黄、绿交通指示灯。

利用定时/计数器T1,实现红灯亮2秒、黄灯亮1秒、绿灯亮4秒的循环。

三、实验设备1.PC机一台;2.LJD-SY-5100实验开发板一套;四、实验步骤1.接好LJD-SY-5100实验装置的电源,并将LJD-SY-5100实验装置的串行接口与PC机的串行接口相连。

2.开启LJD-SY-5100实验装置的电源。

3.在PC机上运行Keil C51软件,然后按《实验指导书》第一章中“LJD-SY-5100 学习实验开发板的使用”一节的步骤操作,输入源程序并进行调试。

五、实验思考如何实现红灯亮2秒、黄灯亮以0.5秒间隔闪烁2次、绿灯亮4秒的循环。

?六、参考程序以下程序的功能:使P1.0所连接的LED每隔0.5秒闪烁一次。

其原理是利用定时器T0定时50ms,再利用计数器COUNT计数10次,构成0.5秒定时器。

每当0.5秒定时时间到,将P1.0的状态反转。

;============================================================== COUNT EQU 30H;==============================================================ORG 0000HLJMP STARTORG 000BHLJMP T0_INT;==============================================================ORG 0030HSTART: MOV SP,#6FHMOV TMOD,#01HMOV TH0,#4CHMOV TL0,#00H ;晶振11.0592MHz,定时50msMOV COUNT,#10 ;10×50=500ms,状态反转一次MOV P1,#01HSETB TR0 ;启动T0SETB ET0 ;T0中断允许SETB EA ;总中断允许SJMP $ ;等待;==============================================================;T0中断服务程序;==============================================================T0_INT:MOV TH0,#4CHMOV TL0,#00H ;晶振11.0592MHz,定时50msDJNZ COUNT,T0_INT1 ;10次计数值未到,返回MOV COUNT,#10H ;重置计数器CPL P1.0T0_INT1:RETIEND实验九串行通讯实验一、实验目的掌握串行通讯程序的编程方法。

二、实验内容1.理解参考程序并在LJD-SY-5100实验开发板上调试通过。

2.对参考程序进行改造,增加串行口初始化程序及串行口中断服务程序,并进行双机通讯实验。

三、实验设备1.PC机一台;2.LJD-SY-5100实验开发板一套;四、实验步骤1.接好LJD-SY-5100实验装置的电源,并将LJD-SY-5100实验装置的串行接口与PC机的串行接口相连。

2.开启LJD-SY-5100实验装置的电源。

3.在PC机上运行Keil C51软件,然后按《实验指导书》第一章中“LJD-SY-5100 实验开发板的使用”一节的步骤操作,输入参考程序进行调试并通过。

4. 在参考程序基础上对程序进行改造,将程序功能改为:每按一次按键,就将键号通过串行口发送出去;对方单片机接收到数据后,将其显示在LED上。

5. 程序修改完成后汇编成机器码,保存为.HEX或.BIN文件。

6.将机器码下载至单片机的Flash中,两台LJD-SY-5100实验开发板为一组进行串行通讯实验。

为保障实验装置的安全,下载操作必须在教师指导下在指定LJD-SY-5100实验开发板上进行,严禁同学擅自进行下载实验。

五、实验思考如何实现一次发送或接收一批数据?六、参考程序以下程序的功能:每次按键,所按键号将在LED上显示。

LOAD BIT P1.2DIN BIT P1.0DCLK BIT P1.1DOUT BIT P3.3;==============================================================DATA_KEY DATA 35H;==============================================================ORG 0000HLJMP STARTORG 0013HLJMP CH451_INT1;==============================================================ORG 0030HSTART: MOV SP,#60H;--------------------------------------------------------------LCALL INITIAL ;初始化CH451CLR IT1 ;置外部信号为低电平触发CLR IE1 ;清中断标志SETB PX1SETB EX1 ;允许键盘中断SETB EA ;开总中断SJMP $ ;等待;==============================================================;键盘处理;==============================================================CH451_INT1:PUSH PSW ;现场保护PUSH ACCLCALL READ_KEY ;读键值MOV R3,DATA_KEYK1:CJNE R3,#40H,K2MOV A,#03FH ;'0'的显示码SJMP LED_DISPK2:SJMP LED_DISPK3:CJNE R3,#42H,K4MOV A,#5BH ;'2'的显示码SJMP LED_DISPK4:CJNE R3,#43H,K5MOV A,#4FH ;'3'的显示码SJMP LED_DISPK5:CJNE R3,#48H,K6MOV A,#66H ;'4'的显示码SJMP LED_DISPK6:CJNE R3,#49H,K7MOV A,#6DH ;'5'的显示码SJMP LED_DISPK7:CJNE R3,#4AH,K8MOV A,#7DH ;'6'的显示码SJMP LED_DISPK8:CJNE R3,#4BH,K9MOV A,#07H ;'7'的显示码SJMP LED_DISPK9:CJNE R3,#50H,K10MOV A,#7FH ;'8'的显示码SJMP LED_DISPK10:CJNE R3,#51H,K11MOV A,#6FH ;'9'的显示码SJMP LED_DISPK11:CJNE R3,#52H,K12MOV A,#77H ;'A'的显示码SJMP LED_DISPK12:CJNE R3,#53H,K13MOV A,#7CH ;'B'的显示码SJMP LED_DISPK13:CJNE R3,#58H,K14MOV A,#39H ;'C'的显示码SJMP LED_DISPK14:CJNE R3,#59H,K15MOV A,#5EH ;'D'的显示码SJMP LED_DISPK15:CJNE R3,#5AH,K16MOV A,#79H ;'E'的显示码SJMP LED_DISPK16:;------------------------------------------------------------LED_DISP:MOV B,#08HLCALL WRITECLR IT1 ;置外部信号为低电平触发SETB PX1SETB EX1 ;允许键盘中断SETB EAK17:POP ACCPOP PSWCLR IE1 ;清中断标志RETI;============================================================ ;初始化CH451;============================================================ INITIAL:MOV P1,#60H ;禁止其它芯片CLR DIN ;初始化CH451SETB DCLKSETB DINSETB LOADSETB DOUTNOPMOV B,#04H ;设置CH451MOV A,#03H ;关看门狗开显示键盘LCALL WRITERET;============================================================ ;入口: B中为传送数据位数;出口: 无;影响寄存器: A,R7,PSW;============================================================ WRITE:CLR EX0CLR LOADMOV R7,#08HWRITE_1:RRC ACLR DCLKMOV DIN,CSETB DCLKDJNZ R7,WRITE_1MOV A,BMOV R7,#04HWRITE_2:RRC ACLR DCLKMOV DIN,CSETB DCLKDJNZ R7,WRITE_2SETB LOADSETB EX1RET;============================================================;入口: 无;出口: 键盘扫描值在DATA_KEY中;影响寄存器: 无;============================================================READ_KEY:PUSH PSW ;现场保护PUSH ACCCLR EX1CLR LOAD ;命令开始MOV A,#0F7H ;读键值命令,忽略12位命令的低8位,高4位用作结束标志READ_KEY_4:SETB C ;在高位添0以检测位数据结束RRC A ;低位在前,高位在后CLR DCLKMOV DIN,C ;送出一位数据SETB DCLK ;产生时钟上升沿锁通知CH451输入位数据CJNE A,#0FFH,READ_KEY_4 ;位数据未完继续,共4位,完成后为0FFHSETB LOAD ;产生加载上升沿通知CH451处理命令数据MOV A,#0FCH ;该数据用以检测位数据结束READ_KEY_7:MOV C,DOUT ;读入一位数据CLR DCLK ;产生时钟下升沿通知CH451输出下一位RLC A ;数据移入ACC,高位在前,低位在后SETB DCLKJC READ_KEY_7 ;位数据未完继续,共7位,完成后才移出0MOV DATA_KEY,A ;保存键值POP ACCPOP PSWSETB EX1CLR IE1 ;清中断标志,该指令需根据实际情况作修改RET。

相关文档
最新文档