亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? e3phase.c

?? 該程序?qū)崿F(xiàn)了三菱M16C/62單片機(jī)的三相馬達(dá)控制用的定時(shí)功能
?? C
字號(hào):
/**************三相馬達(dá)控制用定時(shí)功能測(cè)試程序***************/
//文件名:e3phase.c
//說(shuō)明:  本程序聯(lián)合利用定時(shí)器A1,A2,A4和B2,產(chǎn)生驅(qū)動(dòng)三相馬達(dá)的電壓波形(SPWM),
//	  完成對(duì)三菱M16C/6N系列單片機(jī)的三相馬達(dá)控制用的定時(shí)功能的測(cè)試。晶振頻率為16MHz。
//程序員:文武松
//時(shí)間:  05-04-09

/***********************包含的頭文件************************/
#include "sfr6n.h"		//NOTE:在三菱單片機(jī)的C語(yǔ)言中,頭文件必須用引號(hào)

/*************************宏定義****************************/
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long

#define CLK 16			//晶振頻率16MHz
#define modul_rate 80		//調(diào)制比(0.8)*100 
#define carrier_F 3600		//載波頻率20KHz
#define output_F 10		//輸出正弦波的頻率
#define c2_data 399		//carrier period/2=(MCU clk frequency/carrier frequency)/2
#define c4_data	199		//carrier period/4

#define PWM_max 397		//TAi的最大值
#define PWM_min 2		//TAi的最小值

/**********************全局變量的定義***********************/
uint modul_data;		//modul_data=modul_rate*carrier period/4/100
uint sin_cut;			//連續(xù)兩次指向正弦表的指針之差

uint pointer;			//正弦表指針

uint pwm_v;			//v相定時(shí)器寄存器值
uint pwm_w;			//w相定時(shí)器寄存器值
uint pwm_u;			//u相定時(shí)器寄存器值
uint sin_sum;			//指針記憶單元
/*uint A1_DATA;			//定時(shí)器寄存器A1緩沖器
uint A11_DATA;			//定時(shí)器寄存器A11緩沖器
uint A2_DATA;			//定時(shí)器寄存器A2緩沖器
uint A21_DATA;			//定時(shí)器寄存器A21緩沖器
uint A4_DATA;			//定時(shí)器寄存器A4緩沖器
uint A41_DATA;			//定時(shí)器寄存器A41緩沖器
*/
const uint sin_tb[600]={
 174,348,523,697,871,1045,1218,1391,1564,1736,
1908,2079,2249,2419,2588,2756,2923,3090,3255,3420,
3583,3746,3907,4067,4226,4383,4539,4694,4848,5000,
5150,5299,5446,5591,5735,5877,6018,6156,6293,6427,
6560,6691,6819,6946,7071,7193,7313,7431,7547,7660,
7771,7880,7986,8090,8190,8290,8386,8480,8571,8660,
8746,8829,8910,8987,9063,9135,9205,9271,9335,9396,
9455,9510,9563,9612,9659,9702,9743,9781,9816,9848,
9875,9902,9925,9945,9961,9975,9986,9993,9998,10000,
9998,9993,9986,9975,9961,9945,9925,9902,9876,9848,
9816,9781,9743,9702,9659,9612,9563,9510,9455,9396,
9335,9271,9205,9135,9063,8987,8910,8829,8746,8660,
8571,8480,8386,8290,8191,8090,7986,7880,7771,7660,
7547,7431,7313,7193,7071,6946,6819,6691,6560,6427,
6293,6156,6018,5877,5735,5591,5446,5299,5150,5000,
4848,4694,4539,4383,4226,4067,3907,3746,3583,3420,
3555,3090,2923,2756,2588,2419,2249,2079,1908,1736,
1564,1391,1218,1045,871,697,523,348,174,50,
 174,348,523,697,871,1045,1218,1391,1564,1736,
1908,2079,2249,2419,2588,2756,2923,3090,3255,3420,
3583,3746,3907,4067,4226,4383,4539,4694,4848,5000,
5150,5299,5446,5591,5735,5877,6018,6156,6293,6427,
6560,6691,6819,6946,7071,7193,7313,7431,7547,7660,
7771,7880,7986,8090,8190,8290,8386,8480,8571,8660,
8746,8829,8910,8987,9063,9135,9205,9271,9335,9396,
9455,9510,9563,9612,9659,9702,9743,9781,9816,9848,
9875,9902,9925,9945,9961,9975,9986,9993,9998,10000,
9998,9993,9986,9975,9961,9945,9925,9902,9876,9848,
9816,9781,9743,9702,9659,9612,9563,9510,9455,9396,
9335,9271,9205,9135,9063,8987,8910,8829,8746,8660,
8571,8480,8386,8290,8191,8090,7986,7880,7771,7660,
7547,7431,7313,7193,7071,6946,6819,6691,6560,6427,
6293,6156,6018,5877,5735,5591,5446,5299,5150,5000,
4848,4694,4539,4383,4226,4067,3907,3746,3583,3420,
3555,3090,2923,2756,2588,2419,2249,2079,1908,1736,
1564,1391,1218,1045,871,697,523,348,174,50,
 174,348,523,697,871,1045,1218,1391,1564,1736,
1908,2079,2249,2419,2588,2756,2923,3090,3255,3420,
3583,3746,3907,4067,4226,4383,4539,4694,4848,5000,
5150,5299,5446,5591,5735,5877,6018,6156,6293,6427,
6560,6691,6819,6946,7071,7193,7313,7431,7547,7660,
7771,7880,7986,8090,8190,8290,8386,8480,8571,8660,
8746,8829,8910,8987,9063,9135,9205,9271,9335,9396,
9455,9510,9563,9612,9659,9702,9743,9781,9816,9848,
9875,9902,9925,9945,9961,9975,9986,9993,9998,10000,
9998,9993,9986,9975,9961,9945,9925,9902,9876,9848,
9816,9781,9743,9702,9659,9612,9563,9510,9455,9396,
9335,9271,9205,9135,9063,8987,8910,8829,8746,8660,
8571,8480,8386,8290,8191,8090,7986,7880,7771,7660,
7547,7431,7313,7193,7071,6946,6819,6691,6560,6427,
6293,6156,6018,5877,5735,5591,5446,5299,5150,5000,
4848,4694,4539,4383,4226,4067,3907,3746,3583,3420,
3555,3090,2923,2756,2588,2419,2249,2079,1908,1736,
1564,1391,1218,1045,871,697,523,348,174,50,
 174,348,523,697,871,1045,1218,1391,1564,1736,
1908,2079,2249,2419,2588,2756,2923,3090,3255,3420,
3583,3746,3907,4067,4226,4383,4539,4694,4848,5000,
5150,5299,5446,5591,5735,5877,6018,6156,6293,6427,
6560,6691,6819,6946,7071,7193,7313,7431,7547,7660,
7771,7880,7986,8090,8190,8290,8386,8480,8571,8660
};

