SETA
80000
-/23+
原裝現(xiàn)貨
SETA
33000
SMB/DO214AA/2019+PB
進口全新原裝無鉛房間現(xiàn)貨
SETA
6000
SMBDO214AA/23+
專注電子元件十年,只做原裝現(xiàn)貨
SETA
30000
/2021+
自己優(yōu)勢庫存熱賣
SETA
80000
-/23+
原裝現(xiàn)貨
SETA
7600
SMBDO214AA/23+
原裝
SETA
30000
23+/SMB
-
SETA
6000
SMBDO214AA/2025+
專注電子元件十年,只做原裝現(xiàn)貨
SETA
6000
SMBDO214AA/22+
原裝,提供BOM配單服務
SETA
3588
-/-
原裝 部分現(xiàn)貨量大期貨
SETAS37S965PM2.00
500
-/11+
-
SETAS62FP945GM200
657
-/20+
現(xiàn)貨 如非原裝 假一罰十
匯編過程中起作用,一旦匯編結束,偽指令的使命就完成了。 在arm的匯編程序中,有如下幾種偽指令:符號定義偽指令、數(shù)據(jù)定義偽指令、匯編控制偽指令、宏指令及其他偽指令。 1.符號定義(symbol definition)偽指令 符號定義偽指令用于定義arm匯編程序中的變量、對變量賦值以及定義寄存器的別名等操作。常見的符號定義偽指令有如下幾種。 ·用于定義全局變量的gbla、gbll和gbls。 ·用于定義局部變量的lcla、loll和lcls。 ·用于對變量賦值的seta、setl、sets。 ·為通用寄存器列表定義名稱的rlist。 (1)gbla、 gbll不口gbls gblia(gbll或ddr o) 全局變量名 gbla、gbll和gbls偽指令用于定義一個arm程序中的全局變量,并將其初始化。其中: ·gbla偽指令用于定義一個全局的數(shù)字變量,并初始化為0; ·gbll偽指令用于定義一個全局的邏輯變量,并初始化為f(假); 。gbls偽指令用于定義一個全局的字符串變量,并初始化為空。 由于以上三條偽指令
處理后再發(fā)送出去,這就需要這兩者之間有很好的配合。 cs89712 與dsp5510 之間的ehpi 接口讀/寫程序主要由兩個部分組成: 11arm 自身的初始化;21hpi 接口讀寫程序。 arm 處理器自身的初始化 arm處理器首先要完成自身工作模式等一系列的初始化,才能正常進行ehpi 接口的讀/寫,源代碼如下所示。 //為了配合ehpi 口的時序,關掉mmu 頁表中 bank3 的cache xcount seta 0x30000c1e while xcount < 0x31000000 dcd xcount xcount seta xcount + 0x00100000 wend rmemcfg1&=0x00ffffff;//設置與dsp 連接的ncs3 :16 位總線寬度、8 個隨機狀態(tài) rmemcfg1|=0x01000000;//3 個順
意內部擴展總線仲 和bb連接 裁已經(jīng)處于使能端 新的轉移開始指示 a[28:0] mpc860的地址解碼從而產(chǎn)生信號 tsize[1:0]、 字節(jié)使能用tsize和a a[31:30] [31:30]的解碼來實現(xiàn) seta bit 在mpc860選擇寄存器中設置為1,用于指示由外部總線產(chǎn)生 mpc860的內部總線仲裁處于禁止狀態(tài),相反擴展總線的仲裁處于使能狀態(tài)。dsp的字節(jié)使能信號由tsize[1:0]和mpc860的地址線a[31:30]通過解碼得到,dsp字節(jié)使能換算表如表1所示。 4.2 自舉配置 mpc860及擴展總線把數(shù)據(jù)總線的上拉和下拉電阻用于硬件復位的boot配置,mpc860和dsp需要不同的上拉電阻配置。方法之一就是用總線開關。在這個例子中用sn74cb
b)匯編程序所支持的變量有數(shù)字變量、邏輯變量和字符串變量。 ·數(shù)字變量用于在程序運行中保存數(shù)字值,但注意數(shù)字值的大小不應超出數(shù)字變量所能表示的范圍。 ·邏輯變量用于在程序運行中保存邏輯值,邏輯值只有兩種取值情況:真或假。 ·字符串變量用于在程序運行中保存一個字符串,但注意字符串的長度不應超出字符串變量所能表示的范圍。 在arm(thumb)匯編語言程序設計中,可使用gbla、gbll、gbls偽指令聲明全局變量,使用lcla、lcll、lcls偽指令聲明局部變量,并可使用seta、setl和sets對其進行初始化。 (2)程序中的常量 程序中的常量是指其值在程序運行過程中不能被改變的量。arm(thumb)匯編程序所支持的常量有數(shù)字常量、邏輯常量和字符串常量。 ·數(shù)字常量一般為32位的整數(shù),當作為無符號數(shù)時,其取值范圍為0~2(32)-1;當作為 有符號數(shù)時,其取值范圍為-2(31)~2(31)-1。 ·邏輯常量只有兩種取值情況:真或假。 ·字符串常量為一個固定的字符串,一般用于程序運行時的信息提示。 (3)程序中的變量代換
初始化dac nop mov a,#20h ;初始化定時器1,模式2 mov a,pcon orl a,#80h mov pcon,a ;設定串口波行率19200 setb mode ;設定系統(tǒng)自檢 setb r_en ;初始化自檢繼電器 mov tx_pnt,#40h ;初始化串口發(fā)送緩沖區(qū)指針 mov rx_pnt,#30h ;初始化串口接收緩沖區(qū)指針 cpl wdi ;初始化看門狗 setb tr1 ;開定時器1 setb ren setb es ;開串口中斷 seta ea ;開單片機中斷 mov status,#01h ;進入運行狀態(tài) 3.2 串口中斷處理程序 串口中斷處理程序是單片機控制程序的核心部分,串口接收上位機命令字,同時解析命令來控制硬件電路工作,流程如圖6所示。 以設定電流輸出這個最重要的命令為例,串口中斷處理程序先接收設定的電流值(以3位16進制數(shù)表示),然后由單片機通過i2c總線讀取當前溫度值和修正系數(shù),再由系統(tǒng)軟件控制設定電流值乘以修正系數(shù)得到實際值,從而完成非線性溫度補償,單片機可根據(jù)實際值設定dac輸出電壓,控制最終電流輸出,
movx @dptr,a ;初始化dac nop mov a,#20h ;初始化定時器1,模式2 mov a,pcon orl a,#80h mov pcon,a ;設定串口波行率19200 setb mode ;設定系統(tǒng)自檢 setb r_en ;初始化自檢繼電器 mov tx_pnt,#40h ;初始化串口發(fā)送緩沖區(qū)指針 mov rx_pnt,#30h ;初始化串口接收緩沖區(qū)指針 cpl wdi ;初始化看門狗 setb tr1 ;開定時器1 setb ren setb es ;開串口中斷 seta ea ;開單片機中斷 mov status,#01h ;進入運行狀態(tài) 3.2 串口中斷處理程序 串口中斷處理程序是單片機控制程序的核心部分,串口接收上位機命令字,同時解析命令來控制硬件電路工作,流程如圖6所示。 以設定電流輸出這個最重要的命令為例,串口中斷處理程序先接收設定的電流值(以3位16進制數(shù)表示),然后由單片機通過i2c總線讀取當前溫度值和修正系數(shù),再由系統(tǒng)軟件控制設定電流值乘以修正系數(shù)得到實際值,從而完成非線性溫度補償,單片機可根據(jù)實際值設定dac輸出電壓,控制最終電流輸出,單片
qu 0x33ff8000 _mmutt_startaddress equ 0x33ff8000 _isr_startaddress equ 0x33ffff00 gbll pll_on_start pll_on_start setl {true} gbll endian_changeendian_change setl {false} gbla entry_bus_widthentry_bus_width seta 16 ;buswidth = 16,32 gbla buswidth ;max. bus width for the gpio configurationbuswidth seta 32 gbla fclkfclk seta 50000000 [ fclk = 20000000 m_mdiv equ 0x20 ;fin=12.0mhz fout=30.0mhzm_pdiv equ
****************;_ram_startaddress equ 0xc000000_isr_startaddress equ 0xc7fff00 ;gcs6:64m dram/sdram;_isr_startaddress equ 0xc1fff00 ;gcs6:16m dram;buswidth ;16,32 gbla buswidth ;定義 buswidth 為一個全局算術變量 ,并且初始化為 0buswidth seta 16 ;給全局算術變量 buswidth 賦值為 16;"dram","sdram" gbls bdramtype ;聲明一個全局字符串變量 bdramtype ,并且初始化為 ""bdramtype sets "sdram" ;給全局變量 bdramtype 賦值為 "sdram";this valus has to be true on ro
;**********options*******************************;_ram_startaddress equ 0xc000000_isr_startaddress equ 0xc7fff00 ;gcs6:64m dram/sdram;_isr_startaddress equ 0xc1fff00 ;gcs6:16m dram;buswidth; 16,32 gbla buswidthbuswidth seta 16;"dram","sdram" gbls bdramtypebdramtype sets "sdram";this value has to be true on rom program.;this value has to be false in ram program. gbll pllonstartpllonstart set
**************************;_ram_startaddress equ 0xc000000_isr_startaddress equ 0xc7fff00 ;gcs6:64m dram/sdram;_isr_startaddress equ 0xc1fff00 ;gcs6:16m dram;buswidth; 16,32 gbla buswidth ;申明一個全局算術變量并且初始化為0 buswidth seta 16 ;給全局變量賦值為16;"dram","sdram" gbls bdramtype ;gbls 聲明一個全局字符串變量,并且初始化為 ""bdramtype sets "sdram" ;全局變量 bdramtype 賦值為 "sdram";this value has to be true
on mode with the command:bash# minicom -o -s the following menu appears:filenames and pathsfile transfer protocolsserial port setupmodem and dialingscreen and keyboardsave setup as dflsave setup as..exitexit from minicom select serial port setup and seta - serial device: /dev/ttys0b - lockfile location: /var/lockc - callin program:d - callout program:e - bps/par/bits: 9600 8n1f - hardware flow control: yesg - software flow control: no now save the configurationgive name to save this configuration?&g