概述
我使用的是老师发的普中51开发板(哈哈哈哈哈哈哈哈大家开始学单片机都是这个开发板),其中用到了74hc138译码器,动态数码管段选和位选,74hc138译码器abc最低位为a位,显示原理为八个数码管按位进行闪烁,到达一定时间后切换为下一个八位数码管的段选值,以此类推。对于上述描述仅为个人观点,希望大家不吝赐教,如有错误请告知,一经采纳,有红包奖励
#include<reg51.h>
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
unsigned char code tab[3][8]={0X76,0X79,0X38,0X5C,0X00,0x00,0x00,0x00,
0X3F,0X06,0X5B,0X4F,0X66,0X00,0X00,0X00,
0X77,0X73,0X73,0X38,0X79,0X00,0X00,0X00};
unsigned char row;
void digdisplay();
void main()
{
while(1)
{
for(row=0;row<3;row++)
{
digdisplay();
}
}
}
void digdisplay()
{
unsigned int col,times,delaynum;
for(times=0;times<1000;times++)
{
for(col=0;col<8;col++);
{
switch(col)
{
case 0: LSA=0;LSB=0;LSC=0;break;
case 1: LSA=1;LSB=0;LSC=0;break;
case 2: LSA=0;LSB=1;LSC=0;break;
case 3: LSA=1;LSB=1;LSC=0;break;
case 4: LSA=0;LSB=0;LSC=1;break;
case 5: LSA=1;LSB=0;LSC=1;break;
case 6: LSA=0;LSB=1;LSC=1;break;
case 7: LSA=1;LSB=1;LSC=1;break;
}
P0=tab[row][col];
delaynum=10;
while(delaynum--);
P0=0X00;
}
}
delaynum=60000;
while(delaynum--);
}
最后
以上就是复杂鞋垫为你收集整理的51单片机控制数码管显示hello,012345,以及apple自动切换的全部内容,希望文章能够帮你解决51单片机控制数码管显示hello,012345,以及apple自动切换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复