数码管动态显示实验(基于51单片机的数字时钟设计(数码管和LCD显示))

Posted

篇首语:在学习上做一眼勤、手勤、脑勤,就可以成为有学问的人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了数码管动态显示实验(基于51单片机的数字时钟设计(数码管和LCD显示))相关的知识,希望对你有一定的参考价值。

数码管动态显示实验(基于51单片机的数字时钟设计(数码管和LCD显示))

一起来来了解吧 数字时钟设计飞起来 基于(数码管和LCD显示)两种显示方法

一,针对初学者的要求

1、掌握单片机定时/计数器的工作原理和控制方法。

2、熟练掌握单片机定时/计数器的几种不同工作方式特点及其选择方法。

3、掌握实验系统中数码管显示部分的电路结构和特点。

4、掌握数字时钟系统的常见构成方法和软件设计技巧。

二,基础内内容:

基本要求(必须完成):用定时/计数器完成简单时钟功能,并利用数码管显示时间,起始时间建议设置为23:59:55,方便观察到零点时显示时间的跳变。

提高部分:可在此基础上,利用独立按键K1-K4实现闹钟、调时等功能。

三,显示部分仍然可借鉴前面讲过的数码管动态显示子函数。

基本1秒的时间可通过定时计数器(如T0)产生50ms,循环20次,到达1秒;以此类推。设计思路、,但应注意电路不同,可以采用采用LCD1602显示,因此只能部分参考。

三,电路图

  1. 数码管显示电路

2,LCD显示电路

废话不多说,看程序

四,基于数码管显示

  1. 代码
#include <reg51.h>	 			#define uchar unsigned char		 			#define uint unsigned int		 			sbit DUAN=P2^6;sbit WEI=P2^7;sbit K1=P3^4;sbit K2=P3^5;sbit K3=P3^6;sbit K4=P3^7;uchar h,m,s,j=0;uchar data led[6]=5,5,9,5,3,2;uchar data ledwei[6]=0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar data displaytab[16]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay()				 		 /*ÑÓʱº¯Êý,Ô¼1mS*/	uchar x,y;	for(x=2; x>0; x--)	for(y=250; y>0; y--);		void display()					 		/*Ö÷³ÌÐò*/	uchar i;		for (i=0;i<6;i++)								P0=displaytab[led[i]];				DUAN=1;				DUAN=0;								P0=ledwei[i]; 				WEI = 1;				WEI = 0;									delay();		 	P0=0xff;						/*ÏûÓ°2£¬Î»Ñ¡È«²¿¹Ø¶Ï*/ 			 WEI = 1;				WEI = 0;				P0=0x00;						/*ÏûÓ°1£¬Ï¨Ãð¶ÏÂë*/ 				DUAN = 1;				DUAN = 0;					 void main() TMOD=0x01; TH0=(65536-46080)/256; TL0= (65536-46080)%256; EA=1; ET0=1; TR0=1; h=23; m=59; s=55; while(1)   display();	 void T0_int() interrupt 1  j++; if(j==20)  j=0; s++; if(s==60)   s=0;	m++;		if(m==60)	 	 m=0;	 h++;		if(h==24)	h=0;	 led[5]=h/10;led[4]=h%10;led[3]=m/10; led[2]=m%10;led[1]=s/10; led[0]=s%10;TH0=(65536-46080)/256;TL0=(65536-46080)%256;  

2.结果显示

五,基于LCD显示

1.代码

#include<reg51.h>#include<lcd1602.h>#define uchar unsigned char#define	 uint unsigned intuchar int_time;uchar second;uchar minute;uchar hour;uchar code date[]=" L.T.T CHINA ";uchar code time[]=" TIME 23:59:55 ";uchar second=55,minute=59,hour=23;void clock_init() uchar i,j; for(i=0;i<16;i++)   write_data(date[i]);	 write_com(0x80+0x40);for(j=0;j<16;j++)  write_data(time[j] ); void write_sfm(uchar wei,uchar date1)uchar shi,ge;shi=date1/10;ge=date1%10;write_com(0x80+wei);write_data(0x30+shi);write_data(0x30+ge);void clock_write(uint s,uint m,uint h) write_sfm(0x47,h); write_sfm(0x4a,m); write_sfm(0x4d,s); void main() init1602(); clock_init(); TMOD=0x01; EA=1; ET0=1; TH0=(65536-46080)/256; TL0=	(65536-46080)%256; TR0=1; int_time=0; second=55; minute=59; hour=23; while(1)  clock_write(second,minute,hour);	void T0_interserve(void) interrupt 1 using 1 int_time++;if(int_time==20)	  int_time=0; second ++;  if(second==60)  second=0; minute ++; if(minute==60) minute=0; hour ++;  if(hour==24)   hour=0;  TH0=(65536-46080)/256; TL0=	(65536-46080)%256; 

