|
學(xué)校留的課設(shè)作業(yè)
給大家放出來 看一看
萌新一個 有問題請大佬們 指導(dǎo)
啊 要是能送點 積分就完美了啊,這樣我就能去下載 大佬們的程序研究了。
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
-
- Unsigned char smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
- unsigned char smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78};
- unsigned char table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- uchar i,k,num;
-
- sbit led0=P2^0;
- sbit smg1=P0^0;
- //延時函數(shù)//
- void delay_50us(uint t)
- {
- ucharj;
- for(;t>0;t--)
- for(j=19;j>0;j--);
- }
- void delay_50ms(uint t)
- {
- uintj;
- for(;t>0;t--)
- for(j=6245;j>0;j--);
- }
- 主函數(shù)
- void main()
- {
- TMOD=0X01; //設(shè)置定時器0為工作方式
- TH0=(65536-50000)/256; //設(shè)置初值
- TL0=(65536-50000)%256;
- EA=1; //打開總開關(guān)
- ET0=1; //′打開定時器中斷
- TR0=1; //啟動定時器
- while(1)
- {
- if(k==20)
- {
- k=0;
- P2=table[i];
- P0=smg_du[num];
- i++;
- num++;
- if(num==8)
- num=0;
- if(i==8)
- i=0;
- }
- }
- }
- void timer() interrupt 1 //注意此處的中斷號不要寫錯
- {
- TH0=(65536-50000)/256; //設(shè)置初值
- TL0=(65536-50000)%256;
- k++;
- }
復(fù)制代碼
|
|