/**使用过basic语言的朋友都知道,basic中有一种重要的功能,就是时间陷阱。它能是主程序的运行和对事件的处理异步进行。通过设置时间陷阱。
可以在规定的时间间隔到达后自动执行某个子程序。子程序运行结束后又回到主程序的断点处继续执行。basic语言提供了有关时间陷阱的语句。
可以直接调拥獵语言没有这样的功能,为了能实现上述功能,这里给出了几个子函数以帮助实现。
on_timer(t,p): 设定定时时间间隔为t(以秒为单位).并规定了事件处理子函数的入口点。t是整。
型数,p是指向子函数的指针。
timer_on():启动定时器开始计时。以后每个t秒,指针p所指向的子函数运行一次。
timer_off():关闭定时器。
下面是子函数清单。
*timer 模块源程序清单*/
#include<>
#define sizeprogram 375void interrupt (*oldtimer)()void interrupt newtimer();
static struct sregs seg;
unsigned intsp,intss;
unsigned myss,stack;
unsigned vseg;
int running=0;
int m1,m2,m3=0;
int (*sub_ptr)()
void on_timer();
void timer_on();
void timer_off();
void on_timer(t,pp)
int t;
int (*pp)()
sub_ptr=pp;
m1=t;segread(&seg);
stack=(sizeprogram-(
myss=_ss;
oldtimer=getvect(0x1c);
void timer_on()
m2=0;m3=1;
setvect(0x1c,newtimer);
void timer_off()
m3=0;setvect(0x1c,oldtimer);
void interrupt newtimer()(*oldtimer)()
if(running==0)
running=1;
disable();
intsp=_sp;
intss=_ss;
_sp=stack;
_ss=myss;
enable();
if(m3==1)
disable();
_sp=intsp;
_ss=intss;
enable();
running=0;
C语言大作业 自己做的3
author zhouming include define n 7顶点数目 define i 999表示无穷大 int graph n n图的邻接矩阵 int list n存放拓扑序列 int topologicalorder拓扑排序函数 void main主函数 int i,j,k,l int ...
C语言大作业
一 关于期末考试成绩 1 理论课成绩 60 笔试考试 笔试考试成绩 理论课综合训练成绩扣分 60 2 实验课成绩 40 上机考试 注 不能补考 机考成绩 上机作业扣分 旷课扣分 其它扣分 40 二 关于平时成绩 注 不能补考 采取扣分方式,扣期末实验课成绩,扣分必在期末考试前完成 1 旷课 迟到及早...
C语言大作业封面
班级 10物理。学号 2010061251 姓名 崔文明。2013年6月20日。include include c语言大作业。班级 10物理。学号 2010061251 姓名 崔文明。2013年6月20日。include include include define m 3 typedef stru...