2.结果显示

大家有什么好的建议或者意见和在评论区留言!!!!

大家有什么好的建议或者意见和在评论区留言!!!!

相关参考

数码电子看板(用51单片机STC89C52编程实现智能电饭煲中的数码管时间显示功能)

这一篇我们来学习带时钟显示功能的四位数码管开发应用,也就是通过四位数码管分别显示秒钟,分钟,或者小时,那么这个功能在单片机项目开发当中应用非常广泛的,比如,跑步机,桑拿设备,电饭煲,电磁炉,电子钟,微...

温度报警器(基于51单片机的DS18B20温度报警系统,温度过高声光报警)

...:一、单片机读取DS18B20采集的当前温度,并动态显示在数码管上,精度0.1。二、当温度大于设定值,让发光二极管闪烁,蜂鸣器间断鸣叫。温度高于一定值时,二极管常亮,蜂鸣器一直鸣叫,已达到警示作用。实物焊接中,后...

温度报警器(基于51单片机的DS18B20温度报警系统,温度过高声光报警)

...:一、单片机读取DS18B20采集的当前温度,并动态显示在数码管上,精度0.1。二、当温度大于设定值,让发光二极管闪烁,蜂鸣器间断鸣叫。温度高于一定值时,二极管常亮,蜂鸣器一直鸣叫,已达到警示作用。实物焊接中,后...

数码管显示数字(单片机-动态数码管)

#include"REG52.H"typedefunsignedintu16;typedefunsignedcharu8;#defineSMG_A_DP_PORTP0sbitHCA=P2^2;sbitHCB=P2^3;sbitHCC=P2^4;u8gsmg_code[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0

数控技术应用毕业论文(「选题推荐」单片机设计毕业论文精选164例)

本文来源:格业范文网单片机设计方向的毕业论文选题,格业范文网小编精选164例,供读者参考和借鉴,具体如下:基于51单片机的LED点阵显示屏设计基于51单片机的全自动洗衣机控制系统设计基于51单片机的公交车自动报站系统...

数码管共阴极编码(讲解单片机四位数码管)

...我或者在评论区回复我要入门。我们在开发板上可以看到数码管这个元器件,它的主要作用就是显示数字,下面我们就来看一下它具体的引脚功能。四位数码管模块(74HC595)的使用14脚:DS(SER),串行数据输入引脚13脚:OE,输...

数码信息历只有4个按键(51单片机四位数码管4个LED灯4个按键实现多种功能?)

任务描述:用89C51单片机实现如下功能:<初始状态为数码管显示2020,四个灯灭。1、电路有四个控制按键,四个灯,四个数码管;2、按键1,按下,,第一个数码管开始从0-9递增,同时第一个灯亮;3、按键2,按下,第二个数码...

广告牌LED怎么连接(点阵广告牌的设计(单片机应用技术课程报告))

单片机应用技术课程报告实验名称点阵广告牌的设计实验时间2020年7月9日学生姓名实验地点钉钉群线上同组人员专业班级1、实验目的1、会设计简单的点阵的广告牌;2、通过LED点阵电子广告牌的设计,了解点阵的结构和原理、点...

热转印杯子调试(太牛了业余单片机爱好者用DS3231制作自动亮度的4位数码管时钟)

作为一名业余的单片机爱好者,从开始玩到现在,做的最多的就是各种各样的时钟了。从最初的纯软件计时,到DS1302时钟芯片再到后来的GPS、SNTP对时的都做过。纯软件计时一断电就全归零了,完全没有实用价值;DS1302的好一些...

热转印杯子调试(太牛了业余单片机爱好者用DS3231制作自动亮度的4位数码管时钟)

作为一名业余的单片机爱好者,从开始玩到现在,做的最多的就是各种各样的时钟了。从最初的纯软件计时,到DS1302时钟芯片再到后来的GPS、SNTP对时的都做过。纯软件计时一断电就全归零了,完全没有实用价值;DS1302的好一些...