freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

簡易電能質(zhì)量檢測裝置設(shè)計方案-資料下載頁

2025-05-06 01:20本頁面
  

【正文】 ************/void OSCILLATOR_Init (void){ CLKMUL = 0x80。 for (i = 0。 i 20。 i++)。 // Wait 5us for initialization CLKMUL |= 0xC0。 while ((CLKMUL amp。 0x20) == 0)。 CLKSEL = 0x03。}/********************************************************************* IO口初始化函數(shù)********************************************************************/void PORT_Init (void){ P4MDOUT = 0xff。 P1MDIN |= 0xdf。 //對應(yīng)外部基準輸入引腳配置為模擬輸入 P1MDOUT = 0x00。 //默認不設(shè)置 P2MDIN |= 0xbf。 //對應(yīng)外部模擬電壓輸入引腳配置為模擬輸入 P2MDOUT = 0x00。 //默認不設(shè)置 P1SKIP = 0x20。 //交叉開關(guān)跳過模擬輸入引腳 P2SKIP = 0x40。 //交叉開關(guān)跳過模擬輸入引腳 XBR0 = 0x00。 //各功能不連到端口引腳 XBR1 = 0x40。 //交叉開關(guān)使能}/********************************************************************* AD初始化函數(shù)********************************************************************/void ADC_Init (void){ REF0CN = 0x06。 //使用外部ref電壓基準 AMX0P = 0x05。 //AD正輸入通道() AMX0N = 0x1f。 //AD負輸入通道(GND,單端方式) ADC0CF=(SYSCLK/ADC_CLK1)3。 //ADC轉(zhuǎn)換時鐘右對齊 ADC0CN = 0x00。}/********************************************************************* AD使能函數(shù)********************************************************************/void ADC_Enable(void){ AD0EN = 1。}/*********************************************************************定時器2初始化函數(shù)********************************************************************/void timer2_Init(){ CKCON |=0x30。 //定時器 2 高低字節(jié)使用系統(tǒng)時鐘 TMR2CN=0x00。 //定時器 2 工作在 16 位自動重裝載方式 //TMR2H=0xFA。 //TMR2L=0x90。 //TMR2RLH=0xFA。 //定時器重載寄存器 定時50ms //TMR2RLL=0x90。 //ECP0=1。 //EIE1 |=0x20。 //比較器0中斷使能 //EIE1 |=0x40。 //比較器1中斷使能 ET2=1。 //開定時器2中斷 EA=1。 //TR2=1。 //啟動定時器 IP |=0X20。 //T2定時器高優(yōu)先級}//定時器0初始化函數(shù)void Timer0_Init(void){ TMOD = 0x01。 // Timer0 in 16bit mode CKCON |= 0x02。 // Timer0 uses a 1:48 prescaler 1M}//定時器1初始化函數(shù)void Timer1_Init(void){ TMOD |= 0x10。 // Timer0 in 16bit mode CKCON |= 0x02。 // Timer0 uses a 1:48 prescaler 1M}/********************************************************************* 定時器2中斷函數(shù)*********************************************************************/void timer2() interrupt 5{ TF2H=0。 //清溢出標志位 AD0INT = 0。 //清除中斷標志 if (counter1==129) { ET2=0。 TR2=0。 adfin_flag=1。 counter0=0。 counter1=0。 } if (flag==1) { AD0BUSY = 1。 //開始轉(zhuǎn)換 while(!AD0INT)。 // 等待轉(zhuǎn)換完成 AD0INT = 0。 // 清除中斷標志、 ad_v1[counter1] = (unsigned int)ADC0H*256 + ADC0L。 // 讀取并計算AD值 counter1++。 AMX0P = 0x01。 Delay_us(2)。 } if (flag==0) { AD0BUSY = 1。 //開始轉(zhuǎn)換 while(!AD0INT)。 // 等待轉(zhuǎn)換完成 AD0INT = 0。 // 清除中斷標志、 ad_v0[counter0] = (unsigned int)ADC0H*256 + ADC0L。 // 讀取并計算AD值 counter0++。 if (counter0==129) { counter0=0。 } AMX0P = 0x00。 Delay_us(2)。 } flag=!flag。}void Ext_Interrupt_Init (void){ TCON |= 0x05。 // /INT 0 and /INT 1 are edge triggered //IT01CF = 0x10。 // 低跳變有效 IT01CF=0x9d。 EX0 = 1。 // Enable /INT0 interrupts //EX1 = 1。}void int0() interrupt 0{ TR0=0。 if (int0flag==0) { //IT01CF = 0x10。 if(time_get_flag==1) { ET2=1。 //開定時器2中斷 TR2=1。 //啟動定時器 time_get_flag=0。 } //IT01CF = 0x98。 IT01CF=0x95。 TR0=1。 //定時器開啟 time0=TH0*256+TL0。 } else { //IT01CF = 0x10。 IT01CF=0x9d。 time1=TH0*256+TL0。 // 讀取相位差 time=time0+time1。 timeflag=1。 //TR0=0。 //EX0=0。 } int0flag=!int0flag。 TH0=0x00。 TL0=0x00。 TR0=1。}29
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1