搜索
bottom↓
回复: 2

给初学者一个小实验(一个BASCOM-AVR教学课堂演示),请批评。

[复制链接]

出0入0汤圆

发表于 2006-1-20 10:52:12 | 显示全部楼层 |阅读模式
这是一个BASCOM-AVR教学课堂演示。综合了PWM、AC、ADC三方面的硬件应用。中心问题是用AC进行模数转换,PWM的数模转换提供比较电压,ADC验证转换结果。程序的思路与《AVR单片机BASIC语言编程及开发》P158所说的对半加减法相同,仅仅是数模转换方式不同。向初学者介绍本实验的目的是:1.实现容易--PWM1A输出的脉冲,只要一级阻容低通滤波平滑(100K,0.1uF),接到比较器的AIN0(PD6),而AIN1(PD7)联接到待测电压(实验用100K的电位器,两端接单片机电源,滑臂接PD7)。2. 综合性强--涵盖了三种硬件的使用,程序短小精干。

   硬件联接:OC1A(PB1)--》R 100K --》C 0.1uF(另一端接地)--》AIN0(PD6)

              电位器滑臂--》AIN1(PD7)、ADC(5)(PC5)

   







    $regfile = "m8def.dat"             '可以使用其他单片机

  $crystal = 8000000

  $baud = 9600                       '单片机与PC串行通信波特率(RS232)



  Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1

  ‘PWM1A配置,用于数模转换作比较电压

  Ddrb = 2   ‘PWM1A输出端子

  Config Adc = Single , Prescaler = Auto , Reference = Avcc  ‘ADC配置,验证用

  Config Aci = On , Compare = Off , Trigger = Rising  'AC配置

  Dim A As Word , B As Bit , C As Word , X As Word , S As String * 5 , U As String   * 5

  B Alias Acsr.5     'Acsr.5是比较器的比较结果

   Start Ac                     '启动所有硬件

  Start Timer1

  Start Adc



  Do

  Input X            '仅仅用作转换启动,回车即可

  A = 512 : C = 0 : X = 256    '变量A是PWM的比较值,也是最后的模数转换结果

                                                     '变量C是暂存器,也可能是最后的转换结果

    Pwm1a = A                   ' PWM1A装入脉冲宽度比较值



     Do                        '该DO......LOOP是转换过程循环

      Waitms 20                '因为RC平滑滤波要求,进行短暂延时



      If B = 0 Then

        A = A + X

      Elseif B = 1 Then

        C = A

        A = A - X

      End If



      Pwm1a = A

      X = X / 2

     Loop Until X = 0



  If B = 0 Then A = C         '转换结束,A 是实验结果

  S = Str(a)

  Print "Measure: " ; S       '通过RS232向PC输出实验结果

  C = Getadc(5)               '读单片机ADC转换结果进行对比

  S = Str(c)      

  Print "Adconvert: " ; S     '输出单片机ADC转换值

  Loop

  End

出0入0汤圆

发表于 2006-1-20 11:19:00 | 显示全部楼层
幫你頂一個,雖然奄不用basic.

但不知為什麼, 現在看見basic程序就發暈, 可能basic中沒有{}吧, 看上去就一堆文字,好像沒條理一樣!!

出0入0汤圆

发表于 2006-1-20 12:08:38 | 显示全部楼层
同感
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 04:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表