历史上的今天
返回首页

历史上的今天

今天是:2024年10月10日(星期四)

正在发生

2018年10月10日 | PIC单片机之PIC16F884

2018-10-10 来源:eefocus

buck电路


PIC单片机之PIC16F884 


这是一个降压电路,SW 在此处通入PWM ,进行降压的主要工作,Vout分压后,最高不超过芯片工作电压 (5V 也行 )输入到PIC AN1口,进行AD转换,


将转换的结果在1602上显示出来。如果电压不是想要的电压 程序便改变PWM的占空比,以达到需要的值。


主要环节在1602 的初始化 写数据 和写指令 以及 PIC的AD启动工作模块,程序如下


#include


__CONFIG(0x201A);


#define uint unsigned int


#define uchar unsigned char


#define rs RC4 //数据命令


#define en RC5 // 使能端


#define DATA PORTD //数据口


//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位数据通过P0口传给1602


delay(2);


en = 1;


delay(2);


en = 0;


}


void lcd_wdat(uchar dat)


{


rs = 1;


en = 0;


DATA= dat;//将8位数据通过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位数据


lcd_wcmd(0x0c); //显示开,关光标


lcd_wcmd(0x06); //移动光标


lcd_wcmd(0x01); //清除LCD的显示内容


}


void pwm_init()


{


TRISC1=1; //CCP2 OUTPUT DISABLE


PR2=0XFF;


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


CCPR2L=0X3F; //CCPR2L:CCP2CON


//0X3F 25%


TMR2IF=0;


T2CON=0X05; //启动定时器2 预分频比是1:4


while(TMR2IF)


{


TMR2IF=0;


TRISC1=0;


}


}


void adc_init()


