- 打卡等级:初来乍到
- 打卡总天数:4
- 最近打卡:2025-12-13 10:49:11
已绑定手机
新手上路
- 积分
- 23
|
发表于 2025-12-10 23:23:34
|
显示全部楼层
麻烦帮我看一下,我用STC8H1K08写的程序,但是电脑的串口助手收不到0X50这个数据,不知道是什么原因?
#include "STC8H.H"
#include "config.H"
#include "intrins.H"
#include "Type_def.h"
#include "STC8G_H_Delay.h"
#define LED1 P11
#define LED2 P36
#define LED3 P35
#define LED4 P30
#define LED5 P31
#define LED6 P33
#define LED7 P14
#define LED8 P15
#define LED9 P34
#define key P32
void GPIO_Init(void);
void Uart1_Isr(void) interrupt 4
{
u8 temp ;
if (TI) //检测串口1发送中断
{
TI = 0; //清除串口1发送中断请求位
LED7=!LED7;
}
if (RI) //检测串口1接收中断
{
RI = 0; //清除串口1接收中断请求位
LED8=!LED8;
}
}
void Uart1_Init(void) //9600bps@11.0592MHz
{
SCON = 0x50; //8位数据,可变波特率,允许接收数据
AUXR &= 0xBF; //定时器时钟1T模式
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //设置定时器模式
TL1 = 0xE0; //设置定时初始值
TH1 = 0xFE; //设置定时初始值
ET1 = 0; //禁止定时器中断
TR1 = 1; //定时器1开始计时
ES = 1; //使能串口1中断
TI = 0;
}
void main ()
{
P_SW2|= 0x80;
GPIO_Init();
Uart1_Init();
EA = 1;
SBUF=0x50;
while(1)
{
}
}
void GPIO_Init(void)
{
P1M0 = 0x00; P1M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
} |
|