用单片机开发信号发生器

      首先说说实验要求:用单片机来做(所以要有实验箱),利用D/A转换,产生锯齿波,方波,三角波,正弦波(所以还要准备一个示波器咯),并且通过实验箱上的键盘可以进行四种波形的转换。

   怎么样,要求不是很高吧,我们开始吧。首先我们的下载用于编程的仿真软件,仿真软件有很多,比如常用的伟福,比较好用,这里我选择KeilC51来进行编程和仿真 ~~。

1.打开keilc51.exe 。Project ---->New Project.在跳出的dialogue输入文件名如:my frist Project 单击保存.

2.在跳出CPU选择我们选择:Atmel------->AT89c51. 单击"确定".

3.然后File------>new 来创建一个TEXT ,点击保存按钮.

4.展开Target 1----------->右击source Group 1 --------->Add Files to Group 'Source Group 1'

5.弹出的对话框,输入文件名:输入刚才保存的文件名加后缀. 或者在文件类型选择:Asm Source file类型.加如刚才的文件. 单击"ADD",并"CLOSE"完成操作.还容易吧,我打字有点累......

接下来我们就要在刚才新建的text.asm里进行汇编了.

PS:如果要下载到实验箱里去.我们还有需要设置一点东西.就一点点拉.

在Project--->Options for Target 'Target 1',在弹出的对话框里点击"DeBug" 点击右边的"USE" 选择"Keil Monitor--51 Driver"其他的可以不改, 然后确定.

 

 

第一步:我们来编写四种波形程序:

1.最简单的方波: 不就是取两个一大一下的值吗,所以我这里选择8051的P0口不断的交替输出00H和FFH两个值.当然中间经过0832D/A进行转换咯/. 这里我们讲个锯齿波.

     所谓锯齿波不就是从一个初值往上加像一把锯齿,

代码如下:

ORG   0000H
LJMP START
ORG   0030H

START:   

         mov dptr,#0feffh            ;启动D/A转换

         mov a,#00h                   ;送初值OOH

loop3:

        movx @dptr,a              ;

        inc a

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值