/******单片机多任务模板******/
#include
#define TASK_NUM 2 //任务数量
#define FRE(x) 10000/x //定义频率
unsigned char code s[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管0---9
unsigned int task_delay[TASK_NUM];//定义每个任务所需延时
unsigned int i=0;
void Init_Timer0(){
EA=1;
ET0=1;
TR0=1;
TMOD=0x02;
TH0=TL0=256-100; //12M晶振10000Hz
}
void task0(){ // 任务函数
P0=~P0;
}
void task1(){ // 任务函数
P1=~P1;
}
void main(){
Init_Timer0();
while(1){
if(task_delay[0]==0){task0();task_delay[0]=FRE(1);} // 扫描任务函数
if(task_delay[1]==0){task1();task_delay[1]=FRE(10);} // 扫描任务函数
}
}
void timer0()interrupt 1{
for(i=0;i if(task_delay[i])
--task_delay[i];
}
关键字:单片机 多任务模板
引用地址:
单片机最简单的多任务模板
推荐阅读最新更新时间:2024-03-16 15:25
基于变频控制系统单片机外围电路设计
单片机 加上适当的外围器件和应用程序,构成的应用系统成为最小系统。文章对变频 控制 系统 单片机 外围 电路 的设计进行了探讨。 本次设计采用选择PHILIPS 半导体 公司带手动复位功能的产品MAX708。MAX708还可以监视第二个 电源 信号,为处理器提供电压跌落的预警功能,利用此功能,系统可在 电源 跌落时到复位前执行某些安全操作,保存参数,发送警报信号或切换后备 电池 等。 另外,系统还扩展了可编程外围芯片PSD303。由于系统的 I/O口数量与实际所需数量还有很大的差距,故系统又扩展了两片8255A,一片用于接键盘和显示电路,一片用于接触发信号、紧急停车信号等。 一、键盘与显示电路 在本次设计中,设置了一个9按
[模拟电子]
用PIC16F877单片机实现的IC卡读写器
引言 本设计的主要目的是介绍IC卡的数据存储技术和IC卡的数据通信,因而使用存储器卡。由于本设计中既可与IC卡进行串行同步通信,又要与上位机进行中行异步通信,因而需要选择一种同时具有这两种通信方式的单片机。因为PIC16F877不仅具有本设计所需要的两种通信方式,而且还具有运行速度快、低功耗、价格低等优点,所以选择PIC16F877单片机作为本设计的单片机。 图1是本设计的电路图,图中电源变换电路和发光二极管等指示电路没有画出。图中的二极管电路是单片机与IC卡通信数据线的保护电路。当数据线上的电压为负电压时,与地相连的二极管导通;当数据线上的电压大于+5V时,与+5V相连的二极管导通,从而保证数据线上的电压在0V~+5V之间,
[单片机]
MCS-51单片机指令系统(1)
指令系统概述 指令是计算机用于控制各种功能部件完成的某一特定动作的指示和命令。一台计算机能识别和执行的指令集合即为其指令系统。指令系统是一套控制计算机执行操作的编码,通常称为机器语言。机器语言是计算机唯一能识别和执行的指令。指令系统由硬件决定,且不具有通用性。汇编语言可以准确地计算出控制操作时间并灵活地实施控制,及高效开发必须掌握指令系统和汇编语言。 在实际开发应用中,由于指令系统与汇编语言开发的繁琐和开发效率低则应用C语言开发或者直接应用固件集成库开发提高开发效率和时间。但是对于单片机及其他硬件开发过程,开发过程的调试和资源应用都应对于汇编和指令系统的熟悉才能真正的高效开发完成调试达到目的。 常用单位和术语 位(
[单片机]
基于I2C总线的MSP430单片机应用系统设计
串行护展总线技术是新一代单片机技术发展的一个显著特点。其中PHILIPS公司推出的I2C总线最为著名,它包括一个两端接口,通过一个带有缓冲区的接口,数据可以被I2C发送或接收,控制和状态信息则通过一套内存映射寄存器来传送。与并行扩展总线相比,串行扩展总线有突出的优点:电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等。本文是把I2C总线应用到MSP430单片机温度控制系统中的一个典型实例。 I2C总线是用2根双向I/O信号线(串行时钟线SCL和串行数据线SDA)把多种器件连接起来,并实现器件之间的串行通讯。 MSP430是TI公司一种具有超低功耗的功能强大的16位单片机,MSP430F169是该系列中的一
[单片机]
单片机PIC16C7X在低功耗识别抄表的应用
摘要: 介绍一种低功耗的自动识别抄表系统。详细介绍其结构和工作原理、设计思相,并给出两种信息钮的操作方法。
关键词: 低功耗 识读器 通信座 接触型iButton1990A 感应型TK5550
目前,许多行业的抄表系统,一般都停留在手工抄写然后人工汇总的水平上。随着经济改革的深入发展,人们要求信息及时、准确、全面;显然,手工抄写不能满足经济生活的要求。本文介绍了一种用单片机控制的抄表系统,可以记录多项信息,具有低功耗、低成本、便于携带、易于操作等特点,非常适合电厂、化工厂等相关行业的抄表系统。
1 系统的总体结构及工作原理
该系统由信息讯、识读器、通信座、计算机组成。将一个包含特定标识
[测试测量]
51单片机的启动文件内容
在我们使用kei c51创建一个 51单片机 项目时,会有如下图所示的提示: keil 创建新项目时,提示是否添加启动文件 一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加? 今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!” 启动代码第一段 ▼以下是启动代码原文第一段: $NOMOD51 ;------------------------------------------------------------------------------ ; This file is
[单片机]
基于单片机设计的的USB接口电路
主要芯片介绍 本设计采用控制芯片P89C61x2和接口芯片ISP1581实现USB接口电路的设计。 P89C61x2包含1024B RAM、64KB Flash存储器、32个I/O口、3个16位定位/计数器、6个中断源-4个中断优先级-嵌套的中断结构、1个增强型UART、片内振荡器和时钟电路。此外,器件的静态设计使其具有非常宽的频率范围,可选择1MHz~12MHz的晶体振荡器。具有两个软件可选的节电模式-空闲模式和掉电模式。 USB接口芯片ISP1581是一种价格低、功能强的USB接口器件,符合USB2.0规范,并为基于微控制器或微处理器的系统提供了高速USB通信能力;具有7个IN端点,7个OUT端点和1个
[单片机]
单片机时钟的解析
时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。 8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。 机器周期 计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。8051系列单片机的一个机器周
[单片机]