欢迎访问ic37.com |
会员登录 免费注册
发布采购

AT90PWM3B-16SU 参数 Datasheet PDF下载

AT90PWM3B-16SU图片预览
型号: AT90PWM3B-16SU
PDF下载: 下载PDF文件 查看货源
内容描述: 8位微控制器具有8K字节的系统内可编程闪存 [8-bit Microcontroller with 8K Bytes In-System Programmable Flash]
分类和应用: 闪存微控制器
文件页数/大小: 361 页 / 6022 K
品牌: ATMEL [ ATMEL ]
 浏览型号AT90PWM3B-16SU的Datasheet PDF文件第272页浏览型号AT90PWM3B-16SU的Datasheet PDF文件第273页浏览型号AT90PWM3B-16SU的Datasheet PDF文件第274页浏览型号AT90PWM3B-16SU的Datasheet PDF文件第275页浏览型号AT90PWM3B-16SU的Datasheet PDF文件第277页浏览型号AT90PWM3B-16SU的Datasheet PDF文件第278页浏览型号AT90PWM3B-16SU的Datasheet PDF文件第279页浏览型号AT90PWM3B-16SU的Datasheet PDF文件第280页  
;-It is assumed that either the interrupt table is moved to the Boot  
; loader section or that the interrupts are disabled.  
.equ PAGESIZEB = PAGESIZE*2  
.org SMALLBOOTSTART  
Write_page:  
;PAGESIZEB is page size in BYTES, not words  
; Page Erase  
ldi spmcrval, (1<<PGERS) | (1<<SPMEN)  
call Do_spm  
; re-enable the RWW section  
ldi spmcrval, (1<<RWWSRE) | (1<<SPMEN)  
call Do_spm  
; transfer data from RAM to Flash page buffer  
ldi looplo, low(PAGESIZEB)  
;init loop variable  
ldi loophi, high(PAGESIZEB) ;not required for PAGESIZEB<=256  
Wrloop:  
ld  
ld  
r0, Y+  
r1, Y+  
ldi spmcrval, (1<<SPMEN)  
call Do_spm  
adiw ZH:ZL, 2  
sbiw loophi:looplo, 2  
brne Wrloop  
;use subi for PAGESIZEB<=256  
; execute Page Write  
subi ZL, low(PAGESIZEB)  
sbci ZH, high(PAGESIZEB)  
;restore pointer  
;not required for PAGESIZEB<=256  
ldi spmcrval, (1<<PGWRT) | (1<<SPMEN)  
call Do_spm  
; re-enable the RWW section  
ldi spmcrval, (1<<RWWSRE) | (1<<SPMEN)  
call Do_spm  
; read back and check, optional  
ldi looplo, low(PAGESIZEB)  
;init loop variable  
ldi loophi, high(PAGESIZEB) ;not required for PAGESIZEB<=256  
subi YL, low(PAGESIZEB)  
sbci YH, high(PAGESIZEB)  
Rdloop:  
;restore pointer  
lpm r0, Z+  
ld  
r1, Y+  
cpse r0, r1  
jmp Error  
sbiw loophi:looplo, 1  
brne Rdloop  
;use subi for PAGESIZEB<=256  
; return to RWW section  
; verify that RWW section is safe to read  
Return:  
in  
temp1, SPMCSR  
sbrs temp1, RWWSB  
ret  
; If RWWSB is set, the RWW section is not ready yet  
; re-enable the RWW section  
ldi spmcrval, (1<<RWWSRE) | (1<<SPMEN)  
call Do_spm  
rjmp Return  
276  
AT90PWM2/3/2B/3B  
4317J–AVR–08/10  
 复制成功!