proteus 8.9 8.6 串口 无法仿真 仿真不出来 51单片机 您所在的位置:网站首页 串口键盘通讯异常什么原因 proteus 8.9 8.6 串口 无法仿真 仿真不出来 51单片机

proteus 8.9 8.6 串口 无法仿真 仿真不出来 51单片机

2024-07-04 04:36| 来源: 网络整理| 查看: 265

分享一个问题,STC89C52。

今天使用仿真软件去仿真51单片机的串口,却发现无论怎么设置51单片机计算器串口都无法工作,经过多方面的调试最终发现是keil的原因。可能的原因是:可能程序工程是很早以前创建的,和现在电脑版本的有所区别,编译出来的窗口是不能使用的。

解决方法:当前电脑用什么版本的keil软件,自己用软件创建出一个新的工程。 下面我贴出能够正常工作的仿真图和仿真代码。

另外一个分析:如果用了定时器0,把初始化定时器0的代码放在初始化串口之后。

下面就是我的仿真图: 在这里插入图片描述

下面就是我的测试代码:

#include "reg52.h" #include #include #include #include /********************************************************************************* * 【函 数 名】: void send_cmd(unsigned char dat) * 【功 能】: 串口发送数据命令 **********************************************************************************/ void send( unsigned char dat ) { SBUF = dat; /* 发送指令到SBUF */ while ( !TI ) ; /* 等待发送结束 */ TI = 0; /* 清除结束标志,以便再发送数据 */ } /********************************************************************************* * 【函 数 名】: Print_Str(unsigned char *s) * 【功 能】: 串口发送 一个字符串 **********************************************************************************/ void Print_Str( unsigned char *s ) { while ( *s != '\0' ) { send( *s++ ); } } #define FSOC 11059200L /* 晶振 */ #define BAUD 9600 /* 波特率 */ /********************************************************************************* * 【函 数 名】: void SerInit(void) * 【功 能】: 串口初始化程序 设置波特率为9600 **********************************************************************************/ void SerInit( void ) { SCON = 0x50; /* 010 1 0000B,工作方式1, 8位UART,波特率可变,允许接收 */ TMOD = 0x20; /* T1工作于方式2 */ TCON = 0x40; /* 定时器1开始计数 */ TH1 = -(FSOC / BAUD / 12 / 16); /* T1计数初值 */ TL1 = -(FSOC / BAUD / 12 / 16); PCON = 0x80; /* SMOD置1,双倍速率 */ RI = 0; TI = 0; ES = 1; /* 关闭串口中断 */ } unsigned char Txd_data; void Uart_isr() interrupt 4 /* 中断接收程序 */ { if ( RI ) /* 判断是否接收完,接收完成后,由硬件置RI位 */ { Txd_data = SBUF; /* 读入缓冲区 */ RI = 0; /* 清标志 */ send( Txd_data ); } } void delay_ms( unsigned int t ) /* 延时xms */ { unsigned char ttt; while ( t-- ) { for ( ttt = 0; ttt } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有