1 / 8

综合习题课 一 . 编一程序使串行口一帧数据传送 11 位,波特率为 400 波特, 设晶振频率为 1.92MHZ 。写出有关初始化的程序段。

综合习题课 一 . 编一程序使串行口一帧数据传送 11 位,波特率为 400 波特, 设晶振频率为 1.92MHZ 。写出有关初始化的程序段。 解:选串行口方式 3 ,一帧传送 11 位数据,波特率可设置范围较宽。 SCON : 1 1 0 1 0 0 0 0 D0H 波特率的计算 :选 T1 方式 2 B = f ×2 SMOD 选 SMOD = 1

butch
Download Presentation

综合习题课 一 . 编一程序使串行口一帧数据传送 11 位,波特率为 400 波特, 设晶振频率为 1.92MHZ 。写出有关初始化的程序段。

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 综合习题课 一.编一程序使串行口一帧数据传送11位,波特率为400波特, 设晶振频率为 1.92MHZ。写出有关初始化的程序段。 解:选串行口方式3,一帧传送11位数据,波特率可设置范围较宽。 SCON : 1 1 0 1 0 0 0 0 D0H 波特率的计算 :选T1方式2 B = f ×2SMOD 选SMOD = 1 (28 – Z)×12 32 将已知数据代入得 400 = 1.92 ×106 × 21 (28 – Z)×12 32 解之 Z = 231 = E7H

  2. 程序段如下: MOV SCON , #0D0H ;串行口方式3,允许接收 MOV PCON , #80H ;SMOD = 1 MOV TMOD , #20H ;T1方式2定时 MOV TH1 , #0E7H ;设置波特率为400波特 MOV TL1 , #0E7H SETB TR1 SETB EA SETB ES

  3. 二.要求串行口工作于方式2,允许接收,晶振频率为8MHZ,请写二.要求串行口工作于方式2,允许接收,晶振频率为8MHZ,请写 出符合上述要求的程序段,设置波特率。说明你所设置的波特 率为多少波特以及串行口方式2一帧数据的格式。 解:SCON: 1 0 0 1 0 0 0 0 90H 方式2波特率: B = f×2SMOD 64 将已知数据代入 B = 8×106 × 2SMOD 64 当SMOD = 0 B = 0.125 ×106 波特 当SMOD = 1 B = 0.25 ×106 波特

  4. 程序如下: MOV SCON , #90H ;串行口工作于方式2,允许接收 MOV PCON , #80H ;SMOD= 1 SETB EA SETB ES 程序中设置波特率为 0.25 ×106 波特 串行口方式2一帧数据的格式为: 异步发送或接收一帧数据为11位,其格式为: 1 第9位 8 位 数 据 0 停止位 起始位

  5. 三.设一系统使用两个中断源T0和INT1,设INT1为高优先级,三.设一系统使用两个中断源T0和INT1,设INT1为高优先级, 请写出有关中断的必要语句。 解:中断允许寄存器IE : EA * * ES ET1 EX1 ET0 EX0 中断优先级寄存器IP:* * *PS PT1 PX1 PT0 PX0 有关中断的程序: SETB ET0 SETB EX1 SETB EA SETB PX1 以下两条指令可代替上述4条,作用相同: MOV IE , #86H MOV IP , #04H

  6. 四.编一程序,用8031单片机的定时器控制使P1.0高电平点亮一只发光二极管,一分钟亮,一分钟暗,交替运行。设晶振频率为12MHZ。四.编一程序,用8031单片机的定时器控制使P1.0高电平点亮一只发光二极管,一分钟亮,一分钟暗,交替运行。设晶振频率为12MHZ。 解:定时一分钟需采用多次中断的方法。1分钟=60000ms,可为: 6ms× 100×100 : 5ms×120×100 ; 10ms×60×100等等。 晶振频率 f = 12 ×106HZ,其机器周期为 1μs 最大定时间隔为当定时器选择方式1时: 216 ×1μs = 65.536ms 为了减少中断次数,我们选择定时60ms,中断1000次达到定时 1分钟。定时时间常数的计算: ( 216 - X )×1 ×10-6 = 60 ×10-3 解之得 X = 5536 = 15A0H

  7. 程序如下: ORG 0000H AJMP MAIN ORG 000BH LJMP IT0P MAIN: MOV SP , # 60H MOV TMOD , #01H ;T0方式1定时 MOV TH0 , #15H MOV TL0 , #0A0H ;定时60ms时间常数 MOV R0 , #10 MOV R1 , #100 ;计数中断1000次 SETB P1.0 ;点亮发光二极管

  8. SETB EA ;允许CPU中断 SETB ET0 ;允许T0中断 SJMP $ IT0P: MOV TH0 , #15H MOV TL0 , #0A0H ;重装60ms时间常数 DJNZ R0 , RETUN ;计数中断1000次 MOV R0 , #10 DJNZ R1 , RETUN MOV R1 , #100 CPL P1.0 ;交替亮暗 RETUN: RETI

More Related