zoukankan      html  css  js  c++  java
  • 【单片机实验】串口通信实验

    实验三:串口通信实验

    内容:

    (1)利用电脑串口与实验台串口进行连接;

    (2)根据帧格式定义、波特率定义,编程配置串口,并编写控制程序;

    (3)实现从电脑上输入控制字符,由单片机通过串口接收,并控制LED显示的功能;

    (4)对所编程序进行调试及验证。

    要求:

    (1)掌握波特率的概念、学会编程设置波特率和工作方式;

    (2)掌握串口通信的编程控制方法;

    (3)理解解MAX232串口通信的硬件电路结构。 注意实验三,需要同学们自己编写程序,实现从电脑串口助手(利用单片机下载软件提供的串口调试助手),发送一个字符给单片机,单片机通过中断方式接收,或通过查询方式接收后,把该字符的值送到8个LED显示 你的任务:编写主程序,串口初始化(要启动定时器),编写中断接收程序,和查询接收程序,接收到数据后,还要回送电脑显示,并驱动LED,当接收到的数据是88H时,驱动一个8个LED轮流点亮,当接收到的数据是99H时,停止8LED流水亮。当接收到的数据是11H时,LED全亮。当介绍到的数据是FFH时,全灭。 编程实现,明天实验课直接去调试。一定要提前编写程序,实验课只是去验证你的程序是否正确。

     1 #include <reg51.h>
     2 #include <intrins.h>
     3 unsigned char NewData,led,Count; 
     4 bit NewFlag ;
     5 void main( void ){
     6     TMOD = 0x21 ; 
     7     TH0 = ( 65536 - 10000 ) / 256 ;
     8     TL0 = ( 65536 - 10000 ) % 256 ;
     9     Count = 0 ;
    10     led = 0xFE ; 
    11     TH1 = 0xFD ; 
    12     TL1 = 0xFD ; 
    13     TR1 = TR0 = 1 ;
    14     SCON = 0x50 ;
    15     ES = EA = ET0 = 1 ;
    16     NewFlag = 0 ; 
    17     while ( 1 ){
    18         if( NewFlag ){
    19             if( NewData == 0x88 ){
    20                 ET0 = 1 ;
    21             }
    22             if( NewData == 0x99 ){
    23                 ET0 = 0;
    24             }
    25             TI = 0 ;
    26             SBUF = NewData ;
    27             while ( TI == 0 );
    28             NewFlag = 0 ;
    29         }
    30     }
    31 }
    32 void set0 ( void ) interrupt 4 {
    33     if( TI ) TI = 0 ;
    34     if( RI ) {
    35         RI = 0 ;
    36         NewData = SBUF ; 
    37         NewFlag = 1 ;
    38     }
    39 }
    40 void T0_INT () interrupt 1 {
    41     TH0 = ( 65536 - 10000 ) / 256 ; 
    42     TL0 = ( 65536 - 10000 ) % 256 ;
    43     Count ++  ;
    44     if( Count >= 50 ){
    45         Count = 0 ;
    46         led = _crol_(led , 1 );
    47         P1 = led ; 
    48         if( NewData == 0x11 ) P1 = 0 ;
    49         if( NewData == 0xFF ) P1 = 0xFF ;
    50     }
    51 }
    View Code
  • 相关阅读:
    [论文阅读笔记] A Multilayered Informative Random Walk for Attributed Social Network Embedding
    [论文阅读笔记] Large-Scale Heterogeneous Feature Embedding
    [论文阅读笔记] Community-oriented attributed network embedding
    微信小程序下拉选择器(反UI的产品设计)
    浮点数
    Centos7利用rpm升级OpenSSH到openssh-8.1p1版本
    CentOS7.6使用you-get下载视频素材
    mysql5.7以后group by 报错 sql_mode=only_full_group_by的解决方法
    【MySQL】Mysql提示:Out of sort memory, consider increasing server sort buffer size
    【Python】Windows系统安装pip.whl
  • 原文地址:https://www.cnblogs.com/Osea/p/11083538.html
Copyright © 2011-2022 走看看