free性丰满hd毛多多,久久综合给合久久狠狠狠97色69 ,欧美成人乱码一区二区三区,国产美女久久久亚洲综合,7777久久亚洲中文字幕

0
問答首頁(yè) 最新問題 熱門問題 等待回答標(biāo)簽廣場(chǎng)
我要提問

單片機(jī)

如何用單片機(jī)控制另外一臺(tái)單片機(jī)

具體點(diǎn)說,我想用stc89C52控制arduino,然后讓arduino去控制舵機(jī)手臂,要怎么實(shí)現(xiàn),求大神指導(dǎo)!

提問者:Mryan1996 地點(diǎn):- 瀏覽次數(shù):10100 提問時(shí)間:10-22 17:40
我有更好的答案
提 交
6條回答
朱桂洪008 02-04 23:32
串口通信
或者IIC
定義主從機(jī)
siyu922 02-04 20:51
串口通信
2邊都有串口接口的
如果板子距離近 都不需要232 轉(zhuǎn)換的,直接RX-TX TX-RX
chinaruto 02-05 23:44
串口最方便了,注意一下電平匹配
xddk211 02-03 18:53
兩個(gè)單片機(jī)如果是平等地位可以選擇用串口。如果多個(gè)單片機(jī),地位分為1主機(jī)多從機(jī),選用SPI通信;如果多單片機(jī)地位平等,選擇CAN通信方式。這些方式還有同步異步之分,等等,按照需求選擇。
psw30 02-05 19:18
串口Uart,I2C也行
chm11 02-04 22:39


Arduino電子設(shè)計(jì)實(shí)戰(zhàn)指南.零基礎(chǔ)篇 176頁(yè) 32.0M 高清書簽版.pdf(31.25 MB, 下載次數(shù): 45)2014-5-7 22:55 上傳點(diǎn)擊文件名下載附件
舵機(jī)控制板和51單片機(jī)通訊.pdf(51.28 KB, 下載次數(shù): 7)2014-5-7 20:26 上傳點(diǎn)擊文件名下載附件

舵機(jī)控制板和51 單片機(jī)通訊
/*********************************************************************
* 本程序在STC89C51RC 單片機(jī)中進(jìn)行過測(cè)試,完全正常(晶振11.0592M)
*用戶可以根據(jù)晶振不同自行修改,建議用戶先連接PC,通過PC 的串口調(diào)試
* 助手來驗(yàn)證程序是否有效
* P30: RXD
* P31: TXD
**********************************************************************/
#include
#ifndef _DG_TYPE_
#define _DG_TYPE_
typedef unsigned char uchar;
typedef unsigned int uint;
#endif
#define CMD_LEN 75 // 命令長(zhǎng)度
#define CMD_TAG 1 // 提示符長(zhǎng)度
void UartInit();
void UartSendChar(unsigned char ch);
void UartSendStr(uchar *pStr);
void UartCharPro(uchar ch);
void UartCmdPro();
uchar g_ucCmd[CMD_LEN + 1] = {0};
uchar g_ucLen = 0; // 命令長(zhǎng)度
uchar g_ucCur = 1; // 光標(biāo)位置
void main()
{
UartInit();
UartSendStr("#1P1500T100\r\n"); // S1 號(hào)舵機(jī)在時(shí)間100ms 內(nèi)移動(dòng)到PWM1500 的位置
// UartSendStr("#1GC2\r\n"); // 執(zhí)行第一個(gè)動(dòng)作組,循環(huán)執(zhí)行2 次
while(1);
}
/************************************************************
* Name: UartInit
* Func:
* 串行通信初始化
* Para:
* uchar ch: 發(fā)送的字符
* Return: None
***********************************************************/
void UartInit()
{
SCON = 0x50; // SCON: serail mode 1, 8-bit UART
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit reload
PCON |= 0x80; // SMOD="1";
TH1 = 0xFA; // Baud:9600 fosc="11".0592MHz
TL1 = 0xFA;
IE |= 0x90; // 使能串行中斷
TR1 = 1; // 啟動(dòng)TIMER1
EA = 1;
}
/************************************************************
* Name: UartSendChar
* Func:
* 向串口發(fā)送一個(gè)字符
* Para:
* uchar ch: 發(fā)送的字符
* Return: None
***********************************************************/
void UartSendChar(unsigned char ch)
{
SBUF = ch;
while(TI==0);
TI=0;
}
/************************************************************
* Name: UartSendStr
* Func:
* 向串口發(fā)送以0 結(jié)尾的字符串
* Para:
* uchar *pStr: 發(fā)送的字符指針
* Return: None
***********************************************************/
void UartSendStr(uchar *pStr)
{
while(*pStr != 0)
{
SBUF = *pStr++;
while(TI==0);
TI=0;
}
}
void UartSrv() interrupt 4
{
unsigned char ch;
ch = SBUF;
if(RI)
{
RI = 0;
//UartSendChar(ch);
//P0 = ~ch;
UartCharPro(ch);
}
}
/************************************************************
* Name: UartCharPro
* Func:
* 字符處理過程函數(shù)。根據(jù)輸入的普通字符或控制字符判斷回顯。
* Para:
* uchar ch: 判斷的字符
* Return: None
***********************************************************/
void UartCharPro(uchar ch)
{
P0 = ~ch;
switch(ch)
{
case '\b': // 退格鍵
if(g_ucCur > CMD_TAG) {
UartSendChar('\b');
UartSendChar(' ');
UartSendChar('\b');
if(g_ucLen) {
g_ucLen--;
}
g_ucCur--;
}
break;
case '\r': // 回車鍵
UartSendChar('\r');
UartSendChar('\n');
g_ucCmd[g_ucLen] = 0;
UartSendStr(g_ucCmd);
UartSendChar('\r');
UartSendChar('\n');
UartSendChar('>');
g_ucLen = 0;
g_ucCur = 1;
break;
default: // 其它字符
UartSendChar(ch);
g_ucCur++;
if(g_ucLen < CMD_LEN) {
g_ucCmd[g_ucLen++] = ch;
}
else {
g_ucCmd[g_ucLen] = 0;
}
}
}
撰寫答案
提 交
1 / 3
1 / 3
相關(guān)單片機(jī)
具有音調(diào)控制的單片機(jī)立體聲前置放大器
用于單片機(jī)與電子裝置中的開關(guān)電源
單片機(jī)軟硬件復(fù)位的條件都有啥
電動(dòng)機(jī)的單片機(jī)控制
單片機(jī)應(yīng)用系統(tǒng)開發(fā)實(shí)例導(dǎo)航