其中利用直流電機完成位置移動,步進電機模擬吊鉤升降。
單片機仿真原理圖如下所示(proteus仿真工程文件可到本帖附件中下載)
0.png (20.13 KB, 下載次數: 42)
下載附件
2017-11-14 21:00 上傳
0.png (14.15 KB, 下載次數: 43)
下載附件
2017-11-14 20:59 上傳
單片機源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #define out_port P3
- unsigned char const sequence[8]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};
- sbit key_for = P1^2;
- sbit key_rev = P1^3;
- sbit Inc = P1^0;
- sbit Dec = P1^1;
- sbit Dir = P2^0;
- sbit PWM = P2^1;
- int speed;
- void DCMotorDeal(void);
- void StepMotorDeal(void);
- void delay(unsigned int j){
- for(;j>0;j--);
- }
- void delayms(unsigned int j){
- unsigned char i;
- for(;j>0;j--){
- i=120;
- while(i--);
- }
- }
- void main(void){
- Dir=1;
- if(Dir){
- speed=400;
- }
- else{
- speed=100;
- }
- out_port=0x03;
- while(1){
- DCMotorDeal();
- StepMotorDeal();
- }
- }
- void DCMotorDeal(void){
- if(!Inc){
- speed=speed>0?speed-1:0;
- }
- if(!Dec){
- speed=speed<500?speed+1:500;
- }
- PWM=1;
- delay(speed);
- PWM=0;
- delay(500-speed);
- }
- void StepMotorDeal(void){
- unsigned char i;
- if(!key_for){
- i=i<8?i+1:0;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
起重橋.zip
(48.83 KB, 下載次數: 13)
2017-11-14 20:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|