求高人给这个程序注释 关于防盗报警系统的C语言程序

求高人给这个程序注释 关于防盗报警系统的C语言程序,第1张

#include <reg52.h> //调用头文件

typedef unsigned char uint8 //简写unsigned char 为uint8

typedef unsigned intuint16

sbit s1 =P1^0sbit s3=P3^2 //定义报警触发端口

sbit light=P3^0sbitspeaker=P3^1//定义灯和报警器响声端口

sbit zhishi=P1^2//未用

void baojing()

{

uint8 counter //计时标志

TMOD = 0x01 //设置中断模式

TH0 = 0xB8//计时时间高位

TL0 = 0x00//计时时间低位

TR0 = 1 //中断标志

while(s3)

{

if(1 == TF0)

{

TF0 = 0

TH0= 0xB8//重新赋值

TL0 = 0x00

counter++//累加

}

if(25 == counter) // 累加到25则清零

{

counter = 0

light = ~light //效果是灯闪

speaker=~speaker //效果是声音叫

}

}

}

void zs()

{

zhishi=s3zhishi=s1 //忽视

}

void fun()

{

if(s1==0) baojing() //因为该函数只调用一次 所以要么一上电报警 要么程序跑飞

}

void main()

{

zs()

fun()

}

求采纳 谢谢

三菱 M70系统报警程序显示c怎么解除

是修改9000开头的程序,机床厂家一般用作辅助动作的程序,一般做了保护。

参数 1121 :1

1122 : 2

都改为 0,就可以对9000开头的程序进行编辑和复制了。

请注不要更改里面的内容,

另 参数 8105 编辑锁定B 也需要改成 0。 三善精密机械为你解答

K1你就作一个电源开关吧

#include<reg52.h>

sbit beep=P1^0 // 定义蜂鸣器

long int code table[]= // 定义发出不同频率的各个时间长度table表,因为定义

//晶振为12MHZ,所以一个周期也正好为1US。

{

2000,4000

}

long int num1,num2

char num

void main()

{

TMOD=0x11 //定义定时器0,1工作方式1

EA=1ET0=1ET1=1

TH0=(65535-50000)/256 //装载定时器0初值,50ms为一次中断

TL0=(65535-50000)%256

TH1=(65535-1)/256 //装载定时器1初值,1us为一次中断

TL1=(65535-1)%256

TR0=1 //打开定时器0

while(1)

{

if(num1==2) //判断定时器0中断了2次,也就是100ms

{

TR0=0 //关闭定时器0

TR1=1 //打开定时器1

beep=0 //蜂鸣器报警

num1=0//让num1清零,以备再次计数

}

if(num2==table[num]) //判断当时间达到第num个秒数

{

TR1=0 //关闭定时器1

TR0=1 //打开定时器0

num2=0 //让num2清零,以备再次计数

beep=1 //关闭蜂鸣器

num++ //让num循环计数

}

if(num==2)

{

num=0

}

}

}

void T0_time()interrupt 1

{

TH0=(65535-50000)/256

TL0=(65535-50000)%256

num1++

}

void T1_time()interrupt 3

{

TH1=(65535-1000)/256

TL1=(65535-1000)%256

num2++

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存