PIC单片机
昵称90天可改
这个作者很懒,什么都没留下…
展开
-
PIC单片机(PIC16F877A)基于状态机思想的矩阵键盘检测
原创 2012-05-04 15:05:57 · 2300 阅读 · 0 评论 -
PIC单片机(PIC16F877A)串行收发程序
#include#define uchar unsigned char uchar rtemp,sflag;void SerialInit(void){ TXSTA=0x24; //开启发射使能位、高波特率,TRMT初始值可0可1 RCSTA=0x90; //开启串口、连续接收、 SPBRG=0x19; //4M晶振,波特率9600,则SPBRG初值为25 RCIE原创 2012-07-18 18:27:55 · 8922 阅读 · 2 评论 -
PIC单片机(PIC16F877A)定时器
#include#define uchar unsigned char#define uint unsigned intuchar i,temp;uchar count;void delay(uint x) //1ms{ uint y,z; for(y=x;y>0;y--) for(z=25;z>0;z--);}void init(void){原创 2012-07-18 18:23:20 · 4967 阅读 · 4 评论 -
PIC单片机(PIC16F877A)外部中断程序
正常运行为流水灯,发生中断则灯全亮。#include__CONFIG(0x3B31); //4M#define uchar unsigned char#define uint unsigned int#define DELAY 500uint j=50000;void delay(uint x) //1ms{ uint y,z; for(y=x;y>0;y-原创 2012-07-18 18:15:40 · 9795 阅读 · 1 评论 -
PIC单片机(PIC16F877A)DS1302芯片程序
#includetypedef unsigned char uchar;typedef unsigned int uint;#define rs_h PORTC|=0x01#define rs_l PORTC&=0xfe#define rw_h PORTC|=0x02#define rw_l PORTC&=0xfd#define en_h PORTC|=0x04 #原创 2012-06-29 11:29:22 · 3594 阅读 · 0 评论 -
PIC单片机(PIC16F877A)DS18B20温度传感器驱动程序
#include#define uchar unsigned char#define uint unsigned int#define rs_h (PORTC|=0x01)#define rs_l (PORTC&=0xfe)#define rs_o (TRISC&=0xfe)#define rw_h (PORTC|=0x02)#define rw_l (PORTC&=0原创 2012-06-29 16:38:14 · 6499 阅读 · 5 评论 -
PIC16F877A输入检测问题
配置RB7为输入口,在程序中检测按键,用到了键盘释放检测判断语句:while(!RB7);程序无法执行,调试定位出问题在该行,始终在执行while循环。通过+5V再外接电阻连接到RB7,问题解决。PIC IO输入方向,高阻态问题。原创 2012-06-05 18:26:11 · 1364 阅读 · 0 评论 -
MPLAB编译错误:implicit conversion of float to integer
用MPLAB编译程序,正在心里祈祷千万不要出现FAILED,结果FAILED还是出来了,害我想半天,以前碰到过一次这个错误,当时解决后想着也不是典型问题,就懒得记了,导致这次遇到同样问题,浪费时间在做重复工作上,事儿虽小,却提醒我,在写程序的过程中,一定要注意总结,注意积累,不可只盯着眼前的程序调试通过就OK。编译提示错误指定在行:dat=(dat2*256+dat1)*(0.0625*1原创 2012-06-05 04:39:48 · 3872 阅读 · 0 评论 -
simulation is not running in real time due to excessive cpu load
proteus仿真PIC多次出现这个错误提示,前几次以为是太热了,导致电脑反应迟钝,开个网页都卡,就把电脑关了,让他凉快凉快。没想到今晚又碰上了,这次还是老方法,让电脑凉快凉快。过了半天,摸了摸,看他也凉快够了,就开机,继续仿真,继续调程序,结果还有这提示。难道不是我电脑的事儿?想起来以前刚学proteus时候,讲proteus仿真是靠把动态仿真转化为一个个瞬态方程组来实现的。原创 2012-06-06 05:57:36 · 19911 阅读 · 3 评论 -
综合实例:PIC单片机(PIC16F877A)万年历(温度闹钟年月日时分秒星期)
功能说明:LCD1602液晶显示年、月、日、时、分、秒、星期、温度,三个按键控制时间日期调整以及闹钟设定。 三个按键:1、“校时”键,每次按下分别对应调整秒、调整分钟、调整小时、调整星期、调整日、调整月份、调整年份、调整闹钟分钟、调整闹钟小时、退出校时模式;2、“增加/开闹钟功能”键,校时模式下按下此键则数值加一,非校时模式下按下此键则显示出闹钟时间并打开闹钟功能(屏幕显示字母原创 2012-07-18 18:40:57 · 4225 阅读 · 2 评论