|
我根據(jù)這圖在Proteus上面畫了仿真,由于沒有8550這個型號的三極管就隨便用了個管子,發(fā)現(xiàn)根本不行。
我想顯示34,給我顯示了99.
我覺得可能是三極管的頻率不夠,所以將低了頻率,還是不行。
- #include<reg52.h>
- typedef unsigned char u8;
- typedef unsigned int u16;
- sbit smg1=P2^5;
- sbit smg2=P2^4;
- u8 gsmg_code[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
- void delay_10us(u16 ten_us)
- {
- while(ten_us--);
- }
- void main()
- {
- u8 i=0;
- while(1)
- {
- P1=gsmg_code[3];
- smg1=0;
- smg2=1;
- delay_10us(5000);
- P1=0XFF;
- P1=gsmg_code[4];
- smg1=1;
- smg2=0;
- delay_10us(5000);
- P1=0XFF;
- }
- }
復(fù)制代碼
感覺還是頻率的問題,如果用真的8550,可以嗎?
因為沒有實物,也是不了。
我用單片機直接連公共端控制的時候,是可以的。
|
|