有没有人上了单片机智能数字钟做过数字钟

急求用单片机制作数字时钟的论文 破解 - 谷普下载┆┆┆┆┆站内软件文章
| 当前位置: →
→ 急求用单片机制作数字时钟的论文作者:佚名 来源:互联网 更新时间: 12:35:00与好友分享: 更多lyh44影网友的提问:急求用单片机制作数字时钟的论文
给出的答案:本文主要论述了一种基于单片机的数字式温度检测系统的设计方案,其核心器件是凌阳SPCE061A单片机。本数字温度计包括主机电路,输入通道和显示器、打印机电路。系统的工作原理如下:温度由温度传感器DS18B20测量。温度传感器输出信号由A/D转换器转换成相应的数字量,进入主机电路。由主机电路进行数据处理、判断分析,输入显示器,显示温度值,并打印温度曲线。
主机电路用来运行系统软件,输入采样温度信息,输出指令使显示器完成温度显示,打印机打印温度曲线。输入通道将温度值转换成电量,并且进行A/D转换,转换为适合于主机处理的数字信号,输入主机电路。温度显示器采用2位LED,显示2位数据,精度为1℃。打印机受主机电路控制,打印温度曲线。配合硬件电路的软件设计分为:系统主程序,初始化子程序,A/D转换,显示子程序,串行口子程序。系统主程序调用初始化、显示、A/D转换、中断等子程序,完成初始化I/O口、时钟、LED等。初始化子程序完成初始化传感器,UART等。A/D转换子程序完成的功能是将温度值的模拟信号转换为适合于单片机处理的数字信号。显示子程序完成温度数据的进制转换并送往显示器。串行口子程序按照一定的波特率与PC机通信,完成温度值的上传和打印功能。关键字:SPCE061A,温度检测,DS18B20,显示qq:,太多发不下
[] [] [] []?上一篇文章:   ?下一篇文章:文章栏目导航 |
| 本类热门文章
按字母检索:
按声母检索:
站内网页 |
| CopyRight(c)2007-
谷普下载 All Rights Reserved.基于单片机设计简易数字钟_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于单片机设计简易数字钟
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩23页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢单片机数字钟
单片机数字钟
程序代码:
#include &reg51.h&
#include &LCD1602.H&
#define uchar unsigned char
#define uint
unsigned int
sbit k0=P1^0;
sbit k1=P1^1;
sbit k2=P1^2;
uint second=59,minute=59,hour=23;
void delay(uint ms)
for(i=0;i&i++)
for(j=0;j&1141;j++);
void initTimer(void)
void timer0(void) interrupt 1
counter++;
if(counter&=20)
counter=0;
if(second&59)
if(minute&59)
if(hour&23)
//add your code here.
void main(void)
initTimer();
lcd_init();
write_lcd_string(0,0,&my clock!&);
write_lcd_string(0,1,&
write_lcd_char(7,1,coder[second%10]);
write_lcd_char(6,1,coder[second/10]);
write_lcd_char(4,1,coder[minute%10]);
write_lcd_char(3,1,coder[minute/10]);
write_lcd_char(1,1,coder[hour%10]);
write_lcd_char(0,1,coder[hour/10]);
delay(15);
second+=1;
if(second&59)second=0;
}while(k0==0);
delay(15);
minute+=1;
if(minute&59)minute=0;
}while(k1==0);
delay(15);
if(hour&23)hour=0;
}while(k2==0);
1602LCD头文件:/***************************
//lcd1602.h
//data 2009
***************************/
unsigned char code coder[]=&abcdef&;
#define LCD_PORT P0
#define DISPLAYON 0x0c
#define DISPLAYOFF 0x08
#define INPUTMODE 0x06
#define DISPLAYCLR 0x01
#define RETURNHOME 0x02
sbit LCD_RS=P2^5;
sbit LCD_RW=P2^6;
sbit LCD_EN=P2^7;
void write_lcd_command(unsigned char);
void write_lcd_data(unsigned char);
void write_lcd_char(unsigned char x,bit y,unsigned char DATA);
//void write_lcd_string(unsigned char x,unsigned char y,unsigned char *p);
void lcd_init();
bit read_busy();
void gotoxy(unsigned char x,bit y);
/***************************************************************/
void lcd_init()
write_lcd_command (DISPLAYCLR);//清屏
while(read_busy());//读忙标志
write_lcd_command (0x38);//8位数据发送模式
while(read_busy());//读忙标志
write_lcd_command (DISPLAYON);//0x0C
while(read_busy());//读忙标志
write_lcd_command (INPUTMODE);//input mode
while(read_busy());//读忙标志
write_lcd_command (0x80);//设置LCD开始显示地址
while(read_busy());//读忙标志
write_lcd_command (DISPLAYCLR);//清屏
void write_lcd_command(unsigned char command)
LCD_PORT =
LCD_RS = 0;
LCD_RW = 0;
LCD_EN = 1;
LCD_EN = 0;
void write_lcd_data(unsigned char dat)
LCD_PORT =
LCD_RS = 1;
LCD_RW = 0;
LCD_EN = 1;
LCD_EN = 0;
void write_lcd_char(unsigned char x,bit y,unsigned char DAT)
gotoxy( x, y);
while(read_busy());//读忙标志
write_lcd_data(DAT);
void write_lcd_string(unsigned char x,unsigned char y,unsigned char *p)
gotoxy( x, y);
while (*p)
while(read_busy());//读忙标志
write_lcd_data(*p);
bit read_busy()
LCD_PORT = 0
LCD_RS = 0;
LCD_RW = 1;
LCD_EN = 1;
readdata = LCD_PORT;
LCD_EN = 0;
if (readdata && 7)
return (1);
return (0);
void gotoxy(unsigned char x,bit y)
while(read_busy());//读忙标志
write_lcd_command(0xc0 + x);//2 line
write_lcd_command(0x80 + x);//1 line
我的热门文章
即使是一小步也想与你分享

我要回帖

更多关于 单片机智能数字钟 的文章

 

随机推荐