【单片机】串口输出字符串程序

实 验 报 告

                                            

专业___软件学院__  班级___4___  学号___123012005158__  

实验日期:   2007    11    2       报告退发 (订正 重做)             

课程     单片机程序设计        实验名称       串口中断实验              

一、实验目的

     掌握串口中断原理和使用方法

二、实验环境

    PC, KC

 

三、实验内容、步骤和结果分析

   用定时中断的方式通过串口输出一个字符串.

    org 00h

    ajmp main

    org 0023h

    ajmp series

 

main:

    mov SCON,  0x50  /* SCON: mode 1, 8-bit UART, enable rcvr      */

    mov TMOD,  0x20               /* TMOD: timer 1, mode 2, 8-bit reload        */

    mov TH1 ,   0    /* TH1:  reload value for 1200 baud @ 16MHz   */

    mov r0,#0ffh   

    mov r1,#0ffh

    mov r2,#00h

    setb TR1    ;开中断

    setb ES

    setb EA

   

    ;mov a,#30h                      

    setb TI

        mov dptr,#para   ;将para赋值给dptr

    ajmp $

series: clr TI      ;清零,要进行中断的话TI必须为1,下面必须setb ti

   

         djnz r0, output0    ;用于延时

        djnz r1, output1

    mov r0,#0ffh

        mov r1,#0ffh

        ;cjne a, #30h, tt

    ;inc a

   

;   mov a,0h

 

    cjne r2,#06h,setz

    ;djnz r3, setz

    mov dptr,#para

    mov r2,0h

    setb TI

    reti

 

   ;out: reti

setz:   mov a,#0h

    movc a,@a+dptr      ;将dptr赋值给a寄存器

        mov sbuf, a      ;发送

    inc dptr        ;dptr递增

    inc r2

 

output1: mov r0,#0ffh

output0: setb TI

            reti

para: db "hello "   ;设置db段为要打印的字符串

end

 

 【单片机】串口输出字符串程序_第1张图片

四、讨论

 

    本次实验后基本了解了如何使用串口中断和定时器中断,并对于dptr的使用有了初步的认识和了解,成功通过程序在串口进行模拟的输出.实验过程对于定义字节的移动等曾一直搞错,后在修改后得以理解并成功实现了本实验.

 

 

 

 

你可能感兴趣的:(timer,output)