timer0_overflow.c

来自「单片机快速入门原程序」· C语言 代码 · 共 30 行

C
30
字号
sfr TH0  = 0x8C;
sfr TL0  = 0x8A;
sbit TF0  = 0x8D;
sbit ET0  = 0xA9;
sbit P10 = 0x90;
extern xdata unsigned char TxByte;/*要发送的字节数据*/
extern unsigned char nTxIndex;/*发送单个字符的位指针*/
extern bit nTxNextBit;/* 单个字符数据位*/
extern  bit UartBusy;

void Timer0_Overflow() interrupt 1 using 0
{	
			{
	 		P10=nTxNextBit;/* 产生数据位 */
			TH0=0xFF;	/* 写入计数初值到TH0 */
			TL0=0x97;	/* 写入计数初值到TL0 */
			nTxIndex++;
			nTxNextBit=(TxByte>>nTxIndex)&0x01;
				//计算下一位
			}
	if(nTxIndex==7)
			nTxNextBit=1;/* 下一位停止位 */ 
					/* 1T后溢出 */	
		TF0=0;		/* 定时器0中断标志位清0 */
if(nTxIndex==8)			//发送完毕
	{ET0=0;		/*关闭定时器0中断*/
	UartBusy=0;	/*Uart发送完毕*/
	nTxIndex=0;	/* 发送下一个数据的D0位 */
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?