久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2494|回復: 0
打印 上一主題 下一主題
收起左側

INA168電流檢測BASCOM AVR單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
電路原理圖如下:


avr單片機程序代碼:
rem Main.bas file generated by New Project wizard
rem
rem Created:   周日 7月 17 2022    taotie
rem Processor: ATmega32
rem Compiler:  BASCOM-AVR

rem Write your code here

$crystal = 16000000
$regfile = "m32def.dat"

'$baud = 9600                      '串行接口

Dim S As String * 15 , Z As String * 15   '字符串轉換變量


'...............................................................................
'ssd1306液晶屏設置
Config Scl = Portc.0                                 ' 用I2C引腳Scl = Portc.0 ,Sda = Portc.4
Config Sda = Portc.1
Config Twi = 400000                                  ' i2c 的速度

I2cinit
$lib "i2c_twi.lbx"                                   ' 不使用模擬的軟I2C,而是使用twi
$lib "glcdSSD1306-I2C.lib"                           ' 用glcdSSD1306-I2C庫替換默認庫要添加在bascom avr庫中

Config Graphlcd = Custom , Cols = 128 , Rows = 64 , Lcdname = "SSD1306"   '配置圖形顯示器

'*****************************************************************
'ADC控制器設置       呵呵~~~直接針對控制寄存器操作
Admux = &B11000000                '內部,2.56V,在AREF處有一個電容器,結果為10位,通道0.
Adcsra = &B11101111                ''ADC使能,開始轉換,自動觸發使能
                                   ',ADIF = 0
                                   'AD int使能,111 =預分頻128

'ADC自動觸發源設置
Set Sfior.7                        '101 =Timer1 匹配B
Reset Sfior.6
Set Sfior.5
'******************************************************************
On Adcc Adcinterrupt              

Dim Wadc As Word
'訪問低字節和高字節:
Dim Wadcl As Byte At Wadc Overlay   
Dim Wadch As Byte At Wadc + 1 Overlay
'您可以使用Overlay覆蓋來輕松訪問WORD的低字節和高字節
'(同樣的方法也適用于LONG)
'這就是將其存儲在SRAM中的方式
'+ ----------- + ---------- +
'| 低字節|高字節|
'+ ----------- + ---------- +

Dim Value As Single
Dim Adkorr1 As Single
Dim Adkorr2 As Single
Dim Adc_complete As Bit
Adkorr1 = 2500 / 2501    '沒有補償。應根據實物調試情況修改
Adkorr2 = 0.0065          '這個是不是有點多余?

'......................................................
'Timer1比較->每秒中斷”比較器B被使用,因為它必須用于ADC自動觸發“但是:比較B,比較值必須在Compare1A中!
Dim Seconds As Long
Compare1a = 10'15625

'盡管發生了COMPARE B事件,但仍使用COMPARE1A!

Config Timer1 = Timer , Prescale = 1024 , Clear Timer = 1 , Compare B = Disconnect
On Compare1b Timer1_isr
'Enable Compare1b
TIMSK.OCIE1B=1     '等同Enable Compare1b
'Enable Interrupts
Sreg.7 = 1          '等同Enable Interrupts
'..............................................................................
'ADC準備就緒時,標志Adc_complete為1 ',然后獲取并打印值
Do                          
If Adc_complete = 1 Then
Adc_complete = 0
Gosub Getvalue
Gosub Printvalues
End If
Loop
'---------------------------------------------------------------
Getvalue:               'Wadc由ADC完整中斷更新,因此我們只需獲取該值
Value = Wadc * 2.56
Value = Value / 1023
Value = Value * Adkorr1 'Adkorr1 2.5v補償系數
Value = Value + Adkorr2 'Adkorr2  0v顯示補償值  

Return
'-------------------------------------------------------------------------------
Printvalues:
'cls
Setfont csdy
Lcdat 1, 6 , chr(33);chr(34);chr(35);chr(36);chr(37)
s=Str(Value)
z=Left(s , 6)       '截取采集值前6位數值
Setfont font12x16
'Lcdat 4, 1 ,Value  
Lcdat 5, 32 ,z;"A ";"  "
'"間隔1秒記錄":
'Lcdat 7, 6 ,"S :";" ";Seconds
Return
'--------------------------------------------------------------------------------

Timer1_isr:
'寄存器ADCSRA和SFIOR中的“增量秒” ADC由硬件自動觸發,由初始化設置
Incr Seconds
Return
'-------------------------------------------------------------------------------
Adcinterrupt:
'在ADC準備就緒時執行 更新Wadc并設置標志Adc_complete
Wadcl = Adcl
Wadch = Adch
Adc_complete = 1
Return

$include "../font12x16.font"

$include "../369.font"

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 伊人伊人伊人 | 欧美精品一区在线 | 亚洲不卡一 | 黄篇网址 | 国产精品观看 | 国产成人久久精品一区二区三区 | 免费毛片www com cn| 另类视频区 | 在线观看中文字幕av | 99在线免费视频 | 蜜桃精品视频在线 | 亚洲精品一区二区三区在线 | 国产欧美精品在线观看 | 日韩一区二区三区在线 | 欧美精品一二三区 | 日韩欧美一区二区三区免费观看 | 亚洲高清视频在线 | 九九久久免费视频 | 国产在线观看一区二区三区 | 欧美国产精品一区二区三区 | 中文一区二区 | 欧美日韩成人 | 国产精品美女视频 | avtt国产 | 亚洲精品一区二区网址 | 亚洲一区二区在线免费观看 | 国产视频久久 | 欧美一级免费片 | 久久中文字幕一区 | 亚洲精品视频免费看 | 夜夜夜操| 国产精品一区二区三区在线播放 | 视频一区二区三区四区五区 | av电影手机在线看 | 三区四区在线观看 | 蜜臀网| 精品一区二区三区入口 | 一区二区激情 | 91久久久久久久久 | 日日日视频 | 国产午夜精品一区二区三区嫩草 |