当前位置:首页 » 操作系统 » 定时器源码

定时器源码

发布时间: 2023-07-22 14:47:50

1. sTC单片机 用定时器定时 来控制步进电机 驱动器L298求 源码 可调速


/*-----------------------------------------------

名称:步进电机实验

编写:shifang

日期:2013.12

修改:无

内容:本程序用于测试两个4相步进电机常规驱动 用矩阵键盘 调节速度

红外传感器 测速

1602液晶显示 1-30速度等级,数字越大,速度越大

------------------------------------------------*/


#include <reg52.h>

#include"LCD1602.h"

#include "jzhjp.h"


sbit cesu1=P3^2;

sbit cesu2=P3^3;


unsigned char code table[11]="0123456789.";// 显示段码值0~9

unsigned char code table1[]="A:"; //电机1正转加减速等级

unsigned char code table2[]="B:"; //电机1反转加减速等级



uint count=0; //外部中断0计脉冲定义变量

uchar temp1=0; //定时器1计数定义变量

long int v1; //电机1的速度


void Init_Timer0(void); //定时器中断初始化函数

/*------------------------------------------------

主函数

------------------------------------------------*/

void main()

{

unsigned char num1,num2;


Init_Timer0(); //定辩肆时器中断初始伍灶罩化

LCD_init(); //LCD1602初始化

write_com(0x80); //显示A:

for(num1=0;num1<2;num1++)

{

write_data(table1[num1]);

delay(5);

}

write_com(0x80+0x40); //显示B:

for(num2=0;num2<2;num2++)

{

write_data(table2[num2]);

delay(5);

}


Coil_OFF //初始化全部断电

while(1)

{

write_com(0x82); //显示电机1正转加速值

write_data(table[Speed/10]);

write_data(table[Speed%10]);

write_com(0x80+0x42); //显示电机1反转加速值

write_data(table[Speed1/10]);

write_data(table[Speed1%10]);


write_com(0x80+11); //显示电机1速度值

write_data(table[v1/100]);

write_data(table[v1%100/10]);

write_data(table[10]);

write_data(table[v1%10]);

keyscan(); //矩阵键盘腔闹扫描

}

}


/*------------------------------------------------

定时器初始化子程序

------------------------------------------------*/

void Init_Timer0(void)

{

TMOD |= 0x11; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响

//TH0=0x00; //给定初值

//TL0=0x00;

TH1=(65536-100000)/256; //给定初值50ms

TL1=(65536-100000)%256;

ET1=1; //定时器1中断打开

PT0=1; //优先级打开

EA=1; //总中断打开

IT0=1; //1表示边沿触发

IT1=1; //1表示边沿触发

}

/*------------------------------------------------

定时器0中断子程序

------------------------------------------------*/

void Timer0_isr(void) interrupt 1

{

static unsigned char times,i;

static unsigned char times1,j;


TH0=(65536-500)/256; //重新赋值 0.5ms

TL0=(65536-500)%256;

if(flag==1) //电机1正转

{

if(times==(50-Speed))

{

times=0;

switch(i)

{

case 0:Coil_a1;i++;break;

case 1:Coil_ab1;i++;break;

case 2:Coil_b1;i++;break;

case 3:Coil_bc1;i++;break;

case 4:Coil_c1;i++;break;

case 5:Coil_cd1;i++;break;

case 6:Coil_d1;i++;break;

case 7:Coil_da1;i++;break;

case 8:i=0;break;

default:break;

}

}

else

times++;

}

if(flag1==1) //电机1反转

{

if(times1==(50-Speed1))

{

times1=0;

switch(j)

{

case 0:Coil_da1;j++;break;

case 1:Coil_d1;j++;break;

case 2:Coil_cd1;j++;break;

case 3:Coil_c1;j++;break;

case 4:Coil_bc1;j++;break;

case 5:Coil_b1;j++;break;

case 6:Coil_ab1;j++;break;

case 7:Coil_a1;j++;break;

case 8:j=0;break;

default:break;

}

}

else

times1++;

}


}

/*------------------------------------------------

定时器0中断子程序

------------------------------------------------*/

