共有回帖数 0 个
-
猛的这么一来还真不知道从那里开是讲好
我觉得应该从电路方面说起,不过考虑到说了可能也白说
我就先不说电路方面的问题了,要有人感兴趣我在继续
我今天就说一下 通用计时器
操作:
令端口B递加计数,以通用计时器T1来延时,时间为1秒
程序:如 TIME1.C
/*Filename : TIME1C.C*/
/*端口B递加计数,总计时间=200*5ms=1秒*/
#include "f240regs.h"/*这个我想就没有必要说了吧,要不明白自己查去*/
int i,del=200;
main(void)
{
OCRA=0;/*设定端口A及B为一般I/O*/
PBDATDIR=PADATDIR=0xffff;/*设定端口A及B输出全暗*/
InitCPU();
T1CNT=0;
TlPR=50000;/*设定T1周期=50000*0。1us=5ms*/
GPTCON=0x0000;/*禁用TxCMP*/
T1CON=0x1140;/*内部基本计时=cpu_clk/2=10MHz=0.1us,连续上数*/
while(1)/*重复执行*/
{
for(i=0;i0xff;i++)/*数据递加00---ff*/
{
PBDATDIR=~i!0xff00;/*数据由端口B低准位输出*/
while(del0)/*重复计时200次*/
{
while((EVIFRA&0x0080)==0);/*若上数T1CNT〈 T1PR,T1PINT=0,等待之*/
EVIFRA=EVIFRA|0x0000;/*清楚T1PINT标志*/
del--;/*重复次数-1*/
}
del=200;/*重复计时200次,总计时间=200*5ms=1秒*/
}
}
}
今天说一下图形界面追踪
图形界面追踪功能可将追踪的数据以图形界面显示出来
#include "f240regs.h"
int i=0,y=0;//数据计数及结果=0
int datal[200]={0};//定义及清除datal矩阵变量
void main(void)
{
InitCPU();
while(i200)//追踪组数据
{
y=y+i^2;//计算公式
i++;//数据计数递加
datal=y;计算结果存入datal矩阵内
}
}
楼主 2016-03-03 17:12 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知