|
|
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
51hei.png (45.21 KB, 下載次數(shù): 31)
下載附件
2022-11-20 19:29 上傳
51hei.png (43.25 KB, 下載次數(shù): 35)
下載附件
2022-11-20 19:29 上傳
bom清單:
BOM清單.png (38.16 KB, 下載次數(shù): 35)
下載附件
2022-11-20 19:29 上傳
單片機源程序如下:- #include<reg52.h>
- #include <intrins.h>
- typedef unsigned char uchar;
- typedef unsigned int uint;
-
- #define PWM9685_adrr1 0x00 // LU9685_adrr1=A4*32+A3*16+A2*8+A1*4+A0*2,LU9685模塊上面焊點短接的話Ax=1,否則為0
- void delayms(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- /********************************************************************
- 發(fā)送一個字節(jié)串口數(shù)據(jù)
- ********************************************************************/
- void Uart_Send_Byte(unsigned char c)//UART Send a byte
- {
- SBUF = c;
- while(!TI); //發(fā)送完為1
- TI = 0;
- }
- /********************************************************************
- * 名稱 : UART_Init()
- * 功能 : 單片機串口初始化
- * 單片機:晶振11.0592MHz 波特率為9600bps
- * 舵機模塊:波特率為9600bps,
- ********************************************************************/
- void UART_Init()
- {
- SCON= 0x50; //串口方式1 //REN=1; 允許接收
- PCON=0x00; //SMOD=0
- TMOD= 0x22; //定時器1定時方式2
- TH1= 0xFD; //11.0592MHz 模塊默認波特率為9600bps
- TL1= 0xFD;
- TR1= 1; //啟動定時器
- EA=1;
- }
- /*---------------------------------------------------------------
- adder:模塊的硬件地址
- num:通道 0-15
- off為0-180,off大于等于200時不輸出信號,此時釋放舵機
- ----------------------------------------------------------------*/
- void setPWM(uchar adder,uchar num,uchar off)
- {
- Uart_Send_Byte(0XFA);
- Uart_Send_Byte(adder);
- Uart_Send_Byte(num);
- Uart_Send_Byte(off);
- Uart_Send_Byte(0XFE);
- }
- void PWM9685_reset(uchar adder)
- {
- Uart_Send_Byte(0XFA);
- Uart_Send_Byte(adder);
- Uart_Send_Byte(0XFB);
- Uart_Send_Byte(0XFB);
- Uart_Send_Byte(0XFE);
- }
- void main()
- {
- uchar m,n;
- //串口初始化
- UART_Init();
- //LU9685軟復(fù)位
- PWM9685_reset(PWM9685_adrr1);
- while(1)
- {
- for(n=0;n<16;n++)
- {
- for(m=0;m<=180;m++)
- {
- setPWM(PWM9685_adrr1,n,m);
- }
- }
- delayms(500);
- for(n=0;n<16;n++)
- {
- for(m=0;m<=180;m++)
- {
- setPWM(PWM9685_adrr1,15-n,180-m);
- }
- }
- delayms(500);
- }
- }
復(fù)制代碼
帖子.jpg (1.19 MB, 下載次數(shù): 34)
下載附件
2022-2-10 23:54 上傳
|
評分
-
查看全部評分
|