欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
求大佬幫助看看單片機程序,右面的數(shù)碼管怎么沒辦法正常顯示?
[打印本頁]
作者:
2896058716
時間:
2020-12-28 20:09
標題:
求大佬幫助看看單片機程序,右面的數(shù)碼管怎么沒辦法正常顯示?
51hei圖片20201116200537.png
(70.01 KB, 下載次數(shù): 40)
下載附件
2020-12-28 20:08 上傳
#include<reg51.h>
sbit shi = P3^0; //十位位選
sbit ge = P3^1; //個位位選
char led_mod[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共陰數(shù)碼管
unsigned char num = 1; //數(shù)碼管顯示內容
void init_int0();
void delay(unsigned int time);
void display();
void main()
{
init_int0(); //中斷初始化
while(1)
{
display(); //數(shù)碼管顯示
}
}
void display()
{
shi = 0; //顯示十位
ge = 0;
P2 = led_mod[((num/10)%10)]; //顯示十位
delay(10);
P2 = 0x00; //消隱
shi = 1; //顯示個位
ge = 0;
P2 = led_mod[(num%10)]; //顯示個位
delay(10);
P2 = 0x00; //消隱
}
void delay(unsigned int time){
unsigned int j = 0;
for(;time>0;time--)
for(j=0;j<125;j++);
}
void init_int0()
{
IT0=0; //低電平觸發(fā)
IT0=0; //下降沿觸發(fā)
EX0=1;
EA=1;
}
void int0_press() interrupt 0 //鍵控中斷函數(shù)
{
delay(10); //延時消抖
if((P0 & 0x0f) != 0xf0) //檢測按鍵是否有按下
{
if((P0 & 0x01) == 0x00) //按鍵1按下
{
if(num < 99)
num++;
}
if((P0 & 0x02) == 0x00) //按鍵2按下
{
if(num > 0)
num--;
}
if((P0 & 0x04) == 0x00) //按鍵3按下
{
;
}
if((P0 & 0x08) == 0x00) //按鍵4按下
{
;
}
}
}
作者:
shanqqw
時間:
2020-12-28 23:00
左邊數(shù)碼管是用P2口驅動的,右邊數(shù)碼管是用P1口驅動的,你的顯示函數(shù)里面
void display()
{
shi = 0; //顯示十位
ge = 0;
P2 = led_mod[((num/10)%10)]; //顯示十位
delay(10);
P2 = 0x00; //消隱
shi = 1; //顯示個位
ge = 0;
P2 = led_mod[(num%10)]; //顯示個位
delay(10);
P2 = 0x00; //消隱
}
這個只有P2口的顯示,沒有P1口
作者:
aking991
時間:
2020-12-29 08:18
你的顯示程序就沒有P1這邊數(shù)碼管的驅動顯示功能,所以當然不會顯示,復制一份顯示驅動,把P2改為P1,然再顯示調用兩組的就可以了
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1