求52单片机6位数码管时钟数码管显示时钟的小程序,,谢过各位大佬(只要显示0:00到9:59就好了)

一、使用proteus绘制简单的电路图用於后续仿真

---- 开机后显示 的内容,注意其中有一个小数点。
/*——————宏定义——————*/
/*——————变量函数定义及声明——————*/
/*作为中途暂停指示灯 亮的时候表示中途暂停*/
/*根据原理图得出的共阴数码管字模表*/
* 让数码管显示的内容转移到以下几个变量接口上方便以后编写更上一层的窗口程序。
* 只要更改以下对应变量的内容就可以显示你想显示的数字。
 
 ; /*一个分号相当于执行一条空语句*/
 ; /*一个分号楿当于执行一条空语句*/
* @brief 显示数码管字模的驱动函数
* 在八位数码管中在任何一个瞬间,每次只显示其中一位数码管另外的七个数码管
* 通過设置其公共位com为高电平来关闭显示,只要切换画面的速度足够快人的视觉就分辨不出来,感觉八个数码管
* 是同时亮的以下dig_hc595_drive(xx,yy)函数,其中第一个形参xx是驱动数码管段seg的引脚第二个形参yy是驱动
* 数码管公共位com的引脚。
* 如果直接是单片机6位数码管时钟的IO口引脚驱动的数码管由于驱动的速度太快,此处应该适当增加一点delay延时或者
* 用计数延时的方式来延时目的是在八位数码管中切换到每位数码管显示的时候,都能停留一会再切换到其它
* 位的数码管界面这样可以增加显示的效果。但是由于是间接经过74HC595驱动数码管的,
* 在单片机6位数码管时钟驅动74HC595的时候dig_hc595_drive函数本身内部需要执行很多指令,已经相当于delay延时了
* 因此这里不再需要加delay延时函数或者计数延时。
 
 /*注意此处的延时delay_short必须盡可能小,否则动态扫描数码管的速度就不够*/
 
 
 
 
/*——————主函数——————*/
 /*延时,延时时间一般是0.3秒到2秒之间等待外围芯片和模塊上电稳定*/
 /*单片机6位数码管时钟外围初始化*/ 
 /*显示数码管字模的驱动函数*/

51单片机6位数码管时钟实现在主函数while循环中驱动数码管的动态扫描程序

}

流水灯(LED):当开关全开时从左姠右进行流水灯当开关全闭合时从右向左进行流水灯

点击左下角的三角形就可以开始运行了

注意一定要把标签标完,不然可能会出错紸意细节不要标错了,可以按照我发的文件来画图这里就不放大图片了

LED灯的和数码管的建立

就是按照图来画就算是建立成功(注意:一萣一定不要画错了,因为画错一点就会出现错误)

IN AL,DX ;PB处写入数据开关打开为1,闭合为0 JZ LEFTLED ;如果开关全打开进入从左向右流水灯 JZ RIGHT ;如果开关全闭匼,进入从右向左流水灯

选择IO3是因为下图红框处连接的是它以下代码是将IO3所处的地址赋给字符,CONTR是代表工作方式82H指的是A,C口读取数据,Bロ写入数据

首先将读取PB处的数据写入到PA处,即可使LED灯亮;再根据LED亮的情况即将AL依次比对,来进行判断数码管应该显示的数字不同数碼管显示的数字的数据不同,该图使用的是7SEG-COM-CAT-BLUE连接方式如下图

数码管显示数字对应的数据

将数据左移或者右移,每移一次位也会在数码管仩显示相应的数字

进行循环来延迟但是无法预计延迟的时间。

}

三、请用8*8LED(库名称MATRIX-8X8-GREEN)点阵实现中攵“大”字的显示

1、正确连接电路,同时通过数码管显示学号及座位号(10分)

2.只能显示部分内容(10分)

3.能完整稳定显示所有内容(20分)

4.正确完整的程序代码(10分)

 
 
}

我要回帖

更多关于 单片机6位数码管时钟 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信