屏幕截圖 2024-01-13 161502.png (479.63 KB, 下載次數: 16)
下載附件
2024-1-13 16:15 上傳
我根據這圖在Proteus上面畫了仿真,由于沒有8550這個型號的三極管就隨便用了個管子,發現根本不行。
屏幕截圖 2024-01-13 161231.png (62.68 KB, 下載次數: 16)
下載附件
2024-1-13 16:17 上傳
我想顯示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;
- }
- }
復制代碼
感覺還是頻率的問題,如果用真的8550,可以嗎?
因為沒有實物,也是不了。
我用單片機直接連公共端控制的時候,是可以的。
|