STM8的C语言延时及外部中断编程

STM8的C语言延时及外部中断编程,第1张

研究了下,你描述的逻辑好像有矛盾,

我疑问如下:

控制过程如下:

pin17(PC7)收到低电平脉冲信号(脉冲长度多少?),

计时器启动(计数时间5秒?),

pin19(PD2)输纯散皮出高电平(在计数计数结束后输出低电平?);

当m为奇数时,pin13(PC3)输出高电平(PIN14输出低电平?);

当m为偶数时,pin14(PC4)输出高电平(PIN13输出低电平?)。

最终计数结束后输出状态如何?

pin10(PA3)有高电平脉冲信号输入时(脉冲长度多少?),

pin19(PD2)停止输出(输出低电平还是做差高电平?);

如果在一个计时周期内(5秒吗?),

pin10(PA3)没有高电平信号输入(一直维持低电平吗?),

则pin18(PD1)输出高电平(有高电平脉冲信号时输出低电平?)。

pin15(PC5)有高电平脉冲信号输入时(脉冲长度多少?),

pin13(PC3)停止输出(输出低电平还是高电平?);

如果在一个计时周期内(5秒吗?),

pin15(PC5)没有高电平信号输入(一直维持低电平吗?),

且计数器值m为奇数,则pin18(PD1)输出高电平(m是偶数时怎么处理?)。

。。。。。。。。掘拆。。。

主要程序到底是触发后输出一个序列电平还是测量输入脉冲?

vc6.0中使用陵悔__asm关键字。。vs中需要开启此功能。在linux中,gcc/g++中使用asm关键字来加入。颤颂汇编和C语句这间的联系是通过尺洞正上面asm声明中可选的outputoperandlist和inputoperandlist。

单片机的C语言关于延时函数主要有两种一种是用for循环,通过单片机执行空指令达到延时的目的如:for(i=0i<100i++){}这轿陵行个简单的语句会执行100次空指令每一次指令的时间可以大概确定因此这个是最简单的延时函数第二种是通过定时器的方式来实现定时器是通过闭哗对单片机的晶振进行计数然后在定时器汪弯中断服务函数里面实现定时时间的计算及设置51单片机的定时器0中断服务函数为voidtime0()interrupt1{}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存