找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2290|回复: 1
打印 上一主题 下一主题
收起左侧

单片机串并转换实验

[复制链接]
跳转到指定楼层
楼主

串行口工作在方式0时,可通过外接移位存储器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。由软件置位串行控制寄存器SCON的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据传输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。实验连线如图7-1所示,图中数码管采用“7SEG-COM-ANODE”共阳数码管。使数码管轮流显示0-9的数字

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:320518 发表于 2018-5-10 09:27 | 只看该作者
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint num,i=0;//定义变量初始值为0
uchar code tab[]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};//段码
void main()
{
   TMOD=0x01;//采用T0方式,将M1置0,M0置1,是方式一的定时器
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   EA=1;// 总中断允许
   ET0=1;//开启定时器0中断
   TR0=1;//定时器/计数器启动
   SCON=0x00;//设置串行口工作方式为方式0
   SBUF=0x03;//设置数码管初始值
   while(1);//等待中断
}
voidt0_() interrupt 1           //中断函数
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   num++;
if(num==10)
{
   num=0;
   i++;
if(i==10)
{       
   i=0;
}
SBUF=tab[i];
}
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表