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

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

?? laowai.c

?? DSP2812實現SPWM的源程序代碼 DSP2812實現SPWM的源程序代碼
?? 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一区二区三区免费野_久草精品视频
欧美色大人视频| 久久精品国产精品亚洲综合| 美腿丝袜亚洲色图| 日韩精品一区二区三区在线观看| 久久成人精品无人区| 午夜精品久久久久久久99水蜜桃| 欧美一区二区三区在线看| 激情综合色综合久久| 中文字幕+乱码+中文字幕一区| 成人一区在线看| 亚洲精品欧美激情| 欧美一级二级三级蜜桃| 成人综合在线观看| 成人午夜精品在线| 91视频观看视频| 免费成人深夜小野草| 中文字幕国产一区| 国产精品久久国产精麻豆99网站| 欧美视频完全免费看| 极品美女销魂一区二区三区| 蓝色福利精品导航| 成人永久aaa| 欧美系列在线观看| 777亚洲妇女| 91久久免费观看| 国产传媒久久文化传媒| 亚洲成人黄色小说| 国产精品不卡在线| 亚洲国产精品久久人人爱蜜臀| 久久女同性恋中文字幕| 欧美色国产精品| 精品欧美一区二区在线观看| 欧美综合欧美视频| 91色.com| 欧美一区二区三区在线观看视频| 中文字幕免费不卡| 视频在线观看91| 日韩中文字幕麻豆| 国产成人精品免费| 3d动漫精品啪啪| 中文字幕制服丝袜一区二区三区| 午夜精品福利在线| www.日韩av| 99久久国产综合精品麻豆| 国产v综合v亚洲欧| 国产一区二三区| 精品亚洲国内自在自线福利| 99免费精品视频| 精品国内二区三区| 久久嫩草精品久久久精品| 一区二区在线看| 国产精品1024| 7777精品伊人久久久大香线蕉的 | 色综合久久中文综合久久97 | 久久精品国产精品亚洲综合| 99久久精品国产一区| 久久婷婷国产综合国色天香| 精品电影一区二区三区| 亚洲在线观看免费视频| 偷拍亚洲欧洲综合| 在线这里只有精品| 国产精品不卡在线| a在线欧美一区| 国产欧美精品日韩区二区麻豆天美| 久久亚洲一区二区三区明星换脸| 亚洲.国产.中文慕字在线| www.久久精品| 国产精品视频你懂的| 亚洲色图欧美在线| 午夜视频在线观看一区二区三区| 99精品国产91久久久久久| 久久久亚洲精品石原莉奈| 精品一区二区三区免费视频| 欧美一区二区三区免费视频| 午夜久久久影院| 欧美日韩成人高清| 久久丝袜美腿综合| 国产一区二区不卡在线| 精品久久久久99| 免费看欧美女人艹b| 日韩欧美电影一区| 久草热8精品视频在线观看| 日韩美女一区二区三区四区| 青青草伊人久久| 精品国产一区久久| 精品一区二区三区日韩| 国产区在线观看成人精品| 成人午夜在线播放| 最新日韩av在线| 美日韩一区二区三区| 日韩一区二区免费视频| 久久99精品视频| 国产女主播在线一区二区| 99久久国产综合精品麻豆| 亚洲福中文字幕伊人影院| 欧美精品三级日韩久久| 国产精品午夜久久| 91网站在线播放| 五月婷婷色综合| 精品福利av导航| av午夜一区麻豆| 亚洲国产你懂的| 欧美精品一区男女天堂| 97精品国产露脸对白| 亚洲6080在线| 久久精品欧美一区二区三区麻豆| 日本欧美在线观看| 色悠悠久久综合| 日韩vs国产vs欧美| 中文字幕精品三区| 正在播放一区二区| 成人黄色一级视频| 国产欧美一区二区精品秋霞影院| 91在线国产福利| 男女男精品视频网| 亚洲人成网站在线| 一本大道久久a久久精二百| 日本女优在线视频一区二区 | 亚洲欧美二区三区| 在线播放/欧美激情| 成人黄色小视频在线观看| 日本色综合中文字幕| 综合在线观看色| 日韩欧美的一区二区| 91久久一区二区| 国产福利不卡视频| 美女在线视频一区| 亚洲一区二区三区四区中文字幕| 久久看人人爽人人| 91精品国产综合久久精品图片| 91女厕偷拍女厕偷拍高清| 国产麻豆一精品一av一免费 | 亚洲精品欧美专区| 国产欧美精品在线观看| 日韩欧美综合一区| 欧美三级一区二区| 97久久超碰国产精品| 成人在线视频首页| 国产精品一区二区无线| 中文字幕av一区 二区| 日韩欧美色电影| 日韩一级黄色大片| 欧美日韩成人在线| 欧美日韩国产一级二级| 在线看国产一区二区| 91啪亚洲精品| 色婷婷综合久久久中文字幕| 丁香啪啪综合成人亚洲小说 | 国产日韩欧美a| 久久男人中文字幕资源站| 日韩午夜小视频| 欧美zozozo| 精品少妇一区二区三区在线视频 | 国产亚洲福利社区一区| 久久中文字幕电影| 久久精品一级爱片| 久久伊人蜜桃av一区二区| 26uuu亚洲| 国产网红主播福利一区二区| 久久久久久久久久久久电影| 精品国产a毛片| 精品国产免费人成电影在线观看四季| 欧美一区二区三区视频在线| 精品国产免费久久| 久久天天做天天爱综合色| 国产欧美精品一区| 亚洲男同性视频| 亚洲自拍与偷拍| 日本一区中文字幕| 国产又黄又大久久| 成a人片国产精品| 在线视频综合导航| 91精品欧美综合在线观看最新 | 国产丝袜在线精品| 亚洲欧洲日韩av| 五月婷婷久久丁香| 国产美女视频91| 91在线播放网址| 欧美一级欧美三级| 国产欧美精品区一区二区三区| 亚洲精品一二三四区| 日本不卡一二三| 岛国一区二区三区| 欧美无人高清视频在线观看| 欧美成人精品高清在线播放| 国产精品理论片| 五月综合激情婷婷六月色窝| 国产91丝袜在线18| 日本道精品一区二区三区| 精品国产污网站| 悠悠色在线精品| 国产一区二区成人久久免费影院 | 337p日本欧洲亚洲大胆精品 | 国产精品1区2区3区| 在线观看日产精品| 久久一夜天堂av一区二区三区| 亚洲一线二线三线久久久| 国产激情一区二区三区桃花岛亚洲| 91成人网在线| 中文字幕欧美激情一区|