/*************************函數(shù)聲明**************************/
//void delay_s(uchar x);			//延時(shí)xms子程序
void main_init(void);			//初始化子程序
void angle(void);			//計(jì)算正弦表指針函數(shù)
void Ai_data(void);			//計(jì)算定時(shí)器寄存器值的函數(shù)
void judge_Ai(void);			//定時(shí)器寄存器值上下限判斷子程序
void PWM_SET(void);			//定時(shí)器寄存器賦值子程序
void tb2int(void);			//中斷子程序
void main(void);			//主函數(shù)

/***********************延時(shí)xms子程序***********************/
//說(shuō)明:本函數(shù)實(shí)現(xiàn)了延時(shí)xms的功能
//輸入:x
//輸出:無(wú)
/*void delay_s(uchar x)
{
	uchar n;
	while(x!=0)
	{
		for(n=0;n<=125;n++)
		{
			x--;
		}
	}
}
*/
/***********************初始化子程序************************/
//說(shuō)明:本函數(shù)實(shí)現(xiàn)了對(duì)與三相馬達(dá)控制有關(guān)的一些寄存器的初始化
//輸入:無(wú)
//輸出:無(wú)
void main_init(void)
{
	prc2=1;
	pd8=0x03;			//將P80,P81設(shè)置成輸出方式
	pd7=0x0ff;			//將P72,P73,P74,P75設(shè)置成輸出方式
	prc2=0;
	
	invc0=0x0c;			//有效中斷輸出的規(guī)定位未規(guī)定,三相PWM輸出模式,
					//三角波調(diào)制模式,輸出使能
	invc1=0x06;			//三相模式1,定時(shí)器B2溢出信號(hào)觸發(fā)定時(shí)器Ai,死區(qū)時(shí)間
					//定時(shí)器計(jì)數(shù)源選擇f1/2
	ictb2=2;			//設(shè)置定時(shí)器B2中斷請(qǐng)求發(fā)生的頻率為2
	
	idb0=0x15;			//設(shè)置三相輸出緩沖器0,第6,7位不使用
	idb1=0x2a;			//設(shè)置三相輸出緩沖器1,第6,7位不使用
	
	ta1mr=0x12; 			//選取單次工作方式,計(jì)數(shù)源選取f1
	ta2mr=0x12; 			//選取單次工作方式,計(jì)數(shù)源選取f1
	ta4mr=0x12; 			//選取單次工作方式,計(jì)數(shù)源選取f1
	tb2mr=0x00; 			//選取定時(shí)方式,計(jì)數(shù)源選取f1
	
	trgsr=0x45; 			//定時(shí)器A1,A2,A4選取TB2的溢出觸發(fā)
	tb2=c2_data; 			//設(shè)置定時(shí)器B2的初值
	dtt=24; 			//設(shè)置死區(qū)時(shí)間定時(shí)器DTT(3us)=16MHz(clk)/2*(3us)
}

/*********************計(jì)算正弦表的指針函數(shù)*******************/
//說(shuō)明:本函數(shù)根據(jù)指針跳讀參數(shù)sin_cut確定每次中斷時(shí)指向正弦表sin_tb[]的指針,
//	64個(gè)周期為一個(gè)循環(huán)
//輸入:無(wú)
//輸出:無(wú)
void angle(void)
{
	sin_sum=sin_sum+sin_cut;
	if(sin_sum>=23040)
	{
		sin_sum=sin_sum-23040;
	}
	else
	{
	}
	pointer=sin_sum/64;
}

/*****************計(jì)算定時(shí)器寄存器的值的函數(shù)*****************/
//說(shuō)明:本函數(shù)實(shí)現(xiàn)了對(duì)定時(shí)器寄存器Ai的值的計(jì)算,由于u,v,w相臨兩相之間相位差為120,
//	因此各指針之間相差也為120。
//輸入:無(wú)
//輸出:無(wú)
void Ai_data(void)
{	
//	 uint pwm_u;
	 pwm_u=c4_data-(uint)((ulong)(modul_data*sin_tb[pointer])/1000000);
	 pwm_v=c4_data-(uint)((ulong)(modul_data*sin_tb[pointer+120])/1000000);
	 pwm_w=c4_data-(uint)((ulong)(modul_data*sin_tb[pointer+240])/1000000);
}

/**************定時(shí)器寄存器值的上下限判斷子函數(shù)**************/
//說(shuō)明:本函數(shù)通過(guò)將計(jì)算得到的定時(shí)器寄存器的值與規(guī)定的上下限進(jìn)行比較,最終
//	確定定時(shí)器寄存器Ai,Ai1的值。
//輸入:無(wú)
//輸出:無(wú)
//void judge_Ai(void)
//{
/*	uint A1_DATA;
	uint A11_DATA;
	uint A2_DATA;
	uint A21_DATA;
	uint A4_DATA;
	uint A41_DATA;
*/
//	uint pwm_u;
/*	if(pwm_u>PWM_max)
	{
		A1_DATA=PWM_max;		//若計(jì)算出的定時(shí)器寄存器A1的值
						//大于給定的最大值,則取最大值	
		A11_DATA=c2_data-A1_DATA;
	}
	else 
	{
		if(pwm_u<PWM_min)
		{
			A1_DATA=PWM_min;	//若計(jì)算出的定時(shí)器寄存器A1的值
						//小于給定的最小值,則取最小值
			A11_DATA=c2_data-A1_DATA;
		}
		else
		{
			A1_DATA=pwm_u;		//否則取計(jì)算得到的定時(shí)器寄存器的值
			A11_DATA=c2_data-A1_DATA;
		}
	}
	
	if(pwm_v>PWM_max)
	{
		A2_DATA=PWM_max;		//若計(jì)算出的定時(shí)器寄存器A2的值
						//大于給定的最大值,則取最大值	
		A21_DATA=c2_data-A2_DATA;
	}
	else 
	{
		if(pwm_v<PWM_min)
		{
			A2_DATA=PWM_min;	//若計(jì)算出的定時(shí)器寄存器A2的值
						//小于給定的最小值,則取最小值
			A21_DATA=c2_data-A2_DATA;
		}
		else
		{
			A2_DATA=pwm_v;		//否則取計(jì)算得到的定時(shí)器寄存器的值
			A21_DATA=c2_data-A2_DATA;
		}
	}
	
	if(pwm_w>PWM_max)
	{
		A4_DATA=PWM_max;		//若計(jì)算出的定時(shí)器寄存器A4的值
						//大于給定的最大值,則取最大值	
		A41_DATA=c2_data-A4_DATA;
	}
	else 
	{
		if(pwm_w<PWM_min)
		{
			A4_DATA=PWM_min;	//若計(jì)算出的定時(shí)器寄存器A4的值
						//小于給定的最小值,則取最小值
			A41_DATA=c2_data-A4_DATA;
		}
		else
		{
			A4_DATA=pwm_w;		//否則取計(jì)算得到的定時(shí)器寄存器的值
			A41_DATA=c2_data-A4_DATA;
		}
	}
}
*/
/*********************定時(shí)器賦值子程序***********************/
//說(shuō)明:本函數(shù)將計(jì)算,判斷是否超過(guò)上下限后得到的定時(shí)器寄存器的值賦給定時(shí)器寄存器。
//輸入:無(wú)
//輸出:無(wú)
//void PWM_SET(void)
//{
/*	uint A1_DATA;
	uint A11_DATA;
	uint A2_DATA;
	uint A21_DATA;
	uint A4_DATA;
	uint A41_DATA;
*/
/*	ta1=A1_DATA;
	ta11=A11_DATA;
	ta2=A2_DATA;
	ta21=A21_DATA;
	ta4=A4_DATA;
	ta41=A41_DATA;
}
*/
/************************中斷子程序**************************/
//說(shuō)明:本函數(shù)完成對(duì)定時(shí)器寄存器Ai和Ai1值的計(jì)算及賦值。
//輸入:無(wú)
//輸出:無(wú)
#pragma INTERRUPT/B tb2int
void tb2int(void)
{
	angle();			//計(jì)算正弦表的指針函數(shù)
	Ai_data();			//計(jì)算定時(shí)器寄存器的值函數(shù)
//	judge_Ai();			//定時(shí)器寄存器值的上下限判斷子函數(shù)
//	PWM_SET();			//定時(shí)器賦值子函數(shù)
}

