|
给大家介绍51单片机连接38译码器驱动8位数码管的Proteus仿真电路图和程序
仿真原理图:
仿真文件及完整程序下载:http://www.51hei.com/bbs/dpj-50777-1.html
单片机用38译码器驱动数码管的源程序如下:
- #include <reg51.h>
- #ifndef uchar
- #define uchar unsigned char
- #endif
- uchar disNumber[11] = {0x3f, 0x30, 0X5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0xff, 0x6f}; //共阴数码管
- uchar switc[9] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
- //控制哪个数码管亮
- void delay2ms200us(void) //延时函数
- {
- unsigned char a,b;
- for(b=169;b>0;b--)
- for(a=5;a>0;a--);
- }
- void main(void)
- {
- uchar i, j = 0;
- while(1)
- {
- P2 = switc[j];
- P0 = disNumber[i];
- i++;
- j++;
- if(i == 8) //注意 i值为8时,每个数码管有固定的显示数字,当i超过8时每个数码管没有固定的显示数字,数码管数字就会乱跳
- i = 0;
- if(j == 8)
- j = 0;
- delay2ms200us();
- }
- }
- //小月子2016年5月21日编辑 如果您有什么不理解的地方请加小月子
- //小月子是个电子发烧友,小月子电子网店卖的是电子电路类、编程类学习资料教学视频
- //请关注我的网
复制代码
|
评分
-
查看全部评分
|