导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→;*****************************

* 32680: 问题很简单,用起来很麻烦!

   APEARLIU 
APEARLIU发表的帖子 

 
;**********************************************************
FIRST: MOV SP,#2FH
 MOV TH1,#0FAH
 MOV TL1,#0E0H
 MOV TH0,#3CH
 MOV TL0,#0A9H
 MOV TMOD,#11H
 MOV ADDX,BTLADDH
 MOV ADDX+1,BTLADDL
 MOV T2CON,#00110000B
 MOV SCON,#01010000B
 MOV PCON,#00H
 SETB TR2
 SETB TR0
 SETB TR1
 SETB ET0
 SETB ET1
 SETB ES
 SETB PS
 CLR EA
 MOV P3,#0FFH
 MOV BTL,#02H
 LCALL WRIT_BTL  ;初始化通讯波特率
;**********************************************************
;晶振为11.0592MHz

WRIT_BTL:  ;写入波特率
 MOV A,BTL
BTL1:  
 CJNE A,#01H,BTL2
 MOV RCAP2H,#0FFH  ;2.4K
 MOV RCAP2L,#70H
 SETB TR2
 RET
BTL2:  
 CJNE A,#02H,BTL3
 MOV RCAP2H,#0FFH  ;4.8K
 MOV RCAP2L,#0B8H
 SETB TR2
 RET
BTL3:  
 CJNE A,#03H,BTL4
 MOV RCAP2H,#0FFH  ;9.6K
 MOV RCAP2L,#0DCH
 SETB TR2
 RET
BTL4:  
 CJNE A,#04H,BTL5
 MOV RCAP2H,#0FFH  ;19.2K
 MOV RCAP2L,#0EEH
 SETB TR2
 RET
BTL5:  
 CJNE A,#05H,BTL6  ;38.4K
 MOV RCAP2H,#0FFH
 MOV RCAP2L,#0F7H
 SETB TR2
 RET
BTL6:  
 CJNE A,#06H,BTL7  ;115.2K
 MOV RCAP2H,#0FEH
 MOV RCAP2L,#0FDH
 SETB TR2
 RET
BTL7:  
 MOV RCAP2H,#0FEH  ;1.2K
 MOV RCAP2L,#0E0H
 SETB TR2
 RET


发表时间:2003年5月29日17:42:13

  
回复该帖

本主题共有 42 帖,分页:>>>>>该主题的所有内容[42]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  33411.[详细]可以产生9600BPS的波特率,误差为零  见内--------》》》》..
摘要:你们可以到下面的网站去下载一个单片机的波特率计算器,只需要在设置菜单里面将9。8304这个时钟添加进去,即可立即计算9。8304的波特率: 使用T2,初值为“0XFFE0”,计算结果误差为0 http://www.sep......(210字)
- [seper][2085次] 2003年6月5日

  32698.[详细]你的程序中对T0和T1都做了设置,它们是干什么用的?令:晶振是11.0592M,而若换成9.830..
摘要:你的程序中对T0和T1都做了设置,它们是干什么用的? 令:晶振是11.0592M,而若换成9.8304M的,该怎样设置(要求9600的波特率)?......(120字)
- [snow][1240次] 2003年5月29日

  32700.[详细]计算公式:波特率=T2溢出率/16我的T0、T1你不必关心,请关注T2CON,PCON和日擦赔话。..
摘要:计算公式:波特率=T2溢出率/16 我的T0、T1你不必关心,请关注T2CON,PCON和日擦赔话。RCAP2H,RCAP2L就行了,我懒得去删除多余得内容......(125字)
- [APEARLIU][3512次] 2003年5月29日

[上一篇帖子]:你不会想做收发波特率不一致的通信吧?有什么理由吗?
[下一篇帖子]:那么,当用定时器T1作为波特率发生器时,怎么设定它单独只作为收或发的波特率,而不是收发都用它作为波特