void time1() interrupt 3

{

TH1=(65536-10000)/256; //重装初值10ms

TL1=(65536-10000)%256;

temp1++;

if(temp1==100) //1s采样1次

{

temp1=0;

v1=count*3; //速度单位:转/min

count=0; //v=(count/20/1)*60=count*3;

}

}

/*--------------------------------------------------

外部中断0子程序

---------------------------------------------------*/

void ISR_INT0(void) interrupt 0

{


if(cesu1==0) //电机1码盘脉冲计数

{

delay(5);

if(cesu1==0)

{

count++;

}

while(!cesu1);


}

}

显示部分你自己弄一下

2. 求每日定时在服务器的FTP上取数据文件的源码(java)

这个是可以向服务器端发送文字的程序,就是在客户端发送一句hello在服务器也可以接受到hello,这个程序可以修改一下就可以了。具体修改方法是增加一个定时器,然后把字符流改成字节流,现在有点忙,你先研究啊,近两天帮你写写看。
服务器端:
import java.net.*;
import java.io.*;

public class DateServer {
public static void main(String[] args) {
ServerSocket server=null;

try{
server=new ServerSocket(6666);
System.out.println(
"Server start on port 6666...");
while(true){
Socket socket=server.accept();
new SocketHandler(socket).start();
/*
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()
)
);
out.println(new java.util.Date().toLocaleString());
out.close();
*/
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(server!=null) {
try{
server.close();
}catch(Exception ex){}
}
}
}
}

class SocketHandler extends Thread {
private Socket socket;
public SocketHandler(Socket socket) {
this.socket=socket;
}
public void run() {
try{
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()
)
);
out.println(
new java.util.Date().
toLocaleString());
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
客户端:
package com.briup;

import java.io.*;
import java.net.*;

public class FtpClient {
public static void main(String[] args) {
if(args.length==0) {
System.out.println("Usage:java FtpClient file_path");
System.exit(0);
}
File file=new File(args[0]);
if(!file.exists()||!file.canRead()) {
System.out.println(args[0]+" doesn't exist or can not read.");
System.exit(0);
}

Socket socket=null;

try{
socket=new Socket(args[1],Integer.parseInt(args[2]));
BufferedInputStream in=new BufferedInputStream(
new FileInputStream(file)
);
BufferedOutputStream out=new BufferedOutputStream(
socket.getOutputStream()
);
byte[] buffer=new byte[1024*8];
int i=-1;
while((i=in.read(buffer))!=-1) {
out.write(buffer,0,i);
}
System.out.println(socket.getInetAddress().getHostAddress()+" send file over.");
in.close();
out.close();
}catch(Exception e){
e.printStackTrace();
}finally{
if(socket!=null) {
try{
socket.close();
}catch(Exception ex){}
}
}
}
}

3. C语言 电子时钟源代码程序 带图 谢谢 最好有注释

#include <stdio.h>

#include <time.h>

#include"stdlib.h"

#include "windows.h"

void main ()

{

while(1)

{


time_t rawtime;

struct tm * timeinfo;


time ( &rawtime );

timeinfo = localtime ( &rawtime );

printf ( "07The current date/time is: %s", asctime (timeinfo) );


Sleep(1000);

system("cls");

}


}

热点内容
知网查数据库吗 发布:2025-03-15 21:11:44 浏览:295
c语言截屏 发布:2025-03-15 21:06:57 浏览:606
安卓手机桌宠哪个最好 发布:2025-03-15 21:05:08 浏览:463
vps自动脚本 发布:2025-03-15 20:50:29 浏览:60
php刷新重复提交 发布:2025-03-15 20:50:26 浏览:307
艾莫迅plc编程电缆 发布:2025-03-15 20:44:05 浏览:303
妖妖灵脚本 发布:2025-03-15 20:36:56 浏览:257
公司自己搭建ftp 发布:2025-03-15 20:36:07 浏览:63
如何增加配置使半袖变得不单调 发布:2025-03-15 20:33:37 浏览:350
linux显示目录 发布:2025-03-15 20:30:42 浏览:661