L298N可編程串口驅(qū)動器電路原理圖:
0.jpg (87.71 KB, 下載次數(shù): 35)
下載附件
2018-3-18 16:13 上傳
簡要說明: 一、尺寸:長93mmX 寬87mmX 高40mm
二、主要芯片:L298N 、光電耦合器 STC12C2052AD 單片機(jī)
三、工作電壓:輸入電壓(5V~12V )輸入電壓的大小由被控制電機(jī)的額定電壓決定。
四、可驅(qū)動直流(5~12V 之間電壓的直流電機(jī)或者步進(jìn)電機(jī))
五、最大輸出電流2A (瞬間峰值電流3A)
六、最大輸出功率25W
七、特點(diǎn):(需要對單片機(jī)進(jìn)行編程)
1 、具有信號指示
2 、轉(zhuǎn)速可調(diào)
3 、抗干擾能力強(qiáng)
4 、具有續(xù)流保護(hù)
5 、可單獨(dú)控制兩臺直流電機(jī)
6 、可單獨(dú)控制一臺步進(jìn)電機(jī)
7 、PWM脈寬平滑調(diào)速(可使用PWM信號對直流電機(jī)調(diào)速)
8 、可實(shí)現(xiàn)正反轉(zhuǎn)
9 、采用光電隔離
10 、具有擴(kuò)展IO 開口
11 、四位LED燈指示(輸出信號顯示)
12 、四位按鍵輸入(可以對單片機(jī)編程實(shí)現(xiàn)任何控制)
主圖.JPG (233.14 KB, 下載次數(shù): 31)
下載附件
2018-3-18 00:46 上傳
DSC_0067.JPG (186.35 KB, 下載次數(shù): 40)
下載附件
2018-3-18 00:46 上傳
DSC_0066.JPG (223.05 KB, 下載次數(shù): 36)
下載附件
2018-3-18 00:46 上傳
DSC_0064.JPG (186.85 KB, 下載次數(shù): 33)
下載附件
2018-3-18 00:46 上傳
DSC_0063.JPG (196.08 KB, 下載次數(shù): 33)
下載附件
2018-3-18 00:46 上傳
0.png (7.05 KB, 下載次數(shù): 48)
下載附件
2018-3-18 16:14 上傳
IO口模擬串口 能發(fā)送 能接收單片機(jī)源程序如下:
- #include <reg52.h>
- sbit PIN_RXD = P1^0; //接收引腳定義
- sbit PIN_TXD = P1^1; //發(fā)送引腳定義
- bit RxdOrTxd = 0; //指示當(dāng)前狀態(tài)為接收還是發(fā)送
- bit RxdEnd = 0; //接收結(jié)束標(biāo)志
- bit TxdEnd = 0; //發(fā)送結(jié)束標(biāo)志
- unsigned char RxdBuf = 0; //接收緩沖器
- unsigned char TxdBuf = 0; //發(fā)送緩沖器
- void ConfigUART(unsigned int baud);
- void StartTXD(unsigned char dat);
- void StartRXD();
- void main(){
- EA = 1; //開總中斷
- ConfigUART(9600);
- while (1){ //配置波特率為 9600
- while (PIN_RXD); //等待接收引腳出現(xiàn)低電平,即起始位
- StartRXD(); //啟動接收
- while (!RxdEnd); //等待接收完成
- StartTXD(RxdBuf+1); //接收到的數(shù)據(jù)+1 后,發(fā)送回去
- while (!TxdEnd); //等待發(fā)送完成
- }
- }
- /* 串口配置函數(shù),baud-通信波特率 */
- void ConfigUART(unsigned int baud){
- TMOD &= 0xF0; //清零 T0 的控制位
- TMOD |= 0x02; //配置 T0 為模式 2
- TH0 = 256 - (11059200/12)/baud; //計(jì)算 T0 重載值
- }
- /* 啟動串行接收 */
- void StartRXD(){
- TL0 = 256 - ((256-TH0)>>1); //接收啟動時(shí)的 T0 定時(shí)為半個(gè)波特率周期
- ET0 = 1; //使能 T0 中斷
- TR0 = 1; //啟動 T0
- RxdEnd = 0; //清零接收結(jié)束標(biāo)志
- RxdOrTxd = 0; //設(shè)置當(dāng)前狀態(tài)為接收
- }
- /* 啟動串行發(fā)送,dat-待發(fā)送字節(jié)數(shù)據(jù) */
- void StartTXD(unsigned char dat){
- TxdBuf = dat; //待發(fā)送數(shù)據(jù)保存到發(fā)送緩沖器
- TL0 = TH0; //T0 計(jì)數(shù)初值為重載值
- ET0 = 1; //使能 T0 中斷
- TR0 = 1; //啟動 T0
- PIN_TXD = 0; //發(fā)送起始位
- TxdEnd = 0; //清零發(fā)送結(jié)束標(biāo)志
- RxdOrTxd = 1; //設(shè)置當(dāng)前狀態(tài)為發(fā)送
- }
- /* T0 中斷服務(wù)函數(shù),處理串行發(fā)送和接收 */
- void InterruptTimer0() interrupt 1{
- static unsigned char cnt = 0; //位接收或發(fā)送計(jì)數(shù)
- if (RxdOrTxd){ //串行發(fā)送處理
- cnt++;
- if (cnt <= 8){ //低位在先依次發(fā)送 8bit 數(shù)據(jù)位
- PIN_TXD = TxdBuf & 0x01;
- TxdBuf >>= 1;
- }else if (cnt == 9){ //發(fā)送停止位
- PIN_TXD = 1;
- }else{ //發(fā)送結(jié)束
- cnt = 0; //復(fù)位 bit 計(jì)數(shù)器
- TR0 = 0; //關(guān)閉 T0
- TxdEnd = 1; //置發(fā)送結(jié)束標(biāo)志
- }
- }
- else { //串行接收處理
- if (cnt == 0){ //處理起始位
- if (!PIN_RXD){ //起始位為 0 時(shí),清零接收緩沖器,準(zhǔn)備接收數(shù)據(jù)位
- RxdBuf = 0;
- cnt++;
- }
- else{ //起始位不為 0 時(shí),中止接收
- TR0 = 0; //關(guān)閉 T0
- }
- }
- else if (cnt <= 8){ //處理 8 位數(shù)據(jù)位
- RxdBuf >>= 1; //低位在先,所以將之前接收的位向右移
- //接收腳為 1 時(shí),緩沖器最高位置 1,
- //而為 0 時(shí)不處理即仍保持移位后的 0
- if (PIN_RXD){
- RxdBuf |= 0x80;
- }
- cnt++;
- }
- else{ //停止位處理
- cnt = 0; //復(fù)位 bit 計(jì)數(shù)器
- TR0 = 0; //關(guān)閉 T0
- if (PIN_RXD){ //停止位為 1 時(shí),方能認(rèn)為數(shù)據(jù)有效
- RxdEnd = 1; //置接收結(jié)束標(biāo)志
- }
- }
- }
- }
復(fù)制代碼
0.png (53.32 KB, 下載次數(shù): 30)
下載附件
2018-3-18 16:15 上傳
所有資料51hei提供下載:
GYJ-0081_298可編程串口驅(qū)動器發(fā)貨資料.rar
(8.08 MB, 下載次數(shù): 16)
2018-3-18 00:46 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|