欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 713|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

max5481數(shù)字電位器測(cè)試仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:342822 發(fā)表于 2025-10-17 12:14 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

BASCOM-AVR代碼:
' ==========================================================
' MAX5481數(shù)字電位器測(cè)試
'2025年10月17日
' ==========================================================
$regfile = "m16def.dat"     ' 指定ATmega16單片機(jī)型號(hào)定義文件
$crystal = 8000000          ' 設(shè)置晶振頻率為8MHz
$hwstack = 64               ' 設(shè)置硬件堆棧大小為64字節(jié)
$swstack = 64               ' 設(shè)置軟件堆棧大小為64字節(jié)
$framesize = 64             ' 設(shè)置幀大小為64字節(jié)

' ==========================================================
' 引腳定義
' ==========================================================
Cs Alias Portb.4            ' 定義片選引腳CS連接到PORTB.4

' ==========================================================
' SPI 配置
' ==========================================================
' 配置硬件SPI:無(wú)中斷、MSB先傳、主機(jī)模式、時(shí)鐘極性低、相位0、無(wú)從機(jī)選擇
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Noss = 1
Spiinit                     ' 初始化SPI接口

' ==========================================================
' 變量定義
' ==========================================================
Dim Command_byte As Byte    ' SPI命令字節(jié)
Dim Data_high As Byte       ' 數(shù)據(jù)高字節(jié)
Dim Data_low As Byte        ' 數(shù)據(jù)低字節(jié)
Dim Test As Word            ' 測(cè)試值變量
Dim Temp_word As Word       ' 臨時(shí)數(shù)據(jù)變量

' ==========================================================
' 串口配置
' ==========================================================
'Config Serialin = Buffered , Size = 20  ' 注釋掉的串口輸入緩沖配置
'Enable Interrupts                       ' 注釋掉的中斷使能
$baud = 9600                ' 設(shè)置串口波特率為9600
Test = 1023                 ' 初始化測(cè)試值為1023(10位最大值)

' ==========================================================
' 子程序聲明
' ==========================================================
Declare Sub Write_wiper(byval Value As Word)  ' 聲明寫(xiě)入Wiper位置的子程序

' ==========================================================
' 主程序開(kāi)始
' ==========================================================
Waitms 10                   ' 延時(shí)10ms,確保系統(tǒng)穩(wěn)定

' ==========================================================
' 主循環(huán) - 循環(huán)測(cè)試不同的Wiper位置
' ==========================================================
Do
   ' 測(cè)試不同的阻值位置
   Call Write_wiper(Test)    ' 寫(xiě)入最大阻值位置(1023)
   Waitms 200                ' 延時(shí)200ms

   Call Write_wiper(768)     ' 寫(xiě)入75%位置(768)
   Waitms 200

   Call Write_wiper(512)     ' 寫(xiě)入50%位置(512)  
   Waitms 200

   Call Write_wiper(256)     ' 寫(xiě)入25%位置(256)
   Waitms 200

   Call Write_wiper(0)       ' 寫(xiě)入最小阻值位置(0)
   Waitms 200
Loop
End                         ' 程序結(jié)束

' ==========================================================
' 寫(xiě)入Wiper位置子程序 (10位數(shù)字電位器)
' SPI傳輸格式:8位命令 + 16位數(shù)據(jù)(高10位有效,低6位無(wú)效)
' ==========================================================
Sub Write_wiper(byval Value As Word)
   ' 命令字節(jié): 0x00 = 寫(xiě)入Wiper寄存器并立即更新
   Command_byte = &H00

   ' 數(shù)據(jù)格式轉(zhuǎn)換:將10位數(shù)據(jù)左移6位,放到16位數(shù)據(jù)的D15-D6位置
   ' 因?yàn)閿?shù)字電位器只使用高10位,低6位被忽略
   Temp_word = Value * 64    ' 相當(dāng)于左移6位(乘以2^6=64)

   Data_high = High(temp_word)   ' 獲取16位數(shù)據(jù)的高字節(jié)
   Data_low = Low(temp_word)     ' 獲取16位數(shù)據(jù)的低字節(jié)

   ' SPI數(shù)據(jù)傳輸過(guò)程
   Reset Cs                 ' 片選置低,開(kāi)始SPI傳輸
   Spiout Command_byte , 1  ' 發(fā)送命令字節(jié)
   Spiout Data_high , 1     ' 發(fā)送數(shù)據(jù)高字節(jié)
   Spiout Data_low , 1      ' 發(fā)送數(shù)據(jù)低字節(jié)
   Set Cs                   ' 片選置高,結(jié)束SPI傳輸

   ' 調(diào)試輸出 - 通過(guò)串口顯示傳輸?shù)臄?shù)據(jù)
   Print "輸出原始值: " ; Value              ' 輸出原始值
   Print "輸出命令字節(jié): " ; bin(command_byte)    ' 以二進(jìn)制格式輸出命令字節(jié)
   Print "輸出數(shù)據(jù)高字節(jié): " ; bin(data_high)      ' 以二進(jìn)制格式輸出數(shù)據(jù)高字節(jié)
   Print "輸出數(shù)據(jù)低字節(jié): " ; bin(data_low)        ' 以二進(jìn)制格式輸出數(shù)據(jù)低字節(jié)
   Print "---"                                  ' 輸出分隔線
End Sub


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表