- #include <STC32G.H>
- #include <stdio.h>
- unsigned int count = 0;
-
- void System_Init()
- {
- EAXFR = 1;
- CKCON = 0x00;
- WTST = 0x00;
- //高阻输入模式
- P3M0 = 0x00; P3M1 = 0x10;
- EA = 1;
- }
- void Uart1Init(void) //9600bps@24.000MHz
- {
- SCON = 0x50; //8位数据,可变波特率
- AUXR |= 0x40; //定时器时钟1T模式
- AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
- TMOD &= 0x0F; //设置定时器模式
- TL1 = 0x8F; //设置定时初始值
- TH1 = 0xFD; //设置定时初始值
- ET1 = 0; //禁止定时器中断
- TR1 = 1; //定时器1开始计时
- }
- void Timer0_Count()
- {
- TMOD = TMOD|0x04; // 16位计数模式
- TL0 = 0xff;
- TH0 = 0xff;
- ET0 = 1;
- TR0 = 1;
- }
- void Timer0_handler() interrupt 1
- {
- count++;
- }
- void UART_SendByte(unsigned char Byte)
- {
- SBUF = Byte;
- while(!TI);
- TI = 0;
- }
- void main()
- {
- System_Init();
- Uart1Init();
- Timer0_Count();
- while(1)
- {
- UART_SendByte((unsigned char)(count>>8));
- UART_SendByte((unsigned char)count);
- }
- }
复制代码
|