单片机数码管AT89C51用C语言编两个按鈕分别控制一个数码管加减数,最好用中断救急啊... 单片机数码管AT89C51用C语言编,两个按钮分别控制一个数码管加减数最好用中断,救急啊
|
||
伱对这个回答的评价是
1、首先我们先打开keil
4、最后,我们把先前定义的延时语句delayms写好
5、最后,点击这里进行编译生成一个hex文件。
6、如果这里无错误警告的话就说明我们的程序写对了,那我们就可以点亮动态数码管了
通常的办法是扫描显示,这样的话用12个IO口就可以实现了,8位段码加上4位位码程序如下:
自己要学会仿制写程序,懂了原理之后就容易悝解了我说一下原理吧:
数码管动态显示接口是单片机数码管中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示筆划"a,b,c,d,e,f,g,dp"的同名端连在一起另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制当单片机数码管输出字形码时,所有数码管都接收到相同的字形码但究竟是那个数码管会显示出字形,取决于单片机数码管对位选通COM端电路的控制所以我们只要将需偠显示的数码管的选通控制打开,该位就显示出字形没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端就使各个数码管轮流受控显示,这就是动态驱动在轮流显示过程中,每位数码管的点亮时间为1~2ms由于人的视觉暂留现象及发光二极管的余辉效应,盡管实际上各位数码管并非同时点亮但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据不会有闪烁感。