#include <at89x52.h>
char ptn_table[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90};
char time=10;
char disp_no;
char bdata flag;
sbit up_flag=flag^0;
sbit down_flag=flag^1;
sbit stop_flag=flag^2;
void delay_1ms(int k)
{
unsigned int i,j;
for (i=0;i<=k;i++)
for (j=0;j<=110;j++);
}
void keyup()
{
delay_1ms(300);
while((P2|0xf0)!=0xff);
delay_1ms(300);
}
void T0_INT(void) interrupt 1
{
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;
time--;
if(time==0)
{
time=10;
if(stop_flag){}
else if(up_flag)
{
disp_no++;
if(disp_no>9)
{
disp_no=0;
}
P0=ptn_table[disp_no];
delay_1ms(500);
}
else if(down_flag)
{
disp_no--;
if(disp_no<0)
{
disp_no=9;
}
P0=ptn_table[disp_no];
delay_1ms(500);
}
}
}
void main()
{
IE=0x82;
TMOD=0X01; //T0 MODE 1
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;
TR0=1;
P0=0xff;
while(1)
{
P2=0x7f;
if(P2_3==0){flag=0;P0=0xf9;disp_no=0;keyup();}//1
if(P2_2==0){flag=0;P0=0x99;disp_no=4;keyup();}//4
if(P2_1==0){flag=0;P0=0xf8;disp_no=7;keyup();}//7
if(P2_0==0){flag=0;P0=0xb0;disp_no=14;keyup();}//14
P2=0xbf;
if(P2_3==0){flag=0;P0=0xa4;disp_no=2;keyup();}//2
if(P2_2==0){flag=0;P0=0X92;disp_no=5;keyup();}//5
if(P2_1==0){flag=0;P0=0x80;disp_no=8;keyup();}//8
if(P2_0==0){flag=0;P0=0xc0;disp_no=0;keyup();}//0
P2=0xdf;
if(P2_3==0){flag=0;P0=0xb0;disp_no=3;keyup();}//3
if(P2_2==0){flag=0;P0=0X82;disp_no=6;keyup();}//6
if(P2_1==0){flag=0;P0=0x90;disp_no=9;keyup();}//9
P2=0xef;
if(P2_3==0){flag=0;up_flag=1;keyup();}//a
if(P2_2==0){flag=0;down_flag=1;keyup();}//b
if(P2_1==0){keyup();stop_flag=0;}//c繼續上數或下數
if(P2_0==0){keyup();stop_flag=1;}//d暫停
}
}
2020年6月25日 星期四
訂閱:
張貼留言 (Atom)
algorithm
#include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv) { for(int j=2;j<=100;j++)//j...
-
本文旨在補充《 超圖解Arduino互動設計入門 》第18章「RFID無線識別裝置與問答遊戲製作」單元,書本採用的RFID讀卡機模組是採用9600bps, TTL序列通訊介面,RFID的通訊頻率為125KHz。這種模組的接線和程式都很簡單,每當感測到RFID卡,讀卡機就把...
-
3.Keil C 幫我們寫好 程式:#include <reg51.h> vs c語言 #include <stdio.h> //幫您宣告 P0=0x80 有相對的記憶體以十六進位表示,它定義定reg51.h,我們直接拿來用他的代碼即可 P1=0...
-
四位數七段顯示器 如果不想要自行接線路,那麼市面上有已經銜接好的二合一、四合一等各種位數的七段顯示器,以四合一的七段顯示器為例,由於每個七段顯示器會需要 8 個腳位控制其上的 LED,再加上各 4 個共陰或共...
沒有留言:
張貼留言