财经
×
好心游戏首页 > 问答列表 >

求51单片机1秒钟脉冲计数C语言程序

请问:求51单片机1秒钟脉冲计数C语言程序
请注意:本网坚决拥护中国共产党领导,坚决打击任何违规违法内容,若您发现任何有害信息,请E-Mail:513175919@qq.com举报,我们核实后将给予现金奖励!爱国是每个中国人应尽的责任,爱国从我做起!为实现中国梦,实现中国腾飞而努力!

      2019-08-14 07:22:07

采纳答案   单片机的系统时间为晶振频率的12分之一,如果晶振是12兆赫兹,那么单片机最小系统时间就是1us,所以可以用_nop_();指令达到精确延时,这条语句执行1次系统时间,具体的百度下就行了。

至于你说的1s,时间比较长,不适合用定时器,那么可以用嵌套循环语句,for、while、do while,要注意循环时使用不同的变量类型,所消耗的时间也不同。百度下proteus,这个是能将keil生成的c工程文件进行软件仿真的一个软件,和multisim一样很简单,里面有示波器,用示波器看仿真时间,自己用循环和_nop_()指令凑1秒出来就行了    1970-01-01 08:00:00

  用定时器 计数值不够 就先定1和数比如1ms 然后到100ms 累加另一个数到10 来获得1s时间    1970-01-01 08:00:00

  我不会c语言的,你若要汇编的,我可以给你,1秒=1000毫秒=1000000us,置于具体实现,可以采用查询方式,也可以采用中断方式,设晶振频率为6M赫兹,则机器周期为12/6M=2us,中断简单些,我说下中断程序,
T0(引脚P3.4)工作于定时方式,定时设置为100ms,使用中断,控制中断次数为10次溢出,共1000ms,然后T1(引脚P3.5)计数加一,具体计算如下:
T0采用方式一,计数初值x=2^16-(100*10^3/2)=10000H-C350H=3CB0H
T1采用计数方式一,这样是16位计数方式,可大量计数。
程序自己写吧,分给我吧    1970-01-01 08:00:00

ask1ask2ask3ask4ask5ask6ask7ask8ask9ask10ask11ask14ask13ask14ask15

热门图文更多>