推荐阅读最新更新时间:2024-11-10 17:21
PIC16F877A编程PID+PWM+1602液晶显示
#include string.h #include stdio.h #include pic.h #define uchar unsigned char #define uint unsigned int #include cd1602.h uint adsc ,adjz ,adsr ; //定义3个A/D转换临时变量 uint resultjz,resultsr,resultsc; //PWM为jz2,PID为jz1 double scdy,jzdy,srdy,pidsc,tjkz,jzxs,scxs,srxs,PWMsr,jzzkb; __CONFIG(HS&WDTDIS); typedef struct PID{
[单片机]
PIC16F877A内部比较器使用Demo
内部比较器的用途是检测外部传感器的状态变化,例如霍尔开关,有金属接近的时候输出高电平,没有则输出低电平,为什么不直接用IO口来检测呢? 我想比较器跟普通 IO 检测一个很不同的地方就它有参考电压,设置一个合理的阀值就能让比较器正确的工作,这点是 IO 不能比拟的,而且比较器也有中断,方便程序的编写。 #include htc.h __CONFIG(0xFF32); #define LED0 RD0 /* 实验方法: RA0(Vin-)和RA3(Vin+)的电平比较,并将结果输出到LED */ void CM_init(void) { TRISA=0x09; //RA0与RA3设置为输入 TRISD=0x00;
[单片机]
用单片机pic16f877a实现鼠标数据的采集
最近弄个用单片机pic16f877a实现鼠标数据的采集。通过对 鼠标 底层通信原理与协议的分析,以单片机pic16f877a构成鼠标数据的采集的实现和液晶1602显示的实现。 现在继续写下去 !!!!!!尽管和比赛没有关系了 一、先要熟悉鼠标的协议和接口 下面是PS2的接口 : 这是鼠标在传输过程中数据的一个 帧: 一个开始位:(为0) 八个数据位: 一个奇校验位: 一个停止位:(它总是1) 鼠标和单片机通信: 1、单片机给鼠标发命令是按下面的格式进行的: (注意:一个应答信号的接收) 这是它的详细过程: 2、鼠标
[单片机]
PIC16F877A单片机 (中断与定时器Timer0)
1 基本原理 2 实现代码 主要根据FIGURE 5-1 和中断的逻辑框图来编写代码,这样代码的可读性强,也便于理解。但有些寄存器在框图中可能没有说明,所以也需要仔细阅读定时器0的官方文档,即基本原理部分。 /*----------------函数功能: 中断 定时器0 --------------------------*/ #include pic.h // 调用PIC16f87XA单片机的头文件 //#include delay.h //调用延时子函数 __CONFIG(0xFF32);//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关 //__CONFIG(HS&WDTDI
[单片机]
PIC16F877A 内部EEPROM读写实验利用内部函数
/****************************************** ******PIC16F877A 内部EEPROM读写实验******* Author:hnrain Date:2010-12-26 Version:V0.1 Email:hnrain1004@gmail.com Forum: http://bbs.cepark.com _______________________________ 实验现象:先给内部EEPROM的0~7字节写数据1~8,再读出第0字节的 内容,并判断读出来的数据是不是1,如果是1则点亮RD0口的LED。 重点内容: 在我们的PIC.h中,给我们提供了两个函数操作内部的E
[单片机]
PIC16F877A开发板 普通IO驱动74595实验
//*****************电子园PIC16F877A开发板 普通IO驱动74595实验*************** // //PIC16F877A 实验板 // //mcu: PIC16F877A 4MHz //2010年7月10日21:52:30 //************************************************************************** #include lian_pic.h __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN); //HS振荡,禁止看门狗,低压编程关闭,启动延时定时器 #define srclk RC3
[单片机]
PIC16F877A开发板 数码管动态扫描实验
//************************************************************************* #include pic.h #include ../head/config.h __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN); //HS振荡,禁止看门狗,低压编程关闭,启动延时定时器 #define srclk RC3 //移位寄存器时钟 (74595:11脚) #define rclk RC4 //存储寄存器时钟 (74595:12脚) #define ser RC5 //串行数据口 (74595:14脚)
[单片机]