2019年10月20日 星期日
test 0000~9999
#include <reg51.h>
unsigned code DATA_7SEG[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
unsigned code act[]={0xfe, 0xfd, 0xfb, 0xf7};
char disp[4];
unsigned char hi,lo;
unsigned char di=0;
unsigned int value;
sbit led0 = P2 ^ 0;
void delay(int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<110;j++);
}
void init_t1()
{
value=65536-2000;
TH0=hi=value/256;
TL0=lo=value/256;
TMOD=0x01;
IE=0x82;
TR0=1;
}
void t0isr(void) interrupt 1
{
TH0=hi;
TH0=lo;
P0=disp[di];
P1=act[di];
di++;
if(di==4) di=0;
}
void init_buf()
{
int i;
for(i=0;i<4;i++)
disp[i]=DATA_7SEG[0];
}
void show_data(char c)
{
int i;
for(i=0;i<4;i++)
{
disp[i]=DATA_7SEG[c];
}
}
void test_seg()
{
int i;
for(i=0;i<10;i++)
{
show_data(i);
delay(500);
}
}
void led()
{
int i;
for(i=0;i<1;i++)
{
led0=0;delay(2000);
led0=1;delay(2000);
}
}
main()
{
init_t1();
init_buf();
test_seg();TR0=0;P0=0xff;P1=0xff;
led();TR0=1;
while(1)
{
test_seg();
}
}
訂閱:
張貼留言 (Atom)
algorithm
#include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv) { for(int j=2;j<=100;j++)//j...
-
一顆7493(除2 除8,16種狀態[輸出有很多種,隨便寫],真值表寫出來), 給7顆LED(六顆led的輸出狀態,4-6),兩顆7408(AND閘)、1顆7432(OR閘)、1顆NOT閘 4-6組合邏輯 K-map:L1~L6最簡布林代數式 畫線路...
-
setw [C++] 使cout印出格式對齊-setw 設定輸出的欄位長度 85138 0 C/C++ 最近在一些程式,需要用到命令提示字元模式來印出結果,有時候我們會像表格一樣要每一筆資料可能有兩到三個欄位,但這時候,印出時都會因為印出的文字或數字太長而使排版跑掉 但是在...

沒有留言:
張貼留言