资源简介
AT89C51虚拟串口实验(proteus+C)
代码片段和文件信息
#include
//初始化串行口
void Init_mcu()
{
SM0=0;SM1=1;SM2=0;REN=1;TB8=0;RB8=0;TI=0;RI=0;//SCON=0x50;
PCON=0;
TH1=0xF3;//2400
TL1=0XF3;
//TH1=0xFD;//9600
//TL1=0xFD;
TMOD=0X20;//定时器1定时方式2
EA=1;
ET1=0;
ES=1;//ES=1允许
TR1=1;//启动定时器
}
void main()
{
int ij;
char c;
Init_mcu();
while(1)
{
TI=0;//发送中断标志位
P0=c;//将需要显示的数据发送到P0
SBUF=c;//将需要显示的数据发送到串口数据缓冲区
while(!TI);//TI=0就一直循环等待当TI=1时表示数据发送完毕,就开始下一轮发送
TI=0;
for(j=0;j<25;j++)//延时
for(i=0;i<5000;i++);
c++;//c作为计数器(此时TI由硬件自动设置为1)
}
}
//****************************
//中断调用用于接收数据
//****************************
void intrr() interrupt 4
{
char temp;
temp=SBUF;
/*switch(temp)
{
case 0x31:P2=0xfe;break;//LED1亮
case 0x32:P2=0xfd;break;//LED2亮
case
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1732 2008-12-16 23:56 MyMcu51\MyMcu51.plg
文件 1246 2008-12-16 23:55 MyMcu51\mymcu51.c
文件 31 2008-12-16 23:55 MyMcu51\MyMcu51.lnp
文件 4732 2008-12-16 23:55 MyMcu51\MyMcu51.M51
文件 411 2008-12-16 23:55 MyMcu51\MyMcu51.hex
文件 3325 2008-12-16 23:55 MyMcu51\mymcu51.LST
文件 3319 2008-12-16 23:55 MyMcu51\mymcu51.OBJ
文件 3133 2008-12-16 23:55 MyMcu51\MyMcu51
文件 48746 2008-12-16 23:45 MyMcu51\Last Loaded mymcu.DBK
文件 95450 2008-12-16 23:56 MyMcu51\mymcu.DSN
文件 742 2008-12-16 23:56 MyMcu51\mymcu.PWI
....... 0 2008-12-16 23:10 MyMcu51\MyMcu51_Uv2.Bak
文件 1984 2008-12-16 23:56 MyMcu51\MyMcu51.Uv2
文件 1023 2008-12-16 23:56 MyMcu51\MyMcu51.Opt
目录 0 2008-12-16 22:11 MyMcu51
----------- --------- ---------- ----- ----
165874 15
- 上一篇:拓扑排序--课程表
- 下一篇:Qt 实现 自定义窗口标题栏
评论
共有 条评论