怎样用单片机定时器设计0到9秒的循环程序

怎样用单片机定时器设计0到9秒的循环程序,第1张

#define uint unsigned int

#define uchar unsigned char

#include <reg52.h>

uint i

uchar code TAB[]=[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}

void main(void)

{

TMOD=0x22 /*定时器0设置为工作方式2,基准定时(256-6)/1M=0.25ms*/

TH0 =6//赋T0的预置值6,溢出4000次就是1秒钟

TL0 =6

ET0=1 //打开定时器0中断

EA=1//打开总中断

TR0=1 //启动定时器

while(1) //程序循环

{

P3=TAB[(i)]//p3送数

}

}

//定时器0中断

void timer0(void) interrupt 1 using 1

{

static uint t //注意t的范围,这里涉及到C51变量取值范围这个知识点

t++

if(t==4000) //T0的预置值6,溢出4000次就是1秒钟,晶振12MHz

{

t=0

i++

i=i%10

}

}

加个GOTO语句实现:::3600为3600s(为1小时,根据情况而改)后运行目标程序,然后进行循环。:aping 127.1 -n 3600start \\server\update$\MZDDESK\MZDDESK.exegoto :a 这是我的回答,谢谢采纳!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8004604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存