| 数据搜索系统,热门电子元器件搜索 |
|
AN1324 数据表(PDF) 9 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
AN1324 数据表(HTML) 9 Page - STMicroelectronics |
|
9 / 15 page ![]() 9/15 CALIBRATING THE RC OSCILLATOR OF THE ST7FLITE0 MCU USING THE MAINS 4 SOFTWARE EXAMPLES A zip file attached to this application note contains the complete software of this calibration method. 4.1 SINGLE ALTERNANCE This version perform only one count between two edges and changes the value of the RCCR according to this measurement. This can lead to bad tuning if there is noise on the reference signal. 4.1.1 main program ;All the bytes from locations 80h to 85h are used by this software to store values or as control registers but they can be reused safely after the clock has been set. ;dichotomy value .value equ $81 ;this byte contains the value which will be added or subtracted to/from the RCCR last value at the end of each round ;capture values .capture1 equ $82 .capture2 equ $83 ;these two bytes contain the two values of the counter captured on the edge of the mains, they are used to calculate the time elapsed between the two edges ;number of overflows .nbover equ $84 ;this byte contains the number of counter overflows during the measurement ;control register .cr equ $85 ;this byte is used as a control register for the measure- ment. Its bits allow or not the interrupts and show which step of the count is the current one. .strtstp equ 1 ;this is set to start the count and reset to stop it .overflow equ 2 ;this bit is set when the first capture has occurred. It allows the overflows to be counted .main bset MCCSR, #1 ;output clock enable. You can remove this line if you do not want to check the clock ld A, #$80 ;value containing the value which will be ld value, A ;add or subs to/from RCCR during the dichotomy ld RCCR, A ;RCCR is set to the middle of its range of value next clr nbover ;clear the byte containing the number of timer overflow clr cr ;clear the byte use as control register for the count ld A, LTICR ;clear the ICF bit rim ;interrupts enable bset LTCSR, #7 ;enable input capture interrupt bset cr,#strtstp ;set the start-stop bit of cr: count can start count btjt cr, #strtstp, count; wait for the end of count clr LTCSR ;lite timer interrupts disable srl value ;dichotomy value divided by 2 ld A,#$F9 ;these lines calculate this equation: ld X,nbover ; mul X,A ;(nbover*$F9)+ capture2 - capture1 add A, capture2 ; |
|
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |