㈠ STM8 ADC_CR1;ADC_CR2;這個是什麼意思呢
ADC_CR1= 0x02; //這里設置分頻系數為2 連續轉換模式 先禁止ADC轉換
ADC_CR2=0x08; //設置數據右對齊 禁止掃描模式
STM8模擬/數字轉換器(ADC)簡介
ADC1和ADC2是10位的逐次比較型模擬數字轉換器。提供多達16個多功能的輸入通道(實際准確的通道數量在數據手冊的引腳描述說明)。A/D轉換的各個通道可以執行單次和連續的轉換模式。
相對於ADC2,ADC1具有一些擴展功能,包括掃描模式,帶緩存的連續模式以及模擬看門狗。
請參考STM8數據手冊來了解不同產品型號的ADC1和ADC2的功能信息。
主要特點
ADC1和ADC2的功能如下:
10位的解析度
單次和連續的轉換模式
可編程的(轉換頻率的)預分頻:fMASTER可以被分頻2到18
可以選擇ADC專用外部中斷(ADC_ETR)或者定時器觸發信號(TRGO)來作為外部觸發信號
模擬放大(對於具有VREF引腳的型號)
轉換結束時可產生中斷
靈活的數據對齊方式
ADC輸入電壓范圍:VSSA≤VIN≤VDDA
帶緩沖的連續轉換模式(1)
單次和連續轉換的掃描模式
具有上限和下限門檻的模擬看門狗
模擬看門狗事件發生可產生中斷
擴展(增強)功能
ADC1具有以下擴展功能:
㈡ 用STC15w408as單片機的AD轉換功能,ADC_CONTR=ADC_POWER | ADC_
ADC_CONTR可能是ADC配置寄存器, ADC_POWER可能是配置寄存器中的ADC電源控制位,ADC_SPEEDLL轉換速度控制位。我猜的,想搞技術 這種問題你就不該問的,去STC官網下個晶元手冊,看一下ADC寄存器配置說明,幾分鍾就搞定的事
㈢ 如何配置寄存器的地址
配置寄存器是一個16位的虛擬寄存器,用於指定路由器啟動的次序、中斷參數和設置控制台波特率等。該寄存器的值通常是以十六進制來表示的。
利用配置命令config register可以改變配置寄存器的值。
2. 啟動次序
配置寄存器的最後4位,指定的是,路由器在啟動的時候必須使用的啟動文件所在的位置:
<>
l 0x0001指定從ROM中啟動
l 0x0002-0x000F的值則參照在NVRAM配置文件中命令boot system指定的順序
如果配置文件中沒有boot system命令,路由器會試圖用系統Flash存儲器中的第一個文件來啟動,如果失敗,路由器就會試圖用TFTP從網路上載入一個預設文件名的文件(由boot域的值確定,如cisco2-4500),如果還失敗,系統就從啟動Flash中載入啟動。
預設的文件名是採用單詞cisco、啟動位的值以及路由器類型或處理器的名稱構成。例如某台4500上啟動欄位設為3,那麼預設的啟動文件名就是cisco3-4500。
以MC3819(CPU型號,大多採用MOTOROLA)路由器啟動順序為例,下面就是啟動的四個階段:
1. 系統自舉
2. 啟動載入(讀取配置信息和啟動Flash文件系統的最小功能)
3. 啟動系統IOS鏡像文件
4. 介面初始化/系統重啟
3. 配置寄存器
3.1. 各位的含義
通過show version命令可以看到路由器配置寄存器的值,預設情況下為0x2102。這四個數字每一個均有著重要的意義。下面從低到高進行一一的介紹。
第一個2,還原成二進制為0010,這一部分為boot field,對路由器IOS的啟動起著至關重要的作用,當boot field 的值為2-15中的任何一個時,路由器屬於正常啟動,當此值為0時,路由器啟動後會進入ROMMON模式,此值為1時,路由器進入到RXBOOT模式(2500路由器的FLASH在配置寄存器的值為2102時屬性為只讀,如果要升級IOS必須把寄存器的值修改為2101)
0,還原成二進制為0000,這四位中,起關鍵作用的是第三位(即整個寄存器裡面的BIT 7),值為0,當路由器啟動後會從NVRAM裡面的配置文件調到RAM里運行,值為1,路由器啟動後會忽略NVRAM的配置(這就是我們在進行PASSWORD RECOVERY時把寄存器的值改為2142的原因 )
1,還原成二進值為0001,我們來關注BIT8,值為0時,路由器在正常運行模式下CTRL + BREAK無效;值為1,路由器在任何運行模式下只要按下CTRL + BREAK均會立即進入ROMMON模式。
第二個2,還原成二進制為0100,其中BIT13,當值為0時,路由器如果進行網路啟動會嘗試無窮多次。當值為1時,路由器最多進行5次的網路啟動嘗試。
寄存器位數 十六進制 功能描述
0-3(啟動次序) 0x0000-0x000F 啟動欄位:0000-停留在引導提示符下(>或rommon >下)0001-從ROM中引導,
4 - 未使用
5 - 未使用
6 0x0040 配置系統忽略NVRAM中的配置信息
7 0x0080 啟動OEM位
8 0x0100 設置之後,暫停鍵在系統運行時無法使用;如果沒有設置,系統會進入引導監控模式下(rommon>)
9 -
10 0x0400 全0的就是廣播地址
11-12 0x0800到0x1800 控制台線路速度,默認的就是00即9600bps
13 0x2000 如果啟動失敗,系統以預設ROM軟體啟動
14 0x4000 -
15 0x8000 該設置能夠啟用診斷消息,並忽略NVRAM的內容
典型參數
l 0x2102: 運行過程中中斷鍵被屏蔽,路由器會查看NVRAM中配置的內容以確定啟動次序,如果啟動失敗會採用預設的ROM軟體進行啟動。
l 0x2142:恢復密碼時候使用。忽略NVRAM配置信息而進入初始配置對話模式中去
3.2. 密碼恢復
路由器的密碼恢復是將路由器重啟、中斷再進入ROM監控模式,將設備設置為忽略配置文件,然後再重啟,退出初始配置對話模式,配置存儲器,然後讀出或重新設置密碼即可。
根據路由器的處理器不同,需要分兩種情況進行處理。
l 適用於精簡指令集計算機(RISC):
1. 關掉路由器電源,然後重新打開電源
2. 按下break鍵或別的鍵盤組合將路由器置入ROM監控模式。Break鍵對不同計算機或終端軟體是不同的,按鍵的次序可能是CTRL-D,CTRL-Break等。
3. 在rommon> 提示符下,鍵入conf reg 0x2142以設置路由器下一次從Flash載入啟動的時候不要載入NVRAM中的啟動配置信息
4. 鍵入reset命令,路由器將重啟但忽略NVRAM中的配置信息
5. 路由器運行設置對話模式。輸入no或按下CTRL-C以跳過初始設置對話模式
6. 在router>提示符下輸入enable以進入特權執行模式
7. 使用config memory或者 startup running命令將啟動配置信息拷貝到運行配置中去。不要輸入config terminal,否則將覆蓋NVRAM中的配置信息
8. show running查看配置信息的內容,
9. 輸入config terminal進入配置模式,根據需要改變線路密碼或enable密碼
10. 這時所有的介面都處於關閉狀態,因此在每一個需要使用的介面上no shutdown
11. 輸入config reg 0x2102命令設置路由器下次按照正常的方式啟動
12. 按下CTRL-Z或End退出配置模式
13. write memory或 run start命令保存所有所作的更改
14. 重啟路由器並驗證密碼
非RISC:
1. 關掉路由器電源,然後重新打開電源
2. 按下break鍵或其他鍵進入ROM 監控模式
3. 在>提示符下,輸入o命令以記錄配置寄存器的當前值(通常是0x2102或0x0102)
4. 鍵入o/r 0x2142設置路由器下次啟動不要載入NVRAM中的配置信息
5. 鍵入i重啟路由器
6. 以下步驟和RISC處理器相關步驟一樣
4. 路由器工作模式
l ROM監控模式:路由器已啟動但是沒有載入任何IOS,提示符為:>或rommon>
l 啟動模式:啟動Flash里含有最小化IOS啟動程序,提示符為:router(boot)>
l 用戶執行模式:成功載入啟動了一份完整的IOS代碼,可以顯示系統信息、執行基本的測試等。不能查看配置文件和使用debug命令
l 特權執行模式:完全訪問的第二級模式。可以現實系統設置和狀態信息,可以進入配置模式,可以運行debug命令
l 配置模式:在enable模式中輸入config terminal命令進入配置模式。可以對介面、路由器以及線路配置進行設置
l 初始配置對話模式;啟動時候,如果路由器沒有進行配置(可能是因為路由器是新的或配置文件被write erase命令刪除了)的話,進入系統配置對話模式。可以依次進行主機名、執行密碼以及enable密碼的設置;還可對網路管理介面的IP和子網掩碼配置。然後保存到NVRAM中去。
㈣ MSP430F5438/A 使用定時器觸發ADC采樣,怎樣配置寄存器
#include "msp430x14x.h"
//初始化ADC12
P6SEL |= 0x01; // 使能ADC通道,默認的VREF為VCC
ADC12CTL0 = ADC12ON+SHT0_5+MSC; // 打開ADC,設置采樣時間
/*選擇內部參考電壓源*/
// ADC12CTL0|= REFON+REF2_5V;
// ADC12MCTL0|=SREF_1;
ADC12CTL1 = SHP+CONSEQ_2; // 使用采樣定時器
ADC12IE = 0x01; // 使能ADC中斷
ADC12CTL0 |= ENC; // 使能轉換
ADC12CTL0 |= ADC12SC; // 開始轉換
_EINT();
LPM0;
}
#pragma vector=ADC_VECTOR
__interrupt void conversion()
{
uint buffer[32];
static uint index=0;
buffer[index++]=ADC12MEM0;
if(index==32)
{
index=0;
}
}
數據buffer中的數值 就是轉換的數值
㈤ 請教各位大神,關於STM32F301 的ADC差分采樣配置
1,ADC時鍾是設為9M 2,ADC總轉換時間=采樣時間+12.5個ADC時鍾周期(信號量轉換時間),而采樣時間由寄存器設定,最低1.5ADC周期,最大239.5ADC周期,也就是你程序中設置的55.5個采樣周期。所以ADC一次采樣的總采樣時間是55.5+12.5=68個ADC周期,...
㈥ SmartRF Studi7可以配置ADC寄存器嗎
嗯,可以的,這個adc的寄存器是可以配置的,一般是可以新加的。
㈦ mega16的adc 具體怎麼操作是不是設好寄存器就只等結果返回了
這是我寫過的一個程序,能用的,過程是先初始化好ADC,就是進行模式的基本設置,然後每次要讀的時候,就觸發一下ADC轉換,等AD轉換好後,讀寄存器就行了。具體設置看數據手冊。
#define F_CPU 7372800UL //定義時鍾頻率,保證delay函數的准確
#include<avr/io.h>
#include<util/delay.h>
#include<avr/interrupt.h>
#include<avr/signal.h>
int num_tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int num=0;
void led_num(unsigned int num)
{
unsigned char temp,i;
for(i=0;i<4;i++)
{
PORTB=0XFF;
temp=num%10;
PORTA=num_tab[temp]&0xfe;
PORTB=~(1<<(3-i));
_delay_us(20);
num/=10;
}
}
void IO_init(void)
{
PORTA=0Xfe;
PORTB=0XFF;
PORTC=0XFF;
PORTD=0Xaf;
DDRA=0XFe;
DDRB=0XFF;
DDRC=0XFF;
DDRD=0Xff;
}
void adc_enable(void)
{
ADMUX=0Xc0;
ADCSRA=0X86;
ADCSRA|=0X40;
}
int read_adc(void)
{
char a,b;
int c=0;
ADCSRA|=0X40;
while(1)
{
if(ADCSRA&0X10)
{
a=ADCL;
b=ADCH;
c=(b<<8)|a;
return c;
}
}
}
int main(void)
{
int a,b=0,c;
IO_init();
adc_enable();
while(1)
{
b=read_adc();
b=(b*256)/1024;
for(c=0;c<100;c++)
led_num(b);
}
}
㈧ 關於DSP28335進行ADC的問題。
你設置的是第三個通道,那麼adc寄存器配置的就應該是第三通道的,你跑常式應該是一通道ain0,建議你試試,外部接法沒問題
㈨ AVP32F335中的ADC寄存器怎麼配置
寄存器的配置的話,你可以去看一下他們官方出來的一個系列基本配置,然後可以去參照官方的配置,然後再給自己的寄存器進行搭配設置就可以了。
㈩ STM32定時器觸發ADC怎麼配置
簡單點說,定時器的更新事件或捕捉事件觸發ADC的轉換操作。
這里有相關寄存器配置,即關聯配置。ST官方庫有相關常式。
比方F4cube庫里的如下位置:\STM32Cube_FW_F4_V1.14.0\Projects\STM324xG_EVAL\Examples\ADC\ADC_TriggerMode