标题: 单片机串并转换实验 [打印本页]
作者: 18875856893ljl 时间: 2017-12-4 18:20
标题: 单片机串并转换实验
串行口工作在方式0时,可通过外接移位存储器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。由软件置位串行控制寄存器SCON的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据传输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。实验连线如图7-1所示,图中数码管采用“7SEG-COM-ANODE”共阳数码管。使数码管轮流显示0-9的数字
作者: 咸鱼16号 时间: 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];
}
}
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |