资源简介
51基本框架
代码片段和文件信息
#include“cpu.h“
unsigned char sask_10ms_5sask_10ms_10sask_10ms_50;
bit execute_10ms_flagexecute_50ms_flag execute_100ms_flagexecute_500ms_flag;
/*********************************************
name:定时计算器配置
设计者:afei
功能 count_time 0:定时器 1:计数器 2 配合引脚INTx=1开始定时
mode:0(13bit),1(16bit)2(8bit)3方式
*********************************************/
void Time_Count0_Init(unsigned char count_time unsigned mode)
{
unsigned char temp;
temp = (count_time<<2)+mode;
TMOD &= 0xf0;
TMOD |= temp;
TH0=0Xdb; //配置初始值
TL0=0Xf0;
}
void start_time0(void)
{
ET0=1;//开启中断 当总中断开启产生中断
TR0=1;
}
/*********************************************************
比特率:=(2\smod)/32*((clk/12)/(256-TH1))
// 9600=(2\smod÷32)×((11.0592M/12)/(256-TH1))
********************************************************/
void Time_Count1_Init(unsigned char count_time unsigned mode)
{
unsigned char temp;
temp = (count_time<<2)+mode;
TMOD &= 0x0f;
TMOD |= (temp<<4);
TH1=0Xfa; //配置初始值
TL1=0Xfa;
}
void start_time1(void)
{
PCON=0X80; //波特率倍频
//ET1=1; //开启中断 当总中断开启产生中断
TR1=1;
}
void interrupt_pen(void)
{
EA=1; //开启总中断
IP=0x30; //配置优先级
/**************
IE: EA - ET2 ES ET1 EX1 ET0 EX0
IP: - - pt2 ps pt1 px1 pt0 px0
*/
}
/******************************************
name :外部中断方式配置
mode 0:低电平触发方式 1:下降沿触发
*******************************************/
void ext0_interruput_init(unsigned char mode)
{
IT0=mode;
EX0=1;
/**************************************
TCON : TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
***********************/
}
void ext1_interruput_init(unsigned char mode)
{
IT1=mode;
EX1=1;
}
/********************************************
name : 串口配置
模式13 需要设置定时器1比特率
串口中断不允许开 time1中断 (不然time1太频)
********************************************/
void Uart_Config(unsigned mode)
{
SCON = mode<<6;//(mode<<6);
//SM2 = 0;//设置多机通信
REN = 1;//允许接收
ES = 1;//开中断
}
void Send_Data(unsigned char dat)
{
unsigned char count;
count=0;
SBUF = dat;
while(!TI);
TI=0;
}
void Send_String(unsigned char *datunsigned char len)
{
while(len--)
{
Send_Data(*dat);
dat++;
}
}
/**********************************************
中断函数
**********************************************/
void timer0(void) interrupt 1 using 1
{
TH0=0Xdb; //配置初始值
TL0=0Xf0;
if(execute_50ms_flag==0)
{
sask_10ms_5++;
if( sask_10ms_5>5)
{
execute_50ms_flag=1;
}
}
if(execute_50ms_flag==1)
{
sask_10ms_5=0;
}
if(execute_100ms_flag==0)
{
sask_10ms_10++;
if( sask_10ms_10>10)
{
execute_100ms_flag=1;
}
}
if(execute_100ms_flag==1)
{
sask_10ms_10=0;
}
if(execute_500ms_flag==0)
{
sask_10ms_50++;
if( sask_10ms_50>50)
{
execute_50
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 64719 2011-09-21 21:10 51基本框架\dd.DSN
文件 1362 2011-09-21 21:10 51基本框架\dd.PWI
文件 1345 2011-09-21 21:12 51基本框架\poj.hex
文件 69 2011-09-21 21:12 51基本框架\poj.lnp
文件 17506 2011-09-21 21:12 51基本框架\poj.M51
文件 188 2011-09-21 21:14 51基本框架\poj.plg
文件 2187 2011-09-11 16:06 51基本框架\poj_Uv2.Bak
文件 2234 2011-09-21 21:07 51基本框架\poj.Uv2
文件 6376 2005-03-22 15:22 51基本框架\STARTUP.A51
文件 14048 2011-09-21 21:12 51基本框架\STARTUP.LST
文件 65976 2011-09-15 23:06 51基本框架\Last Loaded dd.DBK
文件 4023 2011-09-21 21:07 51基本框架\user\cpu.c
文件 1350 2011-09-21 20:21 51基本框架\user\cpu.h
文件 1173 2011-09-21 21:11 51基本框架\user\main.c
文件 629 2011-09-21 21:12 51基本框架\user\function.c
文件 237 2011-09-21 21:08 51基本框架\user\function.h
文件 749 2011-09-21 21:12 51基本框架\STARTUP.OBJ
文件 2820 2011-09-21 21:12 51基本框架\main.lst
文件 3405 2011-09-21 21:12 51基本框架\main.obj
文件 8327 2011-09-21 21:12 51基本框架\cpu.lst
文件 9274 2011-09-21 21:12 51基本框架\cpu.obj
文件 2013 2011-09-21 21:12 51基本框架\function.lst
文件 2680 2011-09-21 21:12 51基本框架\function.obj
文件 13232 2011-09-21 21:12 51基本框架\poj
....... 1573 2011-09-21 21:12 51基本框架\poj_Opt.Bak
文件 1570 2011-09-21 21:14 51基本框架\poj.Opt
目录 0 2011-09-21 21:10 51基本框架\user
目录 0 2011-09-21 21:10 51基本框架
----------- --------- ---------- ----- ----
229065 28
............此处省略1个文件信息
- 上一篇:C++_Primer_4th_习题答案
- 下一篇:c语言课件56883
评论
共有 条评论