⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 public.c

📁 用89c54单片机开发的32键扫描键盘程序。
💻 C
字号:
#pragma large
#include "public.h"



ULONG xdata  maxOverFlow=0xffff;
//ULONG xdata  oscFrequency=11059200;
ULONG xdata  oscFrequency=  11059200;


/*************************************/
//功能:延时ms毫秒
//ms:需要延时的毫秒
/*************************************/
void Delay(UINT ms)
{
     UINT  i,j;
    for(i=0;i<ms;i++)
    {
    	for(j=0;j<100;j++)
    	{
    		_nop_();
    	}
    }
}







void SetupComm0Para(ULONG iBaudRate)
{
	
    //tm=  256 -  (oscFrequency/32/6/iBaudRate);     
    //TL1=tm;            //定时器1作为串口1的波特率发生器,公式:bps=11059200/32/12/(256-TH1) 接 9600波特率 目前在89c54中使用了双倍速,这里公式中除12改为除6
	//TH1=tm;             //
	unsigned short T2Time;
	T2CON=0x30;//bps mode
	T2Time=  maxOverFlow -  (oscFrequency/16/iBaudRate)+1;     // T2=0ffffh-(11059200/(bps*16*2)),相同时不溢出。所有加一
    TL2=T2Time&0xFF;
	TH2=(T2Time&0xff00)>>8;
 	RCAP2L=T2Time&0xFF;
 	RCAP2H=(T2Time&0xFF00)>>8;



	REN=1; //允许串口接收位
		PS =0; //串行口中断声明为高优先级中断
	PSH = 1;  //优先级1
	ES= 1; //允许串行口中断
	//TR1=1; //开定时器1
	TR2=1;
   

    //T2=0ffffh-(11059200/(bps*16*2))//
    //set timer 2 to baud rate generator mode 9600 as serial port0
}

 

⌨️ 快捷键说明

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