⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 com_a1.asm

📁 AT89C58单片机 串口通信 利用rs232芯片
💻 ASM
字号:
; =================================================================
; 深圳思瑞科技  SRI Technology Studio.
; http://www.sri.cn, http://www.sricn.com
; mail: support@sri.cn, xjb@sri.cn
;
; 转载请注明该出处
;
; -----------------------------------------------------------------
; 源文件名: COM_A1.ASM
; 程序名称: 串口测试程序
; 实现方法: 串口工作方式1,使用9600波特率,每100ms向串口发送0x55
; 学习目的: 1、串口编程
; =================================================================


; -----------------------------------------------------------------
; 串口相关常量定义
;BAUDRATE        EQU     9600           ; 串口波特率
; -----------------------------------------------------------------
; 代码段

                org     0000h           ; 单片机复位的入口地址
                jmp     Main            ; 跳转到主程序
                org     0030h
$include (..\..\library\libasm.inc)     ; 包含汇编库文件
Main:
                ; 初始化串口
                ; 定时器1做为串口波特率发生器
                mov     SCON, #50h      ; 串口工作方式1,允许接收
                                        ; 9位UART,主振频率/32或/64
                mov     A, PCON
                orl     A, #80h         ; 设置SMOD位,使波特率加倍
                mov     PCON, A

                mov     A, #20h
                mov     TMOD, A
                mov     A, TMOD
                orl     A, 20h          ; 设置定时器1为模式2
                mov     TMOD, A

                mov     A, #0F3h        ; 24M下9600波特率的初值,
                                        ; 这是个近似值,可用工具计算
                mov     TH1, A
                mov     TL1, A
                setb    TR1             ; 开始定时器1
Main_Loop:
                mov     A, #55h         ; 发送数据0x55
                mov     SBUF, A
                jnb     TI, $           ; 等待发送完成
                mov     A, #100
                call    Delayms         ; 延时100ms
                jmp     Main_Loop

                end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -