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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? laowai.c

?? 采樣法生成三相SPWM波的開環調速控制程序載波頻率為20KHz
?? C
字號:
***************************************************************************** 
* Filename: MAIN.C 
****************************************************************************** 
* 
* Author: Dave Karipides 
* Company: APS, Inc. 
* Date: 3-3-97 
* Compiled Using MPLAB-C Rev 1.21 
* 
****************************************************************************** 

****************************************************************************** 
* 
* Description: The main routine calls all the functions for generating 
* an OPEN_LOOP or FEEDBACK sine wave of either 50 or 60 Hz. 
* 
****************************************************************************** 
* 

* 
* 
******************************************************************************/ 

/***************************************************************************** 
* main() 
* 
* Description: The main routine initializes the registers and loops 
* forever.  All control is handled in the TMR0 INT 
* routine. 
* 
* 
* Input Variables: NONE 
* 
* Output Variables: NONE 
* 
* 
******************************************************************************/ 

//#define OPEN_LOOP 
#define FEEDBACK 
//#define 50Hz 
#define 60Hz 

#pragma option v 
#include <17c43.h> 
#include 
#include 

#ifdef OPEN_LOOP 
// This table yields Full VRMS input 
unsigned char const pwmtab[32]={0,25,50,74,98,120,142,162,180,197,212, 
225,235,244,250,254,255,254,250,244,235, 
225,212,197,180,162,142,120,98,74,50,25}; 
#endif 
#ifdef FEEDBACK 
// This table yields slightly less than Full VRMS input 
unsigned char const pwmtab[32]={0,20,40,60,79,97,114,131,145,159,171, 
181,189,197,202,205,206,205,202,197,189, 
181,171,159,145,131,114,97,79,60,40,20}; 
#endif 

long read_ad(unsigned char); // Prototype for A/D converter function 

unsigned char index; // Index into the sinewave reference table 
unsigned char sign; // Flag used to unfold sinewave reference table 
long reference; // Value of the sinewave refrence after unfolding 
unsigned char reference_lo  @ reference; // V1.21 of Compiler does not type cast unsigned 
// char to long so we will write to low byte separately 
long out_volt; // Magnitude of the output voltage; 
long y; // Variables used in compensation routine 
long yold; 
long x; 
long xold; 
long ad_value; // A/D Converter Value 

void main(void) 
{ 
CLRWDT(); 
PORTC = 0; // Zero out portc latches 
DDRC = 0x22; // Set up Data direction register for C 
DDRB = 0; // Set up Data direction register for B 
PR1 = 0xFF; // Setup PR1 register (24.4Khz @ 25Mhz clk) 
PW1DCL = 0; // Set low bits of PWM to 0 
PW1DCH = 0; // Init PWM duty cycle to 0 

T0STA = 0x20; // Configure Timer0 prescaler 
INTSTA.T0IE = 1; // Enable Timer 0 interrupt 
TCON1.TMR1CS = 0; 
TCON1.T16 = 0; 
TCON2.TMR1ON = 1; // Start timer 1 (PWM timer) 
TCON2.PWM1ON = 1; // Turn on the PWM 
CPUSTA.GLINTD = 0; // Unmask the interrupts 

index = 0; // Initialize variables 
sign = 0; 
y = 0; 
yold = 0; 
x = 0; 
xold = 0; 
PORTC.0 = 1; // Enable the Inverter 
while(1); // Loop forever, execute in INT Routine 
} 

#ifdef FEEDBACK 
__TMR0() // Timer  interrupt 
{ 
T0STA.T0CS = 0; // Stop timer 
PORTB.7=1; 
#ifdef 60Hz 
TMR0L=0xA5; 
TMR0H=0xF9; // Make Timer0 interrupt at 3.84KHz for 60Hz output 
#endif 
#ifdef 50Hz 
TMR0L=0x5F; // Make Timer0 interrupt at 3.20KHz for 50Hz output 
TMR0H=0xF8; 
#endif 
T0STA.T0CS = 1; // Start timer 
CLRWDT(); 

reference = 0; // Clear Reference Value 
reference_lo = pwmtab[index]; // Lookup the value of the sinewave reference 

if (!index) // Toggle Sign Every Cycle Through table 
sign = ~sign; 
++index; // Increment index 
if (index == 32) // If end of table, reset counter 
index = 0; 
if (sign) // If negative going wave 
{ 
reference = ~reference; // V1.21 of Compiler negate (-ref) doesn't work for 
reference = reference + 1;// ref<=0 
} 
ad_value = read_ad(0); 
out_volt = ad_value - 512; // Read output voltage (512 counts=0 volts out) 

// Form the expression y = yold + (0.09261 * (x + xold)) 
// Where yold, xold is the value of y, x from the previous sample 
// x is the , formed by the difference between the output 
// of the inverter and the reference signal. 
x = out_volt - reference; 
y = ((x + xold) * 24); 
y = y / 256; 
y = y + yold; 
if (y >= 0) 
{ 
PORTC.2 = 0; // Set positive going cycle 
} else 
{ 
PORTC.2 = 1; // Set negative going cycle 
y = ~y; 
y = y + 1; 
} 
if (y > 255) 
y = 255; // Limit y 
PW1DCH = y; // Update duty cycle 
xold = x; // Store previous sample's state 
yold = y; 
PORTB.7=0; 
} 
#endif 

