显示频率,幅度可调,可产生四种波形,正弦波,方波,锯齿波,三角波,希望你能喜欢,给你发了一张效果图,喜欢的话别忘了采纳我的回答啊

#include

#define uchar unsigned char

#define uint unsigned int

#define DAdata P0 //DA数据端口

sbit DA_S1= P2^0; // 控制DAC0832的8位输入寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存

sbit DA_S2= P2^1; // 控制DAC0832的8位DAC寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存

sbit key= P3^2;

uchar wavecount; //'抽点'计数

uchar THtemp,TLtemp;//传递频率的中间变量

uchar judge=1; //在方波输出函数中用于简单判别作用

uchar waveform; //当其为0、1、2时,分别代表三种波

uchar code freq_unit[3]={10,50,200}; //三种波的频率单位

uchar idata wavefreq[3]={1,1,1}; //给每种波定义一个数组单元,用于存放单位频率的个数

uchar code lcd_hang1[]={"Sine Wave " "Triangle Wave " "Square Wave " "Select Wave: " "press No.1 key! "};

uchar idata lcd_hang2[16]={"f= Hz "};

uchar code waveTH[]={

0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xec,0xf6,0xf9,0xfb,0xfc,0xfc,0xfd,0xfd,0xfd,0xfe};

uchar code waveTL[]={

0x06,0x8a,0x10,0x4e,0x78,0x93,0xa8,0xb3,0xbe,0xc6, //正弦波频率调整中间值

0xac,0xde,0x48,0x7a,0x99,0xaf,0xbb,0xc8,0xd0,0xde, //三角波频率调整中间值

0x88,0x50,0x90,0x32,0x34,0xbe,0x4a,0xa3,0xe5,0x2c};

/**************************************************************************************** *********/

uchar code triangle_tab[]={ //每隔数字8,采取一次

0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x40,0x48,0x50,0x58,0x 60,0x68,0x70,0x78,

0x80,0x88,0x90,0x98,0xa0,0xa8,0xb0,0xb8,0xc0,0xc8,0xd0,0xd8,0x e0,0xe8,0xf0,0xf8,0xff,

0xf8,0xf0,0xe8,0xe0,0xd8,0xd0,0xc8,0xc0,0xb8,0xb0,0xa8,0xa0,0x9 8,0x90,0x88,0x80,

0x78,0x70,0x68,0x60,0x58,0x50,0x48,0x40,0x38,0x30,0x28,0x20,0x 18,0x10,0x08,0x00};

c51单片机c语言显示矩形波,51单片机和DAC0832输出方波、矩形波和正弦波由液晶1602显示的C语言程序...相关推荐

  1. 洗衣机控制系统c语言编程,采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc...

    采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文 深 圳 大 学 本 科 毕 业 论 文(设计) 题目: 基于单片机设计的全自动 洗衣机控制器 姓名: 郑嘉泽 专业: 电子信息工程 学院: ...

  2. 小灰的51单片机学习之什么是51单片机(1)

    距离第一次写完这篇文章已经一年半了,这半年小灰也成长了好多好多,感觉很多人朋友想看都不方便这里就整了个目录,今后的岁月里大家一起进步呀! 小灰的51单片机学习之什么是51单片机(1) 小灰的51单片机 ...

  3. 51单片机系列(三)51 单片机游戏设计 —— 双人对战小游戏(石头剪刀布)

    本博客51单片机实训系列,旨在记录本人在大学上单片机技术这门课时所做的课程实训内容,并与大家分享基于51单片的课程作业,如果作业中的某些细节和代码能给大家一点启发那就更好了,希望大家能用51单片机做出 ...

  4. 你知道单片机的工作条件吗?51单片机和52单片机有何区别?

    为增进大家对单片机的认识,本文将对单片机的工作条件以及51单片机和52单片机的区别予以介绍. 单片机可以说是一个微型计算机系统,通过单片机,能够创造出很多有意思的小玩意.为增进大家对单片机的认识,本文 ...

  5. 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档

    51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...

  6. c51单片机时钟c语言程序设计,基于51单片机的电子时钟设计..doc

    -- I -- - - I -- 设计题目: 基于 51 单片机的电子时钟设计 摘要 单片机,是集 CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器.自 20 世纪 70 年代问 ...

  7. 51单片机用c语言在液晶1602上显示汉字,lcd1602与单片机连接图,基于51单片机的lcd1602液晶显示屏连接电路图...

    描述 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符.LCD1602液晶显示原理 LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示, ...

  8. c语言oled p14x16str,51单片机加OLED12864显示汉字遇到的奇葩现象

    最近在用到OLED显示汉字,但用到自己的汉字字模的时候总是出问题,有的能正常显示,但有的不行,甚至乱码.在显示 "不疚正慢"时,分开一个一个显示只能显示不和疚字,四个一起显示只能显 ...

  9. 51单片机c语言编程100,51单片机C语言编程100例.doc

    51单片机C语言编程100例.doc 目 录实例3用单片机控制第一个灯亮3实例4用单片机控制一个灯闪烁认识单片机的工作频率3实例5将 P1口状态分别送入P0.P2.P3口认识I/O口的引脚功能4实例6 ...

最新文章

  1. 大型神经网络可能初具意识:OpenAI首席科学家引争议,众大佬吵成一团
  2. 10月份个人技术指标
  3. Go进阶(2): 变量+数据类型
  4. Scala基于Akka模拟Spark Master Worker进程间通信(一):Worker向Master注册
  5. 1个月时间整理了2019年上千道Java面试题,近500页文档!
  6. 计算机英语讲课笔记05
  7. ubuntu 中文设置
  8. 2020 年百度之星·程序设计大赛 - 测试赛1001 度度熊保护村庄
  9. php indexof(,JavaScript indexOf() 方法
  10. Python QGIS 3自动化教程
  11. 无水印好用Flash头像编辑器组件
  12. CentOS换源、linux配置IP、腾讯云SHH秘钥、公钥
  13. PyScripter显示行号
  14. 动态规划——爬楼梯问题(爬楼梯+最省力爬楼梯)
  15. python输入数学表达式并求值_Python 条件表达式求值
  16. linux打开文件夹
  17. 计算机报刊杂志推荐,计算机优秀期刊推荐 | Journal of Cloud Computing
  18. Ubuntu 11.04 安装后要做的20件事情
  19. et游戏自动翻译工具_ET的异常翻译
  20. Qt 学习:comboBox编程时使用currentIndexChanged老是出现 assert failure错误

热门文章

  1. Space Elevator 太空电梯(洛谷)
  2. Opensbot 复合机器人|熵洛科技
  3. 最优控制和轨迹规划学习笔记 包含多个实际案例 主要思路是使用优化算法来找到车辆的最佳路径
  4. 适合小学生的计算机教育,适合每个小学生家庭教育的十个方法
  5. linux中解压tar.gz或zip类型的文件到具体文件夹
  6. 实验二、制作一个本学期使用的课程表页面,要求内容清晰,格式规整,有背景图像单击某一门课程名称,可以跳转到该课程的简介(同一页面)
  7. 助听器App 安卓 耳返
  8. 关于ValidationSummary,也就是mvc的客户端错误验证的理解
  9. bVS2008破解方法/b
  10. TechED 展台视频巡礼之微软篇