国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
51單片機串口控制3-L298N直流電機方向速度 Proteus仿真代碼
[打印本頁]
作者:
eng
時間:
2021-7-21 00:38
標題:
51單片機串口控制3-L298N直流電機方向速度 Proteus仿真代碼
此次實驗將通過窗口輸入來控制直流電機的正反轉并將輸入的數(shù)值在數(shù)碼管上顯示出來。本次實驗的另一個目的便是了解L298芯片的工作原理和通過PWM控制電機轉動的工作機理。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
3.gif
(48.53 KB)
下載附件
2021-7-21 00:36 上傳
部分源碼:完整源碼見附件
#include <reg51.h>
#define u8 unsigned char
#include "uart.h"
sbit M1=P3^6;
sbit M2=P3^7;
bit fang=0;//0順 1逆
bit sudu=0;//0慢 1快
//串口接收,0順 1逆 2慢 3快
u8 i=0;
void delay(long k){while(k--);}
void main (void)
{
u8 key=0;//按鍵狀態(tài)
UART1_init();
UART1_Sends("Phuck u everyday");
UART1_Send(0x0d);UART1_Send(0x0a);//回車、換行
while(1)
{
if(key!=P1)//如果按下了按鍵
{
key=P1;//獲取最新的按鍵狀態(tài)
SBUF=key;//發(fā)送
}
if(fang==0)
{
if(sudu==0) {M1=0;M2=1;delay(1000);
M1=0;M2=0;delay(500);}
if(sudu==1) {M1=0;M2=1;delay(10000);}//補充順時針代碼,含速度
}
else
{
if(sudu==0) {M1=1;M2=0;delay(1000);
M1=0;M2=0;delay(500);}
if(sudu==1) {M1=1;M2=0;delay(10000);}//補充逆時針代碼,含速度
}
}
}
void UART_INT(void) interrupt 4
{
if(RI)//串口輸入引起的中斷
{
P2=SBUF;//獲取用戶命令SBUF,并顯示ASCII
i=SBUF & 0x0F;
switch(i)
復制代碼
串口控制3-直流電機方向速度.rar
(79.52 KB, 售價: 2 E幣)
2021-7-21 00:38 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
歡迎光臨 ELEOK (http://www.afoofa.cn/)
Powered by Discuz! X5.0