利用TA89C2051设计的电子琴方案

[10-10 20:38:44]   来源:http://www.88dzw.com  单片机学习   阅读:8374

文章摘要:工作方式1:16位定时/计数方式,因此,最多可以计到2^16,也就是65536次。对于12MHz晶振,工作方式1最大定时时间是65536 μ s。工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多可以计到2^8,也说是256次。对于12MHz晶振,工作方式1最大定时时间是256 μ s。计数初值的计算方法:用最大计数量减去需要的计数次数即可。例:如果T0运行于定时状态,单片机的晶振是12MHz,要求定时lOOus,那么定时器要计 100个机器周期,当TO工作在工作方式O时计数初值应该是8192—100=8092;工作在方式1时的计数初值应该是65536-100= *36;工作在方式2

利用TA89C2051设计的电子琴方案,标签:单片机开发,单片机原理,http://www.88dzw.com

  工作方式1:16位定时/计数方式,因此,最多可以计到2^16,也就是65536次。对于12MHz晶振,工作方式1最大定时时间是65536 μ s。

  工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多可以计到2^8,也说是256次。对于12MHz晶振,工作方式1最大定时时间是256 μ s。

  计数初值的计算方法:用最大计数量减去需要的计数次数即可。例:如果T0运行于定时状态,单片机的晶振是12MHz,要求定时lOOus,那么定时器要计 100个机器周期,当TO工作在工作方式O时计数初值应该是8192—100=8092;工作在方式1时的计数初值应该是65536-100= *36;工作在方式2,3时的计数初值应该是256—100=156。

  系统软件流程图如图所示。


  开机时。第一步是对定时器T0进行初始化,设定它的工作状态(对于本系统将T0设定为工作方式O);然后判断是否有键按下,如果没有按键按下,继续判断,如果有按键按下,则判断是哪个键按下;再根据按键的功能将计数初值装入定时器T0中中并启动T0,当T0定时完毕后,重新装入计数初值继续定时并将P3. 6取反,再次定时完毕后再一次的装入计数初值继续定时并将P3.6取反,一直循环此操作直到按键释放为止,按键释放后停止T0工作并再次判断是否又有按键按下,并继续执行以前的过程。


  定时器T0工作在方式0,13位计数方式所以最大的计数次数为2^13=8192次,由于单片机的晶振是12MHz则机器周期是1 μ s,即定时器最大可以定时8192 μ s。各个音符周期的一半即高电平或低电平持续的时间就是定时器需要定时的时间,所以对于各个音符的计数初值计算方法如下:

  设音符的频率为f,则计数初值=8192一各个音符的周期=8192-

  计数初值如表2所示:

上一页  [1] [2] [3] 


Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习

《利用TA89C2051设计的电子琴方案》相关文章