#ifdef OPEN_LOOP 
// The inverter runs in an open loop mode with OPEN_LOOP defined. 
__TMR0() // Timer interrupt 
{ 
T0STA.T0CS = 0; // Stop timer 
#ifdef 60Hz 
TMR0L=0xA5; 
TMR0H=0xF9; //Make Timer0 interrupt at 3.84KHz for 60Hz output 
#endif 
#ifdef 50Hz 
TMR0L=0x5F; //Make Timer0 interrupt at 3.20KHz for 50Hz output 
TMR0H=0xF8; 
#endif 
T0STA.T0CS=1; //Start timer 
CLRWDT(); 

PW1DCH = pwmtab[index]; 
if (!index) 
{ 
PORTC.0 = 0; // Gate Drive off 
PORTC.2 = ~PORTC.2; // Flip Pos/Neg bit 
PORTC.0 = 1; // Gate Drive on 
} 
++index; 
if (index == 32) 
index = 0; 
PORTC.3 = ~PORTC.3; // Toggle bit to test freq. 
} 
#endif 

long read_ad(unsigned char channel) 
{ 
long result; 

PORTC.6 = 1; // Write bit high 
PORTC.7 = 1; // Read bit high 
PORTC.4 = 1; // Chip select high 
DDRD = 0; // Make PORTD an output 
PORTD = 0x04; // Single ended mode signed 10 bit chan 0 Right justified 
PORTC.4 = 0; // Select chip 
PORTC.6 = 0; // latch command word int A/D 
PORTC.6 = 1; // Start conversion 
PORTC.4 = 1; // Deselect chip 
while (PORTC.5); // Wait for conversion to complete 
DDRD = 0xFF; // Make PORTD an input 
PORTC.4 = 0; // Select chip 
PORTC.7 = 0; // Read high byte 
*( ((unsigned char*)&result) + 1) = PORTD; 
PORTC.7 = 1; 
PORTC.4 = 1; 
PORTC.4 = 0; 
PORTC.7 = 0; // Read low byte 
*( ((unsigned char*)&result) ) = PORTD; 
PORTC.7 = 1; 
PORTC.4 = 1; // Reset chip select lines 
return (result); // Return data 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精选在线观看| 欧美美女bb生活片| 精品一区二区久久久| 天天免费综合色| 五月婷婷激情综合网| 亚洲国产精品欧美一二99| 亚洲午夜免费视频| 日韩不卡手机在线v区| 精品在线亚洲视频| 国产69精品久久久久毛片| 国产成人综合亚洲网站| 成人一区二区三区在线观看| 国产精品白丝jk白祙喷水网站| 国产精品一级在线| 99精品久久99久久久久| 一本高清dvd不卡在线观看| 91黄色小视频| 日韩免费成人网| 中文字幕不卡在线观看| 亚洲制服丝袜av| 国精产品一区一区三区mba视频 | 99久久99精品久久久久久| 色综合色综合色综合色综合色综合 | 亚洲乱码日产精品bd| 亚洲国产精品麻豆| 国产一区二区在线视频| av欧美精品.com| 3atv在线一区二区三区| 国产亚洲成av人在线观看导航| 国产精品乱码一区二区三区软件| 亚洲男人的天堂一区二区| 日韩国产欧美在线播放| 成人免费毛片aaaaa**| 在线精品视频免费播放| 精品福利av导航| 夜夜嗨av一区二区三区中文字幕 | 国产一区二区不卡老阿姨| 96av麻豆蜜桃一区二区| 日韩美女在线视频| 亚洲视频一区二区在线观看| 久久99精品视频| 欧美性一二三区| 国产亚洲成av人在线观看导航| 亚洲高清视频在线| 国产福利一区在线| 欧美一区二区二区| 亚洲综合色视频| 成人黄页毛片网站| 久久久久久久免费视频了| 五月天亚洲婷婷| 99国产麻豆精品| 国产精品日产欧美久久久久| 老司机午夜精品| 欧美日韩一区二区不卡| 最新热久久免费视频| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩一级二级三级| 亚洲男同性视频| av成人动漫在线观看| 日本一区二区三区四区| 韩国女主播成人在线观看| 欧美日韩高清在线播放| 夜夜精品浪潮av一区二区三区| www.欧美.com| 国产精品婷婷午夜在线观看| 国产成人亚洲综合a∨婷婷图片| 日韩一区二区三区视频在线| 香蕉久久夜色精品国产使用方法| 91免费国产在线| 国产精品国产精品国产专区不蜜| 国产宾馆实践打屁股91| 国产亚洲欧美在线| 北条麻妃一区二区三区| 国产精品美女一区二区三区| 成人一二三区视频| 国产精品蜜臀在线观看| av电影在线不卡| 亚洲欧美综合色| 在线看国产日韩| 丝袜a∨在线一区二区三区不卡| 欧美人xxxx| 日韩高清欧美激情| 欧美大片在线观看| 国产精品一区二区在线观看网站| 久久综合九色综合久久久精品综合 | 欧美主播一区二区三区| 亚洲一区二区综合| 欧美私模裸体表演在线观看| 一个色综合av| 精品乱码亚洲一区二区不卡| 国产一区二区免费视频| 综合久久国产九一剧情麻豆| 色综合久久综合| 婷婷六月综合亚洲| 久久久久久夜精品精品免费| 99这里只有久久精品视频| 一区二区三区在线播| 日韩午夜电影av| 成人激情动漫在线观看| 亚洲一区在线免费观看| 精品国产污污免费网站入口 | 欧美日韩色综合| 久久精品免费看| 日韩美女啊v在线免费观看| 在线视频中文字幕一区二区| 美国欧美日韩国产在线播放| 国产精品毛片大码女人| 日韩一级免费观看| 成人av第一页| 麻豆国产欧美日韩综合精品二区 | 亚洲亚洲精品在线观看| 久久综合狠狠综合久久激情 | www.亚洲精品| 美国av一区二区| 亚洲男人的天堂在线aⅴ视频| 欧美一级欧美三级| 91蜜桃在线免费视频| 紧缚奴在线一区二区三区| 亚洲国产日韩a在线播放性色| 久久这里都是精品| 欧美在线你懂的| 国产成人综合亚洲网站| 日韩va亚洲va欧美va久久| 国产精品久久久久影院色老大| 欧美精品日日鲁夜夜添| 欧美色网站导航| 成人av先锋影音| 国模大尺度一区二区三区| 日韩激情一二三区| 又紧又大又爽精品一区二区| 中文字幕国产一区二区| 日韩欧美国产综合| 91精品在线观看入口| 精品视频123区在线观看| 波多野结衣中文字幕一区二区三区| 亚洲一区二区在线观看视频| 中文在线一区二区 | 不卡的电视剧免费网站有什么| 麻豆国产欧美日韩综合精品二区| 一区二区三区在线免费播放 | 欧美一级免费观看| 欧美日韩你懂得| 欧美天堂亚洲电影院在线播放| 国产91精品在线观看| 国产美女av一区二区三区| 免费在线观看一区| 日本午夜精品视频在线观看 | 久久久亚洲精品石原莉奈| 日韩女优av电影在线观看| 91精品国产色综合久久久蜜香臀| 在线视频一区二区三| 欧美性生交片4| 欧美精品第1页| 91国偷自产一区二区三区观看| 99久久精品免费看国产免费软件| 国产精品亚洲视频| 成人免费视频免费观看| 99久久精品免费精品国产| 91蜜桃网址入口| 欧美色综合影院| 日韩美女视频在线| 久久久久99精品国产片| 国产精品久久久久久久午夜片| 国产精品国产三级国产aⅴ中文| 国产精品第13页| 亚洲一二三四区不卡| 日本一区中文字幕| 国产精品影音先锋| 成人av网站免费| 欧美亚洲另类激情小说| 欧美丰满少妇xxxxx高潮对白 | 国产欧美一区二区精品婷婷| 国产女主播视频一区二区| 亚洲三级在线观看| 视频一区欧美精品| 国产激情视频一区二区在线观看| 成人av免费网站| 制服.丝袜.亚洲.中文.综合| 久久中文娱乐网| 一区二区三区在线影院| 久久狠狠亚洲综合| 99精品久久只有精品| 日韩午夜电影在线观看| 一区二区中文视频| 麻豆国产精品一区二区三区| 成人av免费在线| 日韩欧美视频在线| 亚洲欧洲精品一区二区三区不卡| 日韩综合一区二区| 国产98色在线|日韩| 欧美猛男男办公室激情| 中文字幕欧美国产| 久久精品二区亚洲w码| 91久久奴性调教| 国产欧美日韩另类视频免费观看| 一级日本不卡的影视| 成人午夜私人影院| 欧美成人a∨高清免费观看| 亚洲另类中文字| av动漫一区二区|