/**************************主函數(shù)****************************/
//說(shuō)明:主要實(shí)現(xiàn)指針跳讀參數(shù)sin_cut及參數(shù)modul_data的計(jì)算,并啟動(dòng)定時(shí)器TB2。
//輸入:無(wú)
//輸出:無(wú)
void main(void)
{
	sin_sum=0;
	main_init();				//初始化子程序
	
	sin_cut=(360*64)/(carrier_F/output_F);
					//計(jì)算連續(xù)兩次指向正弦表的指針之差
	modul_data=c4_data*modul_rate;
	
	asm("FCLR I");			//中斷禁止
	tb2ic=0x07;			//設(shè)置定時(shí)器B2的中斷優(yōu)先級(jí)為7級(jí)
	asm("LDIPL #110B");		//中斷使能級(jí)別為6級(jí)
	asm("FSET I");			//允許中斷
	
	tb2s=1;				//啟動(dòng)定時(shí)器b2
	while(1);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
777午夜精品视频在线播放| 国产午夜亚洲精品羞羞网站| 亚洲色图视频网| 色先锋资源久久综合| 伊人夜夜躁av伊人久久| 在线免费观看一区| 三级成人在线视频| 久久色在线观看| 99精品桃花视频在线观看| 亚洲乱码精品一二三四区日韩在线| 色综合久久久网| 日韩在线观看一区二区| 精品国产乱码久久久久久牛牛 | 中文字幕一区三区| 在线观看亚洲成人| 日韩av在线发布| 国产欧美一区二区三区鸳鸯浴| 成人黄色777网| 午夜精品爽啪视频| 久久精品视频免费| 欧美性生活影院| 国产一区美女在线| 亚洲综合激情网| 2021久久国产精品不只是精品| 99久久久国产精品免费蜜臀| 亚洲高清在线视频| 国产日韩精品一区二区浪潮av| 91性感美女视频| 久久国产精品色婷婷| 亚洲日本va在线观看| 欧美一级xxx| 99久久久久久| 国模大尺度一区二区三区| 亚洲视频在线观看一区| 精品国产一区二区三区忘忧草| 在线观看欧美精品| 成人一道本在线| 美国欧美日韩国产在线播放| 亚洲欧美日韩国产综合| 精品国偷自产国产一区| 色94色欧美sute亚洲线路一久| 久久国内精品视频| 国内精品伊人久久久久av影院| 国产精品久久久久久久久免费桃花 | 欧美一级一级性生活免费录像| 懂色av一区二区夜夜嗨| 免费精品视频在线| 亚洲一区二区偷拍精品| 日本一区二区三区国色天香| 555www色欧美视频| 色婷婷亚洲精品| 国产91精品免费| 久久99久久久久久久久久久| 亚洲综合成人在线| 中文字幕av一区二区三区| 日韩一级黄色大片| 欧美日韩在线直播| 97久久久精品综合88久久| 国产一区二区三区高清播放| 日韩在线卡一卡二| 亚洲国产成人91porn| 一区精品在线播放| 国产片一区二区| 欧美一卡在线观看| 欧洲视频一区二区| 色噜噜狠狠色综合欧洲selulu| 成人一区二区三区中文字幕| 狠狠色丁香婷综合久久| 久久99蜜桃精品| 免费观看91视频大全| 亚洲成人激情社区| 亚洲影视资源网| 一区二区三区国产精华| 亚洲欧美日韩在线| 亚洲精品久久久蜜桃| 中文字幕在线观看不卡| 日本一区二区视频在线观看| 欧美成人一级视频| 久久精品在线观看| 欧美国产激情二区三区| 欧美激情一区二区三区不卡 | 欧美影片第一页| 在线视频亚洲一区| 欧美日韩国产成人在线免费| 欧美亚州韩日在线看免费版国语版| 色呦呦国产精品| 在线免费观看不卡av| 欧美高清视频不卡网| 69av一区二区三区| 日韩欧美激情一区| 国产婷婷色一区二区三区| 中国av一区二区三区| 亚洲欧洲精品一区二区三区| 亚洲九九爱视频| 日韩高清欧美激情| 国产一区二区三区最好精华液| 国产最新精品精品你懂的| 国产成人av自拍| 色婷婷精品久久二区二区蜜臂av | 欧美一级黄色大片| 精品国产123| 中文字幕中文字幕在线一区| 亚洲国产一区视频| 国内精品写真在线观看| 99久久精品国产导航| 欧美日韩国产中文| 久久人人爽爽爽人久久久| 国产精品乱人伦| 午夜精品在线看| 国产成人一级电影| 欧美日韩一级大片网址| 久久综合久久综合久久综合| 中文字幕一区在线| 日韩极品在线观看| 懂色av一区二区三区蜜臀| 欧美日韩在线不卡| 久久久久久一二三区| 亚洲猫色日本管| 激情文学综合丁香| 在线日韩国产精品| 久久久99免费| 视频一区欧美精品| 色一区在线观看| 久久久久久电影| 天堂精品中文字幕在线| 成人福利视频在线看| 欧美日韩国产高清一区二区 | 一本一道久久a久久精品 | 欧美无人高清视频在线观看| 日韩欧美成人一区| 亚洲精品免费一二三区| 国产在线播放一区三区四| 欧美三片在线视频观看| 国产农村妇女毛片精品久久麻豆| 亚洲国产视频一区二区| 成人18视频在线播放| 欧美变态tickle挠乳网站| 亚洲精品国产无套在线观| 国产一区二区三区综合| 欧美一区二区三区的| 亚洲激情男女视频| 国产69精品久久99不卡| 91精品国产综合久久精品图片 | 国产suv一区二区三区88区| 欧美高清www午色夜在线视频| 亚洲精品一卡二卡| 国产99精品国产| 久久久青草青青国产亚洲免观| 日本伊人色综合网| 欧美日韩高清一区二区不卡| 亚洲图片你懂的| 成人的网站免费观看| 国产日韩欧美麻豆| 韩国精品久久久| 精品国产a毛片| 久久电影网站中文字幕| 欧美一区二区三区日韩| 亚洲成人av电影在线| 欧美性极品少妇| 亚洲第一在线综合网站| 欧美在线一二三四区| 一区二区在线观看视频在线观看| 波多野结衣一区二区三区| 中文幕一区二区三区久久蜜桃| 国产精华液一区二区三区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产超碰在线一区| 国产亚洲va综合人人澡精品| 国产福利91精品| 欧美国产一区在线| 成人午夜免费av| 国产精品久久精品日日| 99久久伊人精品| 亚洲日本在线视频观看| 色又黄又爽网站www久久| 亚洲一区中文在线| 欧美日韩亚洲丝袜制服| 日韩高清在线电影| www日韩大片| 成人爽a毛片一区二区免费| 国产精品毛片久久久久久| 99精品国产91久久久久久| 日韩一区中文字幕| 欧美日韩中文另类| 免费在线观看成人| 久久免费偷拍视频| 91年精品国产| 午夜精品福利一区二区蜜股av | 亚洲国产日韩在线一区模特| 欧美丰满少妇xxxbbb| 久久国产精品72免费观看| 精品免费一区二区三区| 成人性生交大片免费看在线播放| 亚洲视频在线一区观看| 欧美日本一道本在线视频| 久久精品国产一区二区三| 欧美精彩视频一区二区三区| 在线中文字幕一区二区| 理论片日本一区| 亚洲欧美日本韩国|