- #include <STC15W204S.h>
- #include <intrins.h>
- #define uchar unsigned char //定義一下方便后面使用
- #define uint unsigned int //定義一下方便后面使用
- #define ulong unsigned long //定義一下方便后面使用
- #define COMM_BAUD_RATE 9600 //串口波特率
- #define FOSC 11059200L //晶振設(shè)置,默認使用11.0592M Hz,
- sbit KEY1 = P3^3; //觸發(fā)
- uchar code Table[]={0X03,0Xfd,0X14,0Xff,0X00,0X00,0X00,0X0f,0X6b};
- void Delay10ms() //@11.0592MHz
- {
- unsigned char i, j;
- i = 18;
- j = 235;
- do
- {
- while (--j);
- } while (--i);
- }
- void UartInit(void)
- {
- SCON = 0x50;//8位數(shù)據(jù),可變波特率
- AUXR |= 0x01;//串口1選擇定時器2為波特率發(fā)生器
- AUXR |= 0x04;//定時器2時鐘為Fosc,即1T
- //內(nèi)部RC時鐘設(shè)置為11.0592的定時器2初值設(shè)置
- T2L = 0xE0;//設(shè)定定時初值
- T2H = 0xFE;//設(shè)定定時初值
- AUXR |= 0x10;//啟動定時器2
- ES = 1 ;//允許UART串口中斷
- EA = 1 ;//允許總中斷
- }
- void send(uchar dat)
- {
- SBUF=dat; //發(fā)送指令到SBUF
- while(!TI); //等待發(fā)送結(jié)束
- TI=0; //清除結(jié)束標志,以便再發(fā)送數(shù)據(jù)
- }
- void main()
- {
- uchar i;
- UartInit();//串口寄存器的初始化設(shè)置
- while(1)
- {
- if(KEY1==0) //判斷是否按下鍵盤
- {
- Delay10ms();
- if(KEY1==0)
- {
- for(i=0;i<9;i++)
- send(Table[i]);
- /* send(0X03);
- send(0XFD);
- send(0X14);
- send(0XFF);
- send(0X00);
- send(0X00);
- send(0X00);
- send(0X0F);
- send(0X6B);
- */
- }
- while(!KEY1);//按鍵鎖定,每按一次count只加1.
- }
- }
- }
復制代碼 |