久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

8051直流電機的開環控制程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年11月01日   【字體:

admin2009-6-11 21:471#
//-----------------------函數聲明,變量定義--------------------------------------------------------
#include <reg51.h>
#include <intrins.h>
#include<ABSACC.H>
//-----------------------定義管腳--------------------------------------------------------
sbit PWM=P1^0; //PWM波形輸出
sbit DR=P1^1; //方向控制
#define timer_data (256-100) //定時器預置值,12M時鐘是,定時0.1ms
#define PWM_T 100 //定義PWM的周期T為10ms
unsigned char PWM_t; //PWM_t為脈沖寬度(0~100)時間為0~10ms
unsigned char PWM_count; //輸出PWM周期計數
unsigned char time_count; //定時計數
bit direction; //方向標志為
//--------------------------------------------------------------------------------------------------
// 函數名稱:timer_init
// 函數功能:初始化設施定時器
//--------------------------------------------------------------------------------------------------
void timer_init()
{
TMOD=0x22; /*定時器1為工作模式2(8位自動重裝),0為模式2(8位自動重裝) */
PCON=0x00;
TF0=0;
TH0=timer_data; //保證定時時長為0.1ms
TL0=TH0;
ET0=1;
TR0=1; //開始計數
EA=1; //中斷允許
}
//--------------------------------------------------------------------------------------------------
// 函數名稱:setting_PWM
// 函數功能:設置PWM的脈沖寬度和設定方向
//--------------------------------------------------------------------------------------------------
void setting_PWM()
{
if(PWM_count==0) //初始設置
{
PWM_t=20;
direction=1;
}
}
//--------------------------------------------------------------------------------------------------
// 函數名稱:IntTimer0
// 函數功能:定時器中斷處理程序
//--------------------------------------------------------------------------------------------------
void IntTimer0() interrupt 1
{
time_count++;
DR=direction;
if(time_count>=PWM_T)
{
time_count=0;
PWM_count++;
setting_PWM(); //每輸出一個PWM波調用一次
}
if(time_count<PWM_t)
PWM=1;
else
PWM=0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱:main
// 用戶主函數
// 函數功能:主函數
//--------------------------------------------------------------------------------------------------
void main()
{
timer_init();
setting_PWM();
}
admin2009-6-12 21:522#
//-----------------------函數聲明,變量定義--------------------------------------------------------
#include
#include
sbit SDA=P1^0; // 將p1.0口模擬數據口
sbit SCL=P1^1; // 將p1.1口模擬時鐘口
#define NUM 10 // 接收和發送緩存區的深度
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
unsigned char idata sendbuf[NUM]; // 數據發送緩沖區
unsigned char idata receivebuf[NUM]; // 數據接收緩沖區
bit bdata SystemError; // 從機錯誤標志位
//--------------------------------------------------------------------------------------------------
// 函數名稱: iic_start()
// 函數功能: 啟動I2C總線子程序
//--------------------------------------------------------------------------------------------------
void iic_start(void)
{ EA=0; //時鐘保持高,數據線從高到低一次跳變,I2C通信開始
SDA = 1;
SCL = 1;
delayNOP(); // 延時5us
SDA = 0;
delayNOP();
SCL = 0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: iic_stop()
// 函數功能: 停止I2C總線數據傳送子程序
//--------------------------------------------------------------------------------------------------
void iic_stop(void)
{
SDA = 0; //時鐘保持高,數據線從低到高一次跳變,I2C通信停止
SCL = 1;
delayNOP();
SDA = 1;
delayNOP();
SCL = 0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: slave_ACK
// 函數功能: 從機發送應答位子程序
//--------------------------------------------------------------------------------------------------
void slave_ACK(void)
{
SDA = 0;
SCL = 1;
delayNOP();
SDA = 1;
SCL = 0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: slave_NOACK
// 函數功能: 從機發送非應答位子程序,迫使數據傳輸過程結束
//--------------------------------------------------------------------------------------------------
void slave_NOACK(void)
{
SDA = 1;
SCL = 1;
delayNOP();
SDA = 0;
SCL = 0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: check_ACK
// 函數功能: 主機應答位檢查子程序,迫使數據傳輸過程結束
//--------------------------------------------------------------------------------------------------

關閉窗口

相關文章

主站蜘蛛池模板: 日韩国产在线观看 | 久久一区视频 | 激情a | 久久久www | 国产精品a久久久久 | 亚洲成av人片在线观看无码 | 欧美日韩在线视频一区二区 | 无人区国产成人久久三区 | 日本福利在线观看 | 亚洲精品第一 | 日韩av在线一区二区三区 | 精品在线一区 | 国产精品久久久久久久免费大片 | 天堂综合 | av在线天天 | 精品久久九九 | 一区二区三区在线看 | 午夜精品久久久久久久久久久久久 | 一区二区三区欧美在线观看 | 综合久久av | 一区免费观看 | 久久久国产精品入口麻豆 | 国产精品久久久久久婷婷天堂 | 国产精品免费一区二区三区四区 | 中国大陆高清aⅴ毛片 | 国产精品美女久久久免费 | 国产免费观看一区 | 国产三级精品视频 | 精品欧美久久 | 奇米久久久 | 欧美阿v| 国产精品成人在线观看 | 欧美一区二区三区在线观看视频 | 久久视频精品在线 | 国产精品区二区三区日本 | 一区二区在线不卡 | 国产精品视频999 | 日韩视频在线一区 | 中文字幕一区二区三区四区不卡 | 成人在线免费视频 | 91视频一88av |