单片机三角波c语言代码,使用51单片机实现三角波输出系统的设计资料说明

  • Post author:
  • Post category:其他


单片机(SCM)是单片机微型计算机(Single Chip Microcomputer) 的简称。 它是把组成微型计算机的各个功能部件:中央处理器CPU、随机存取存储器RAM 、只读存储器ROM、I/O 接口电路、定时/计数以及串行通信接口等部件集成在一块芯片中,构成一个完整的微型计算机。单片机具有体积小、可靠性高、功能强大、方便灵活等优点而得到广泛应用,主要涉及智能化仪器仪表、自动化装置、家用电器、医用设备、计算机网络和通信等领域。在教学、实验和生产的许多实验场合, 常常需要临时的频率可方便调节的信号发生器。但是市场上的函数发生器相对较贵,因为它们一般都是利用专用数字合成DSS 芯片, 虽然能产生任意波形并达到很高的频率,但是成本较高。而如果用分立元件组成函数发生器,通常只能产生低频信号,而且工作不稳定,不易调试。利用51 系列单片机制作一个简易的函数发生器,具有成本低、理论能产生任意波形,达到较高的频率,且易于设计和调试的优点。

基于性价比的考虑,决定采用STC 的89C51单片机来设计函数发生器, 使它能够产生幅度,频率在一定范围内可调的三角波。

系统由89C51单片机通过扫描键盘,按照幅度键(S1~S3)不同的键值来调用不同子程序实现多种幅度的产生, 按照频率键( S5~S7) 的不同的键值来改变延时实现多种频率的产生。由单片机产生的10 位串行数字信号通过P0口输入到TLC 5615进行D/A 转换,输出的模拟波形输出到示波器显示。如图1 所示。

波形的产生采用定点法,即将一个周期的三角波等间距的分为若干个点,计算出各点的对应的三角波函数值,并将其转化为10 位串行输入D/A 的数据格式,得到一个三角波函数表。通过程序将该表存于单片机的程序存储器中,可以制作多个表,从而产生多个幅度值,通过按键的控制,调用不同的子程序,也就调用了不同的函数表。当通过按键确定调用某个子程序时, 利用延时程序来产生延时, 延时时间到, 查表得到该点对应的输出值,然后通过D/A 转换得到该点的对应电压值。如此,周而复始的查表输出,就得到所要的三角波。由于一个周期三角波的点数固定,改变延时程序的延时时间,就可以改变相邻两点的时间间隔,从而改变三角波的频率。

041758b944157cac58744e7f05491dcb.png