推荐阅读最新更新时间:2024-03-16 16:06
PIC16F877A单片机-AD转换经典C程序
#include htc.h #include math.h #define HC595_SER RB7 #define HC595_SCK RB6 #define HC595_RCK RB5 #define key_164_data RB3 #define key_164_clk RB2 #define key_com1 RB1 #define key_com0 RB0 #define TURE 1 bit key_finish; //定义位变量,这是PICmate仿真软件环境的特有的地方 unsign
[单片机]
PIC16F877A 的CCP使用
//************************************************************* // |-| |-| |-| // | | | | | | // __| |________| |_______|_|_____------ PWM1 // // |----| |----| |----| // | | | | | | // __| |_____| |____| |_------ PWM2 //本实验利用PIC单片机的CCP模块功能产生PWM功能,PWM的周期为: //(PR2+1)*4TOSC*(TMR2预分频值) //了解CCP模
[单片机]
PIC16F877A LED闪烁
知识重点: #define Setbit(y,x) y|=(1 (x)) //setb(p1,2); p12=1; #define Clrbit(y,x) y&=~(1 (x)) //clrb(p1,2); p12=0; #define Getbit(y,x) (0x01&(y (x))) //获取某一位值 *****************************/ #include pic.h #include ../head/config.h //包含自己的配置头文件 __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);//设置熔丝位 //HS振荡,禁止看门狗,低压编程关闭,启
[单片机]
基于PIC16F877A单片机设计的万年历程序
为了把KS0108系列的液晶吃透,特别制作了这款万年历,感觉效果还是不错的.希望大家分享我的喜悦,毕竟有了更多志同道合的朋友支持,我才能更进一步提高. 一,原理介绍 说明: 1.单片机还是采用PIC中最经典的PIC16F877A,端口多,功能全,特别是他有8K的ROM,这是我选择的主要原因,因为储存液晶的字库需要很大的空间. 2.液晶显示还是用的KS0108系列,主要是他性价比高,指令简单,特别是公司也在用. 3.时钟/日历芯片用的DALLOS的DS1302芯片,他可以储存从2000-2099年的日历,及实时时钟,可以方便的读写. 4.温度测量还是用的DS18B20,这在我上一实例中已经用过,有兴趣可以查阅. 5.本万年历可
[单片机]
基于单片机PIC16F877A的数控电流源设计
1 引言
电源技术尤其是数控电源技术是一门实践性很强的工程技术,涉及了电气、电子、系统集成、控制理论、材料等诸多学科领域。计算机和通讯技术的发展,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。普通电源由于精确度不高等缺点已不能满足现实的需要。直到单片机技术及电压转换模块的出现,才使精确数控电源的发展有了可能。本文所设计的数控电流源采用PIC16F877A单片机为核心部件,键盘、显示、D/A、开关电源等模块为外围电路。
2 设计要求和总体设计思路
2.1 设计要求
本设计要求:输入220V,输出最高12V;通过键盘控制输出电流,步长为0.01A;采用LED显示输出电流,精度为0
[单片机]
PIC16F877A的timer
----------------------------------------------------------timer 0---------------------------------------------------------- TMR0为8位宽,有一个可选的预分频器,用于通用目的,可用于定时和计数。 TMR1为16位宽,附带一个可编程的预分频器和一个可选的低频时基振荡器,适合与CPP模块配合使用来实现输入捕扣或输出比较功能,也可于定时和计数。 TMR2为8位宽,附带一个配合使用来实现PWM脉冲宽度调制信号的产生,只能用于定时。 TMR0用作定时器时,定时器时钟=系统时钟/4; 写TMR
[单片机]
PIC单片机与串行闪存的SPI接口设计
引 言 PIC单片机以性能稳定、品种众多等特点在工业控制、仪器仪表、家电、通信等领域得到广泛应用。虽然很多型号自身集成了存储器,但在很多情况下难以满足系统对大容量存储的要求,需要外扩非易失性的存储器。与并行Flash存储器相比,串行Flash存储器占用MCU引脚少,体积小,易于扩展,接线简单,工作可靠,故而越来越多地应用在各类电子产品和工业测控系统中。本文主要讨论PIC16F877A单片机与串行闪存M25P16之间的SPI通信,在要求大容量数据存储且MCU引脚资源有限的情况下具有实用价值。 1 SPI工作原理 SPI(Serial Peripheral Interface)是一种常用的串行通信协议
[单片机]
PIC16F877A单片机SPI学习
PIR1 Register The PIR1 register contains the individual flag bits for the peripheral interrupts. PIR1 REGISTER PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF SSPIF:Synchronous Serial Port Interrupt Flag bit 1 = The SSP interrupt condition has occurred and must be cleared in software before returning from the int
[单片机]