国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> PIC單片機之PIC16F884

PIC單片機之PIC16F884

關(guān)鍵字:PIC16F884 PIC單片機 作者:admin 來源:不詳 發(fā)布時間:2018-05-18  瀏覽:19

buck電路

buck電路圖

這是一個降壓電路,SW 在此處通入PWM ,進行降壓的主要工作,Vout分壓后,最高不超過芯片工作電壓 (5V 也行 )輸入到PIC AN1口,進行AD轉(zhuǎn)換,

將轉(zhuǎn)換的結(jié)果在1602上顯示出來。如果電壓不是想要的電壓 程序便改變PWM的占空比,以達(dá)到需要的值。

主要環(huán)節(jié)在1602 的初始化 寫數(shù)據(jù) 和寫指令 以及 PIC的AD啟動工作模塊,程序如下 

#include<htc.h>

__CONFIG(0x201A);

#define uint unsigned int

#define uchar unsigned char

#define rs RC4   //數(shù)據(jù)命令

#define en RC5   // 使能端

#define DATA PORTD    //數(shù)據(jù)口

//RC1 作為PWM輸出口

const uchar dis1[]="The voltage is:";  //asm("nop");

const uchar dis2[]="      . V";

void delay(uchar time)    //1ms

{

 uint j;

 for(time;time>0;time--)

 for(j=160;j>0;j--);

}

void lcd_wcmd(uchar cmd)

{

 rs = 0;

 en = 0;

 DATA = cmd;//將8位數(shù)據(jù)通過P0口傳給1602 

 delay(2);

 en = 1;

 delay(2);

 en = 0; 

}

 

void lcd_wdat(uchar dat)

{

 rs = 1;

 en = 0;

 DATA= dat;//將8位數(shù)據(jù)通過P0口傳給1602 

 delay(2);

 en = 1;

 delay(2);

 en = 0; 

}

void lcd_init()

{

 TRISC=0Xcf;  //1100 1111   

 TRISD=0X00; 

 lcd_wcmd(0x38);   ////16*2顯示,5*7點陣,8位數(shù)據(jù)

 lcd_wcmd(0x0c);   //顯示開,關(guān)光標(biāo)

 lcd_wcmd(0x06);   //移動光標(biāo)

 lcd_wcmd(0x01);   //清除LCD的顯示內(nèi)容

}

void pwm_init()

{

 TRISC1=1;   //CCP2 OUTPUT DISABLE 

 PR2=0XFF;

 CCP2CON=0X3C;  //0011(CCPR1L后兩位))1100 11XX  PWM MODE 

 CCPR2L=0X3F;    //CCPR2L:CCP2CON<5:4>/4(PR2+1)PULSE WIDTH

     //0X3F  25%

 TMR2IF=0; 

 T2CON=0X05;    //啟動定時器2 預(yù)分頻比是1:4

 while(TMR2IF)

 {

  TMR2IF=0;

  TRISC1=0;

 } 

}

void adc_init()

{

 ADCON0=0X45;// f/2的頻率  AN1通道 AD轉(zhuǎn)換完成 禁止ADC

 ADCON1=0X80;  //右對齊 參考電壓 VSS VDD

 TRISA=0X01;   //輸入

 delay(5);

}

void deal_ad()

{

 uint temp;

 uint ad_sample;

 uint result;

 uchar a1,a2,a3;

 GO_DONE=1;

 while(GO_DONE);

 ad_sample=ADRESL+(ADRESH<<8);

 result=(ad_sample*500)>>10;  //參考電壓5V 擴大了100倍

 temp=result;

 a1=temp/100;

 a2=temp%100/10;

 a3=temp%100%10;

 if(a1!=0)

 {

  lcd_wcmd(0x80+0x44);

  lcd_wdat(a1+0x30);

 }

 lcd_wcmd(0x80+0x45);

 lcd_wdat(a2+0x30);

 lcd_wcmd(0x80+0x47);

 lcd_wdat(a3+0x30);

}

void lcd_dis()

{

 uchar i;

 lcd_wcmd(0x80); 

 i=0;   //設(shè)置顯示位置為第一行的第5個字符

 while(dis1[i]!='\0') 

 {      //顯示字符"welcome!"

  lcd_wdat(dis1[i]);

  i++;

 } 

 lcd_wcmd(0x80+0X40); 

 i=0;   //設(shè)置顯示位置為第一行的第5個字符

 while(dis2[i]!='\0') 

 {      //顯示字符"welcome!"

  lcd_wdat(dis2[i]); 

  i++;

 }

}

void main()

{

 delay(10);

 lcd_init();    //初始化LCD  只要寫起始地址就 就行了啊   

 adc_init(); 

 while(1) 

 {

  lcd_dis();

  deal_ad();

 }

// pwm_init();

 while(1);

}

不是很完美,僅供參考。PWM的調(diào)節(jié)還沒完善 不過這也不是很大難度了

編輯:admin  最后修改時間:2019-10-12

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

久久99这里只精品热在线| 久久热在线视频免费观看| 亚洲国产另类久久精品| 欧美黑人暴力猛交精品| 天堂网中文字幕在线观看| 不卡在线播放一区二区三区| 亚洲欧美精品伊人久久| 国产精品欧美日韩中文字幕| 亚洲国产成人爱av在线播放下载| 久久国内午夜福利直播| 午夜成年人黄片免费观看| 国产午夜精品美女露脸视频| 一区二区在线激情视频| 日韩精品区欧美在线一区| 中文字字幕在线中文乱码二区| 日韩欧美91在线视频| 蜜桃臀欧美日韩国产精品| 亚洲欧美日韩国产综合在线| 国产精品一区欧美二区| 欧美精品亚洲精品日韩专区| 中文字幕禁断介一区二区| 国产亚洲欧美日韩国亚语| 日本丰满大奶熟女一区二区| 欧美日韩最近中国黄片| 激情中文字幕在线观看| 久久国产人妻一区二区免费| 欧美日韩在线第一页日韩| 精品推荐久久久国产av| 日韩黄色大片免费在线| 日韩一区二区三区观看| 一区二区三区国产日韩| 中文字幕精品一区二区三| 一区二区三区四区亚洲另类| 免费人妻精品一区二区三区久久久| 亚洲一区二区三区在线免费| 精品少妇一区二区三区四区| 日本东京热加勒比一区二区| 粉嫩内射av一区二区| 国产精品白丝久久av| 深夜福利亚洲高清性感| 国产一区欧美一区日韩一区|