数码管动态显示实验(基于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显示,因此只能部分参考。
三,电路图
- 数码管显示电路
2,LCD显示电路
废话不多说,看程序
四,基于数码管显示
- 代码
#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的好一些...