{


ADCON0=0X45;// f/2的频率 AN1通道 AD转换完成 禁止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=temp0/10;


a3=temp0;


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; //设置显示位置为第一行的第5个字符


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


{ //显示字符"welcome!"


lcd_wdat(dis1[i]);


i ;


}


lcd_wcmd(0x80 0X40);


i=0; //设置显示位置为第一行的第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的调节还没完善 不过这也不是很大难度了


推荐阅读

史海拾趣

GSN Electronics公司的发展小趣事

GSN Electronics公司在电子行业中的发展可以追溯到多个方面,以下是五个关于其发展的故事,每个故事均基于事实进行描述:

1. 创立与初期发展

故事背景:GSN Electronics(深圳)有限公司成立于2012年11月27日,由GSN Electronics (Hong Kong) Limited全资控股,注册资本为100万元人民币,后增至当前规模。公司自成立以来,便专注于电子连接器和线束的生产经营,以及电子产品和电子零件的研发、批发、进出口及相关配套业务。初期,GSN Electronics凭借其专业技术和敏锐的市场洞察力,在深圳这一中国重要的电子产业聚集地迅速站稳脚跟。

发展亮点:公司通过不断优化产品结构和提升技术实力,逐步在电子行业中建立了自己的品牌影响力。

2. 技术创新与专利积累

故事背景:GSN Electronics深知技术创新是企业发展的核心驱动力。因此,公司不断加大研发投入,致力于新产品的开发和旧产品的升级换代。截至目前,公司已获得多项实用新型专利授权,如耐折弯的微型连接器、方便插入的电连接器、端口防水防尘结构的连接器等,这些专利技术的应用极大地提升了产品的竞争力和市场占有率。

发展亮点:技术创新和专利积累不仅巩固了GSN Electronics在电子连接器领域的领先地位,还为其拓展新市场、开发新客户提供了有力支持。

3. 市场拓展与国际认证

故事背景:随着公司实力的不断增强,GSN Electronics开始积极拓展国内外市场。公司通过参加各类行业展会、建立海外销售网络等方式,不断提升品牌知名度和市场占有率。同时,公司还积极申请并获得了多项国际认证,如IATF 16949和ISO 9001等,这些认证不仅证明了公司的产品质量和管理水平达到了国际标准,还为其进入高端市场提供了有力保障。

发展亮点:市场拓展和国际认证的成功实施,使GSN Electronics在电子行业中树立了良好的企业形象和品牌形象。

4. 团队建设与企业文化

故事背景:GSN Electronics深知人才是企业发展的根本。因此,公司一直注重团队建设和企业文化建设。公司拥有一支高素质的研发团队和销售团队,他们不仅具备丰富的专业知识和实践经验,还具备强烈的创新意识和团队精神。同时,公司还积极营造开放、包容、创新的企业文化氛围,鼓励员工勇于尝试、敢于创新。

成都芯进(CrossChip)公司的发展小趣事

2023年6月,成都芯进电子宣布完成超1亿元A轮融资。这一轮融资的成功,不仅为公司的发展提供了充足的资金保障,也吸引了更多知名产业机构和投资基金的关注。公司借此机会扩大了研发团队和生产规模,进一步提升了产品的研发和生产能力。

贝特莱公司的发展小趣事

贝特莱在电子行业中以其创新产品而闻名。例如,作为国内首家推出生物传感技术的厂商,其研发的BL1860心率心电芯片在智能可穿戴设备市场占据了重要地位。此外,贝特莱还推出了国内首款无袖带血压监测方案,这些创新产品的推出无疑引爆了智能可穿戴设备市场的热点,也为贝特莱带来了可观的市场份额。

FILTRONIC公司的发展小趣事

在快速发展的同时,FILTRONIC始终将品质管理和客户服务放在首位。公司建立了完善的质量管理体系和客户服务体系,从原材料采购、生产制造到产品检测、售后服务等各个环节都严格把关。同时,FILTRONIC还积极倾听客户需求,不断优化产品和服务,以满足客户不断变化的需求。这些努力使得FILTRONIC在客户中树立了良好的口碑和品牌形象。

长运通(CYT)公司的发展小趣事

长运通注重与高校和研究机构的合作,积极引进和培养人才。公司与电子科技大学、西安电子科技大学等知名高校建立了紧密的合作关系,共同开展技术研发和人才培养。通过与高校的合作,长运通不仅获得了更多的技术资源支持,也为公司培养了一批高素质的研发人才。这些人才为公司的发展提供了强有力的支撑。

艾迪沃德公司的发展小趣事
尽量使用稳定的交流电源供电,避免电压波动过大对电源电路造成冲击。

问答坊 | AI 解惑

如何打造行业领军企业

效益是企业赖以生存的前提,创新是企业发展的动力,创新活动,是市场拉动和技术推动两者的汇聚点。在过去的计划经济时代,重庆川仪和当时很多国营企业一样,技术开发严重脱离市场、脱离生产,看似研发成果不断,但真正形成产品并赚回真金白银的却不 ...…

查看全部问答>

关于6410访问SPI总线的问题,请高手指教

小弟把三星的SPI总线驱动编译进了内核,(开发板提供了源码但是没有加入内核)。然后用WriteFile函数发送测试数据,可以看到SPI口输出正常,但是用ReadFile读取SPI口时,一直读回0. SPI的读取时序如下图,我先用 WriteFile(hSPI, &cBuffer_out, 1, ...…

查看全部问答>

哈哈 今天的第一帖又是我发的!~

哈哈 今天的第一帖又是我发的!~…

查看全部问答>

LM3S8962学习(二) -- 按键与中断

读按键的值,可以通过函数GPIOPinRead来完成   如何实现中断呢?主要有以下几个步骤需要做   1. 先定义一个LED和一个KEY #define LED GPIO_PIN_0#define KEY GPIO_PIN_0   2. 在startup_rvmdk.S 文件中增加PORT_E的中断服务 ...…

查看全部问答>

【求助】请帮忙选个MOS管做开关管

要求条件是:通过电压为5V电流最大值是2A,有着方面得经验得DX帮忙啊!!!! 先谢谢了啊!!!! 把你们经常用的型号告诉我好吗???…

查看全部问答>

我的车库门摇控器上的LSD2262 芯片坏了...

请问贵网站的LSD2262 芯片能替换上去吗..!!!直接取下焊上就能用吗!!!先谢谢!!!我是菜鸟…

查看全部问答>

求救8962的硬件spi问题

我用8962的spi去驱动12864,为什么无论怎么配置都无法驱动成功啊,屏幕总是出雪花,一般这种情况我认为是传输太快造成的,有高手 驱动成功过吗??求教!…

查看全部问答>

如何在ccs软件仿真上实现语音的的处理,

我做的是IMBE语音编码算法的移植,IMBE主程序已经编译通过 且运行正常 现在要做的就是来一段语音 模拟编码和解码一下 看看合成出的语音质量 还有编码速率。请问 我们老师说要下载一个wavread.c文件 来读入语音  可是 要怎么实现读入语音程序和 ...…

查看全部问答>

人人都爱易电源——转发有礼!

人人都爱易电源——转发有礼! 活动主题:人人都爱易电源——转发有礼!活动时间:10月11日—28日 活动链接:https://bbs.eeworld.com.cn/thread-352431-1-1.html…

查看全部问答>

学习很累!

哎,研究生生活马上过去一半了,回望着一年确实学到了不少东西,感觉自己能力提高了些许,但是还是很多细节的方面需要加强,继续努力,加油!…

查看全部问答>