基于PIC16F877A单片机的温度,时间显示_第1页
基于PIC16F877A单片机的温度,时间显示_第2页
基于PIC16F877A单片机的温度,时间显示_第3页
基于PIC16F877A单片机的温度,时间显示_第4页
基于PIC16F877A单片机的温度,时间显示_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 PIC16F877A 单片机的温度,时间显示以及闹钟设置,硬件和软件配备一,硬件图#include_CONFIG(0x3B31);#define rs RD0#define rw RD1#define en RD2#define BEEP RD3#define s1 RA0#define s2 RA1#define s3 RA2#define s4 RA3#define uint unsigned int#define uchar unsigned charsigned char set_time7=0,58,23,6,1,5,12;/秒 分 时 星期 日 月 年signed char read_time7=0,0,0,0,0,0,0;signed char shi=7,fen=15,alarm_time=1,reapeat_fen=2,cent;/闹钟时,闹钟分,闹铃响分钟,闹铃响间隔uchar s1_num,s2_num;const uchar alarm=“ALARM TIME:“;const uchar mode=“MODE:“;const uchar rpt=“RPT:“;const uchar min=“min“;void PORT_INIT()TRISA=0xff;/A 口设置为输入ADCON1=0x06;/RA 口上电复位为模拟输入口TRISC3=1;/SCL 和 SDA 设置为输入TRISC4=1;TRISD=0x00;/D 口设置为输出void IIC_INIT()SSPCON=0x28;STAT_SMP=0;SSPADD=4;void delayms(uint z)/延时 函数uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void delayus(uint k)while(k-);void write_byte_low(uchar R1,uchar flag0)/写一个字节的低 4 位,flag0 为指令/数据选择位 /,0 为写指令,1 为写数据uchar low;rs=flag0;low=R1low=low4;write_byte_low(dat_high,flag1);dat_low=datwrite_byte_low(dat_low,flag1);NOP(); void write_string(uchar address,uchar const *str)/往指定的地址写字符串uchar i=0;lcd_write(address,0);while(stri!=0)lcd_write(stri,1);delayus(5);i+;void LCD_INIT()/初始化函数rw=0;en=0;delayms(20);write_byte_low(0b0011,0);delayms(1);write_byte_low(0b0011,0);delayus(10);write_byte_low(0b0011,0);delayus(10);write_byte_low(0b0010,0);delayms(1);lcd_write(0x28,0);delayms(5);lcd_write(0x0c,0);delayms(5);lcd_write(0x01,0);delayms(5);lcd_write(0x06,0);delayms(5);void naoling()uchar i;for(i=0;i20;i+)BEEP=1;delayus(5);BEEP=0;delayus(5);void IIC_SEND(uchar num)SSPBUF=num;while(STAT_RW=1);/等待发送结束while(SSPIF=0);while(ACKSTAT=1);/等待应答signed char read_temp()/读温度signed char temp;SEN=1;while(SEN=1);IIC_SEND(0b10011010);IIC_SEND(0);RSEN=1;while(RSEN=1);IIC_SEND(0b10011011);RCEN=1;while(RCEN=1);/ SSPIF=0;/ while(SSPIF=0);/等待接收结束temp=SSPBUF;PEN=1;while(PEN=1);return temp;void dispose()/BCD 数据处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论