当前位置: 首页 > news >正文

望江县住房和城乡建设局网站wordpress禁主题

望江县住房和城乡建设局网站,wordpress禁主题,网站备案登陆,旅游系统早就想写写这个了#xff0c;正好赶上有点时间#xff0c;写了一下基于51单片机的时间片轮转调度系统#xff0c;简单的rtos#xff0c;呵呵。直接上代码。 //基于51单片机时间片轮转的简单rtos。 #includereg52.h sbit led1 P2^7; sbit led2 P2^0; sbit key…早就想写写这个了正好赶上有点时间写了一下基于51单片机的时间片轮转调度系统简单的rtos呵呵。直接上代码。 //基于51单片机时间片轮转的简单rtos。 #includereg52.h sbit led1 P2^7; sbit led2 P2^0; sbit key P1^0; #define MAX_TASKS 3 //定义任务个数.必须和实际任务数一至 #define PUSH_TIMES 3 //时间中断中push使用的次数用debug看进入时间中断时的次数。 #define MAX_TASK_DEP (PUSH_TIMES4) //任务槽深度 //经过实验看debug的push次数加上4就行了。//没有考虑中断嵌套。有嵌套的再大。 unsigned char idata task_stack[MAX_TASKS][MAX_TASK_DEP]; //任务堆栈. unsigned char current_id; //当前活动任务号 unsigned char task_sp[MAX_TASKS]; //堆栈指针组每个任务一个字节任务调度前指向入栈的pc高字节。 unsigned int cicle1,cicle2; void Timer0_Init(void) //10毫秒11.0592MHz {AUXR 0x7F; //定时器时钟12T模式TMOD 0xF0; //设置定时器模式TL0 0x00; //设置定时初始值TH0 0xDC; //设置定时初始值TF0 0; //清除TF0标志ET0 1; //使能定时器0中断EA1; //开总中断 }//任务装入函数将任务的首地址(参数1)装入(参数2)指定的任务槽中. void task_load(unsigned int func, unsigned char taskid) { task_stack[taskid][0] (unsigned int)func 0xff; //把任务地址的低八位装入任务槽0号地址。task_stack[taskid][1] (unsigned int)func 8; //把任务地址的高八位装入任务槽1号地址task_sp[taskid] (unsigned char)task_stack[taskid][0]; //把堆栈的首地址送给sp数组。task_sp[taskid];//先把保存的数组sp值加1使它指向堆栈入栈pc的高位 //这里模拟了入栈过程先把任务地址放在任务槽的最低位置下次切换的时候就直接来这里找。if(taskid!0) //如果不是0号任务{task_sp[taskid] PUSH_TIMES; //给push和pop语句留下空间用debuge看汇编进入中断后的push//次数在文件首部改数字值} } void os_start() //启动程序{current_id 0; //把0号sp当作当前的首个spSP task_sp[0];} void task1() //任务1循环够5万次灯闪动一次 { while(1){ cicle1;if (cicle150000){cicle10;led1!led1;}} } void task2() //任务2循环够5万次灯闪动一次 { while(1){ cicle2;if (cicle230000){cicle20;led2!led2; }} } void task3() { while(1){ if(key0)cicle210000;// cicle110000;} } void Timer0_Isr(void) interrupt 1 //时间中断。调度任务。 {EA0; //进入核心临界区关中断task_sp[current_id] SP; //将进入时钟中断时的sp存入任务槽。if(current_id MAX_TASKS) //当前任务指向下一个任务号。如果任务号超过任务总数current_id0; //指向任务0SP task_sp[current_id]; //把新任务的pc地址给sp这样在时间中断出函数的时候系统自动把sp指向的值作为pc高8位并出栈。EA1; //开中断。 } void main() {//这里装载了三个个任务,因此在文件首部定义MAX_TASKS时也必须定义为3 task_load(task1, 0);//将task1函数装入0号槽任务可以装入任意槽。 task_load(task2, 1);//将task2函数装入1号槽 task_load(task3, 2);//将task3函数装入2号槽 Timer0_Init(); //定时器0初始化key1; //口线置位。TR0 1; //开始计时os_start(); //必须从任务在0号槽的任务开始} 虽然简单也可以继续学习了。
http://www.zqtcl.cn/news/477238/

相关文章:

  • 景翔物流网站建设公司企业网站优化排名
  • 余姚做网站62752762素材网站建设需要多少费用
  • dede网站后台导入文档许昌网站开发哪家好
  • 网站建设宣传psdwordpress 链接关系
  • 宁波网站建设免费咨询深圳做棋牌网站建设找哪家公司好
  • 安阳门户网站html5网页代码
  • 企业建站系统下载广州有几个区几个县级市
  • 时装网站建设的背景广州建设专业网站
  • 来年做那些网站能致富网站建设优化文档
  • 好看的商城网站企业所得税分录
  • 网站建设你懂的网站提高内容的丰富度创意
  • 菏泽做网站设计做一个简单的网站需要多少钱
  • html企业网站怎么做免费crm平台
  • 婚庆公司网站制作如何自己制作首页网站
  • ic外贸网站建设龙岩app制作
  • 长沙企业建网站绵阳市三台县城乡建设局网站
  • 常宁市城市建设规划管理局网站织梦网做网站步骤
  • 对网站开发实训的建议怎么把产品推广到各大平台
  • wap网站是什么意思啊网站建设网站模板
  • 湛江市建设局网站天津网站建设渠道
  • 做图专业软件下载网站深圳营销型网站哪家好
  • 手机网站模板用什么做高端展馆展厅设计方案
  • 长春企业网站seo国土网站建设自查报告
  • 建设电动车官方网站设立深圳公司
  • 蓝奏云注册网站工程设计方案主要内容
  • 建设官方网站企业网站公司可以做网站
  • 网站销售流程中装建设集团官网
  • 动易网站无法安装网站开发广告
  • 做网站类型注册域名com和cn
  • 织梦 做网站 知乎系统优化软件推荐