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

📄 main.c

📁 要用到开发工具SD-H08
💻 C
字号:
/*-----------------------------------------------------*
*工 程 名:	                                
*硬件连接:                                
*程序描述: SD-HC08 模板生成                            
*/
/*[头文件]*/
#include "GP32C.h"                //映像寄存器地址头文件
#include "KB.h"
/*[主函数]*/
void main()
  { unsigned int va;
  	unsigned char p,ko;
  	KB_Init();
  	while(1)
  	{
    	do
     		{
     		ko=KB_Scan();
     		}while(ko==0xff);//查找有没有按键按下,有就跳出,
     		va=KB_Def(ko);
     		Timer(va);
    	do
    		{ko=KB_Scan();
    		p=((ko==0xff)|(ko==0xD7)|(ko==0xE7));
    		}while(!p);//查询按键有没有放开,当放开就停止
    	T1SC|=1<<TSTOPBit;//关记数器,第五位.
    	DDRD=0xff;
    	PTD|=0xcf;//使数据口为I/o模式,输出为低电平(为1)
  	}
  }
/*定时器初始化设计*/
void Timer(unsigned int frq)
{	unsigned int frq_c;
	unsigned char frqh_w,frql_w;
	frq_c=38400/frq;//得到频率值所对应的周期
	frq=((frq_c*2)>>8)&0x00ff;//得到高八位的数值
	frqh_w=frq;
	frq=((frq_c*2)&0x00ff);//得到相应的低八位
	frql_w=frq;
     //禁止溢出中断、不启动计数、分频因子=64
     T1SC=0b00100110;//分频系数为64,不容许中断,定时器停止
     T1SC0=0b00010110;	 //0b00010110设置通道0输出捕捉模式,
	                    //不允许比较中断,输出电平反转
     //计数寄存器初值=0x0000
     T1CNTH=0x00; T1CNTL=0x00;
     //对应的数值产生对应的频率值,在通道寄存器溢出时翻转;
     T1CH0H=frqh_w; T1CH0H=frql_w;
     //允许定时器1计数寄存器计数
     T1SC&=~(1<<TSTOPBit);
}/*定时器结束*/
    



⌨️ 快捷键说明

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