|
1黑币
刚拿到一块板子,准备写个小程序测试一下485.谁知道,怎么都调不出来!
单片机型号:STC12C5608AD
程序:
- #include <STC12C5630AD.H>
- #define uchar unsigned char
- #define uint unsigned int
- uchar flag = 1;
- sbit LED = P1^6;
- void UartInit ( ) //9600bps@11.0592MHz
- {
- PCON &= 0x7F; //波特率不倍速
- SCON = 0x50; //8位数据,可变波特率
- AUXR &= 0xBF; //定时器1时钟为Fosc/12,即12T
- AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
- TMOD &= 0x0F; //清除定时器1模式位
- TMOD |= 0x20; //设定定时器1为8位自动重装方式
- TL1 = 0xFD; //设定定时初值
- TH1 = 0xFD; //设定定时器重装值
- ET1 = 0; //禁止定时器1中断
- TR1 = 1; //启动定时器1
- ES = 1;
- EA = 1;
- }
- void Uart_interrupt ( ) interrupt 4
- {
- TI = 0;
- flag = 0;
-
- }
- void main ()
- {
- UartInit( );
- while(1)
- {
- if( flag == 1)
- {
- SBUF = 0x20;
- }
- if( flag == 0)
- {
- LED = 0;
- }
- }
- }
复制代码 电路原理图:
另外,,485芯片是6LB184,单片机是5V单片机,因此485芯片控制引脚连接的也是 5V ,不知道有没有影响。波特率的初始化,我是从 STC 的下载程序上找到的。试了很多个初始化了。都不行
|
-
485.png
(24.76 KB, 下载次数: 164)
这是485部分的原理图
最佳答案
查看完整内容
你好!
1、单片机晶振采用的多少
2、上位机和单片机波特率要一致
3、485的DE控制要对
4、上位机485接收采用的什么模块
5、如需帮助,可以联系我
|