一、使用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循环中驱动数码管的动态扫描程序