⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc实验程序.bas

📁 ATmega16的ADC应用代码 使用BASCOM-AVR编译
💻 BAS
字号:
'*****************************************************************
'利用单片机ADC实验程序
'程序语言:BASCOM-AVR
'编译版本BASCOM-AVR 1.11.8.3
'本程序 ADC使用中断
'程序编译、仿真通过
'参考p223例8.35
'******************************************************************
 $regfile = "m16def.dat"                                    ' 定义目标单片机是ATmega16
$crystal = 8000000
  Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
Config Lcd = 16 * 2
  Config Adc = Single , Prescaler = Auto                    '设定ADC使用在单次转换模式,转换频率由编译器自动选择
  Dim W As Integer , Channel As Byte , Parameter1 As Word , Parameter2 As Word
    Channel = 4                                             '使用4号模拟输入通道
           Parameter1 = 614
            Parameter2 = 409
            Leds Alias Portd
            Const Red = &B011
            Const Green = &B101
            Const Yellow = &B110

            Enable Interrupts                               '  中断使能
            Start Adc


            On Adc Adc_isr                                  ' ADC转换结束中断入口地址

            Ddrd = &H07


            Do                                              '死循环,等待中断
            nop
            Loop
            End


            Adc_isr:                                        'Adc 转换结束中断服务程序
            W = Getadc(channel)
            If W > Parameter1 Then                          '输入电压高于3v时
            Leds = Red
            Locate 1 , 2
            Lcd "dayu3V"
            Elseif W < Parameter2 Then                      ' 输入电压低于2v时
            Leds = Yellow
            Locate 1 , 2
            Lcd "diyu2V"
            Else                                            '输入电压介于2V与3V之间时
            Leds = Green
             Locate 1 , 2
            Lcd "zhongjian"
            End If
            Return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -