单片机实验解析

实验3

P0端口的特性:1.作为I/O口时必须要外接上拉电阻 2.可以作地址和数据总线口使用 3.做总线口的时候是双向口

实验4 定时器,数码管显示

在这里插入图片描述

实验5 串口通信实验

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int      
uchar code data1[]="Hello Server";               
uchar data *p = 0;                                    
uint count = 0;
uchar temp = 0;

void main()
{
       SCON = 0x50;      //0101 0000            
       TMOD = 0x20;                 //0010 0000         
       TH1 = TL1 = 230;     //用公式计算出初始值
       EA = ES = TR1 = 1;     //中断允许、TR1启动计时器1
       SBUF = data1[count];    //初始化发送寄存器
       while(1)
       {
              while(!p);  //当p!=0时循环继续
              SBUF = *p;   //一位位发送数据
              p++;   //地址+1
              temp--;    //数量-1
              while(!TI);    //直到发送完一位数据
              TI = 0;    //软件清0,用于再发送
              if(temp == 0)   //全部发送完成后p清0,跳出循环
                            p= 0;
       }      
}

void Serial_Proc() interrupt 4
{
    if(TI)   //发送数据端关闭
    { 
        TI=0;   //打开发送数据端
        if(count<12)
        {
          SBUF=data1[++count];    //一位一位发送数据
        }
    }
    else
    {
                     RI = 0;   //打开接受数据端
                     if(SBUF == 0xAA)  //接收数据
                       {
                                   p = 0x30;
                                   temp = 16;
                       }
                     else if(SBUF == 0xE0) 
                       {
                                   p = 0x40;
                                   temp = 32;
                       }
    }
}



电路图解析:
P1作为虚拟串口,连接单片机和PC端
在这里插入图片描述
设置原件、波特率
在这里插入图片描述
设置虚拟串口:
在这里插入图片描述

实验6 扩展寄存器

在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值