亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adc.s

?? atmega8的片內A/D轉換操作
?? S
字號:
	.module adc.c
	.area text(rom, con, rel)
	.dbfile ./74164.h
	.dbfunc e write164 _write164 fV
;             ch -> R20
;              i -> R22
;              x -> R16
	.even
_write164::
	rcall push_gset2
	.dbline -1
	.dbline 2
; //ICC-AVR application builder : 2005-3-1 22:02:29
; // Target : M8
	.dbline 5
; // Crystal: 8.0000Mhz
; 
; #include <iom8v.h>
	mov R20,R16
	.dbline 6
; #include <macros.h>
	cbi 0x18,0
	.dbline 7
; #include <74164.h>
	cbi 0x12,6
	.dbline 8
	clr R22
	rjmp L5
L2:
	.dbline 8
; 
	.dbline 9
; unsigned char    display[4];  // 顯示緩沖區
	sbrs R20,7
	rjmp L6
	.dbline 10
; unsigned char    dis;         // 當前顯示
	sbi 0x12,7
	rjmp L7
L6:
	.dbline 12
; unsigned int     adc;          // 保存AD轉換的值
; unsigned char    time;        // AD轉換的時間間隔
	cbi 0x12,7
L7:
	.dbline 13
	lsl R20
	.dbline 14
	sbi 0x12,6
	.dbline 15
	nop
	.dbline 16
	cbi 0x12,6
	.dbline 17
L3:
	.dbline 8
	inc R22
L5:
	.dbline 8
	cpi R22,8
	brlo L2
	.dbline 18
; 
; 
; //TIMER0 initialisation - prescale:256
; // WGM: Normal
; // desired value: 5mSec
; // actual value:  4.992mSec (0.2%)
	sbi 0x18,0
	.dbline -2
	.dbline 19
; void timer0_init(void)
L1:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r ch 20 c
	.dbsym r i 22 c
	.dbsym r x 16 c
	.dbend
	.dbfile D:\job\avrtest\web\example\ad\adc.c
	.dbfunc e timer0_init _timer0_init fV
	.even
_timer0_init::
	.dbline -1
	.dbline 20
; {
	.dbline 21
;  TCCR0 = 0x00; //stop
	clr R2
	out 0x33,R2
	.dbline 22
;  TCNT0 = 0x64; //set count
	ldi R24,100
	out 0x32,R24
	.dbline 23
;  TCCR0 = 0x04; //start timer
	ldi R24,4
	out 0x33,R24
	.dbline -2
	.dbline 24
; }
L8:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 18
	rjmp _timer0_ovf_isr
	.area text(rom, con, rel)
	.dbfile D:\job\avrtest\web\example\ad\adc.c
	.dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
	.even
_timer0_ovf_isr::
	rcall push_lset
	rcall push_gset1
	.dbline -1
	.dbline 28
; 
; #pragma interrupt_handler timer0_ovf_isr:10
; void timer0_ovf_isr(void)
; {
	.dbline 29
;  TCNT0 = 0x64; //reload counter value
	ldi R24,100
	out 0x32,R24
	.dbline 31
; //  ad
;     if(++time == 40){
	lds R24,_time
	subi R24,255    ; addi 1
	mov R2,R24
	sts _time,R2
	cpi R24,40
	breq X2
	rjmp L10
X2:
	.dbline 31
	.dbline 32
;         time = 0;
	clr R2
	sts _time,R2
	.dbline 33
;         ADCSR = 0xC6;               //  開始轉換
	ldi R24,198
	out 0x6,R24
L12:
	.dbline 34
L13:
	.dbline 34
;         while(!(ADCSR & 0x10));     //  等待轉換完成
	sbis 0x6,4
	rjmp L12
	.dbline 35
;         adc = ADCL;
	in R2,0x4
	clr R3
	sts _adc+1,R3
	sts _adc,R2
	.dbline 36
;         adc |= (int)(ADCH << 8);    //  注意順序
	in R2,0x5
	clr R3
	mov R3,R2
	clr R2
	lds R4,_adc
	lds R5,_adc+1
	or R4,R2
	or R5,R3
	sts _adc+1,R5
	sts _adc,R4
	.dbline 37
;         ADCSR = 0x10;               //  停止
	ldi R24,16
	out 0x6,R24
	.dbline 38
;         display[0] = adc%10;
	ldi R18,10
	ldi R19,0
	movw R16,R4
	rcall mod16u
	sts _display,R16
	.dbline 39
;         adc = adc / 10;
	ldi R18,10
	ldi R19,0
	lds R16,_adc
	lds R17,_adc+1
	rcall div16u
	sts _adc+1,R17
	sts _adc,R16
	.dbline 40
;         display[1] = adc%10;
	ldi R18,10
	ldi R19,0
	rcall mod16u
	sts _display+1,R16
	.dbline 41
;         adc = adc / 10;
	ldi R18,10
	ldi R19,0
	lds R16,_adc
	lds R17,_adc+1
	rcall div16u
	sts _adc+1,R17
	sts _adc,R16
	.dbline 42
;         display[2] = adc%10;
	ldi R18,10
	ldi R19,0
	rcall mod16u
	sts _display+2,R16
	.dbline 43
;         adc = adc / 10;
	ldi R18,10
	ldi R19,0
	lds R16,_adc
	lds R17,_adc+1
	rcall div16u
	sts _adc+1,R17
	sts _adc,R16
	.dbline 44
;         display[3] = adc%10;
	ldi R18,10
	ldi R19,0
	rcall mod16u
	sts _display+3,R16
	.dbline 45
;     }
L10:
	.dbline 48
	lds R20,_dis
	clr R21
	cpi R20,0
	cpc R20,R21
	breq L21
X0:
	cpi R20,1
	ldi R30,0
	cpc R21,R30
	breq L22
	cpi R20,2
	ldi R30,0
	cpc R21,R30
	breq L23
	cpi R20,3
	ldi R30,0
	cpc R21,R30
	breq L24
	rjmp L18
X1:
	.dbline 48
; //  end ad
; //  display
;     switch(dis){
L21:
	.dbline 49
;         case  0:  write164(display[dis] | 0x70);  break;
	ldi R24,<_display
	ldi R25,>_display
	lds R30,_dis
	clr R31
	add R30,R24
	adc R31,R25
	ldd R16,z+0
	ori R16,112
	rcall _write164
	.dbline 49
	rjmp L19
L22:
	.dbline 50
;         case  1:  write164(display[dis] | 0xB0);  break;
	ldi R24,<_display
	ldi R25,>_display
	lds R30,_dis
	clr R31
	add R30,R24
	adc R31,R25
	ldd R16,z+0
	ori R16,176
	rcall _write164
	.dbline 50
	rjmp L19
L23:
	.dbline 51
;         case  2:  write164(display[dis] | 0xD0);  break;
	ldi R24,<_display
	ldi R25,>_display
	lds R30,_dis
	clr R31
	add R30,R24
	adc R31,R25
	ldd R16,z+0
	ori R16,208
	rcall _write164
	.dbline 51
	rjmp L19
L24:
	.dbline 52
;         case  3:  write164(display[dis] | 0xE0);  break;
	ldi R24,<_display
	ldi R25,>_display
	lds R30,_dis
	clr R31
	add R30,R24
	adc R31,R25
	ldd R16,z+0
	ori R16,224
	rcall _write164
	.dbline 52
L18:
L19:
	.dbline 54
	lds R24,_dis
	subi R24,255    ; addi 1
	mov R2,R24
	sts _dis,R2
	ldi R24,3
	cp R24,R2
	brsh L25
	.dbline 54
	clr R2
	sts _dis,R2
L25:
	.dbline -2
	.dbline 56
;     }
;     if(++dis > 3) dis = 0;
; //end  display
; }
L9:
	rcall pop_gset1
	rcall pop_lset
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e adc_init _adc_init fV
	.even
_adc_init::
	.dbline -1
	.dbline 61
; 
; //ADC initialisation
; // Conversion time: 13uS
; void adc_init(void)
; {
	.dbline 62
;  ADCSR = 0x00; //disable adc
	clr R2
	out 0x6,R2
	.dbline 63
;  ADMUX = 0x00; //select adc input 0
	out 0x7,R2
	.dbline 64
;  ACSR  = 0x80;
	ldi R24,128
	out 0x8,R24
	.dbline 65
;  ADCSR = 0x83;
	ldi R24,131
	out 0x6,R24
	.dbline -2
	.dbline 66
; }
L27:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e init_devices _init_devices fV
	.even
_init_devices::
	.dbline -1
	.dbline 70
; 
; //call this routine to initialise all peripherals
; void init_devices(void)
; {
	.dbline 72
;  //stop errant interrupts until set up
;  CLI(); //disable all interrupts
	cli
	.dbline 73
;  DDRB = 0x01;    //  初始化操作74LS164的管腳
	ldi R24,1
	out 0x17,R24
	.dbline 74
;  DDRD = 0xC0;    //  初始化操作74LS164的管腳
	ldi R24,192
	out 0x11,R24
	.dbline 75
;  DDRC = 0x00;
	clr R2
	out 0x14,R2
	.dbline 76
;  timer0_init();
	rcall _timer0_init
	.dbline 77
;  adc_init();
	rcall _adc_init
	.dbline 79
; 
;  MCUCR = 0x00;
	clr R2
	out 0x35,R2
	.dbline 80
;  GICR  = 0x00;
	out 0x3b,R2
	.dbline 81
;  TIMSK = 0x01; //timer interrupt sources
	ldi R24,1
	out 0x39,R24
	.dbline 82
;  SEI(); //re-enable interrupts
	sei
	.dbline -2
	.dbline 84
;  //all peripherals are now initialised
; }
L28:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 88
; 
; //
; void main(void)
; {
	.dbline 89
;  init_devices();
	rcall _init_devices
L30:
	.dbline 91
L31:
	.dbline 91
	rjmp L30
X3:
	.dbline -2
	.dbline 92
;  //insert your functional code here...
;  while(1);
; }
L29:
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\job\avrtest\web\example\ad\adc.c
_time::
	.blkb 1
	.dbsym e time _time c
_adc::
	.blkb 2
	.dbsym e adc _adc i
_dis::
	.blkb 1
	.dbsym e dis _dis c
_display::
	.blkb 4
	.dbsym e display _display A[4:4]c

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合激情成人伊人| 国产精品欧美久久久久一区二区| 日韩一区和二区| 国产精品无遮挡| 日本亚洲免费观看| 91色|porny| 麻豆精品国产91久久久久久| 99精品桃花视频在线观看| 日韩午夜精品视频| 亚洲国产精品久久人人爱| 国产成人精品一区二区三区网站观看| 欧洲激情一区二区| 国产精品理伦片| 久久99精品网久久| 欧美久久久久久蜜桃| 亚洲美女视频在线观看| 成人不卡免费av| 久久久一区二区三区捆绑**| 人人超碰91尤物精品国产| 在线观看日产精品| 亚洲欧美日韩精品久久久久| 国产99精品在线观看| 26uuu国产日韩综合| 免费亚洲电影在线| 欧美人牲a欧美精品| 亚洲第一主播视频| 欧美最新大片在线看| 亚洲精品成人天堂一二三| 成人免费高清在线| 国产精品免费看片| 99综合影院在线| 日韩一区欧美小说| 色一区在线观看| 尤物av一区二区| 欧美在线视频不卡| 亚洲动漫第一页| 在线成人av影院| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美成人高清电影在线| 青青草97国产精品免费观看 | 99久久精品国产导航| 亚洲少妇30p| 一本久久a久久精品亚洲| 一区二区三区中文字幕| 欧美日韩一级二级三级| 日本欧美在线看| 久久噜噜亚洲综合| 成人av综合一区| 一区二区久久久久| 欧美一区2区视频在线观看| 久久99精品国产麻豆不卡| 久久无码av三级| av一二三不卡影片| 亚洲最快最全在线视频| 精品视频一区三区九区| 蜜臂av日日欢夜夜爽一区| 久久午夜电影网| 一本色道久久综合亚洲精品按摩| 日韩理论片在线| 7777女厕盗摄久久久| 国产麻豆视频一区二区| 中文字幕在线不卡| 欧美一区二区三区四区久久| 国产一区二区三区在线看麻豆| 国产精品色在线观看| 日本丰满少妇一区二区三区| 日韩国产欧美一区二区三区| 久久久高清一区二区三区| 欧美午夜精品理论片a级按摩| 日韩av电影免费观看高清完整版 | 91亚洲精品乱码久久久久久蜜桃| 亚洲一区二区三区不卡国产欧美| 精品黑人一区二区三区久久| 91蜜桃传媒精品久久久一区二区| 日韩一区精品视频| 国产日韩欧美综合在线| 欧美日韩一二三| 成人永久看片免费视频天堂| 午夜国产精品一区| 国产精品日韩成人| 91精品国产综合久久久久久| 97精品国产露脸对白| 蜜臀久久99精品久久久久久9| 中文字幕在线不卡一区 | 欧美日韩成人一区| 成人av电影免费在线播放| 日韩电影免费在线观看网站| 亚洲三级免费电影| 久久老女人爱爱| 欧美一区二区三区色| 色综合av在线| 丁香一区二区三区| 韩国理伦片一区二区三区在线播放| 亚洲综合免费观看高清完整版| 久久久久久免费网| 日韩欧美一区二区三区在线| 欧美在线播放高清精品| 成人精品一区二区三区四区| 韩国v欧美v日本v亚洲v| 日韩国产成人精品| 午夜精品免费在线| 亚洲精选在线视频| 中文字幕日韩一区| 国产女同互慰高潮91漫画| 日韩色在线观看| 欧美一级生活片| 欧美日本不卡视频| 欧美日韩第一区日日骚| 欧美写真视频网站| 欧美在线观看你懂的| 色婷婷久久久亚洲一区二区三区| www.色精品| 99综合电影在线视频| 99riav一区二区三区| 91亚洲精品久久久蜜桃| 99综合电影在线视频| 91丨porny丨蝌蚪视频| 91一区在线观看| 日本丰满少妇一区二区三区| 欧美性淫爽ww久久久久无| 欧美怡红院视频| 欧美日韩免费观看一区三区| 欧美三级电影在线看| 国产精品美女久久久久久久| 中文天堂在线一区| 亚洲人成精品久久久久久| 亚洲品质自拍视频网站| 亚洲国产日韩一区二区| 亚洲国产精品久久久久婷婷884| 午夜精品福利一区二区三区av| 天天爽夜夜爽夜夜爽精品视频| 日韩电影网1区2区| 国产精品一区不卡| 91美女片黄在线观看91美女| 欧美亚洲一区三区| 日韩午夜精品视频| 国产亚洲综合av| 一区二区三区四区视频精品免费| 亚洲午夜在线视频| 九色porny丨国产精品| 国产高清在线观看免费不卡| 99在线精品免费| 欧美年轻男男videosbes| 精品精品欲导航| 一色桃子久久精品亚洲| 亚洲v中文字幕| 国产成人在线视频网址| 91久久精品国产91性色tv| 51精品久久久久久久蜜臀| 国产亚洲欧美日韩日本| 一区二区不卡在线播放 | 欧美一区二区在线不卡| 国产日韩亚洲欧美综合| 亚洲高清中文字幕| 成人伦理片在线| 4438x成人网最大色成网站| 欧美激情一区二区在线| 午夜视频一区二区| 国产成人高清在线| 欧美人动与zoxxxx乱| 欧美国产日韩在线观看| 婷婷一区二区三区| 99久久精品国产毛片| 欧美电影免费观看高清完整版在线| 日韩一区有码在线| 国产一区二区日韩精品| 欧美视频完全免费看| 国产精品久久久久国产精品日日| 午夜电影网亚洲视频| 色悠悠久久综合| 国产喷白浆一区二区三区| 视频一区二区三区在线| 99精品热视频| 亚洲国产精品t66y| 毛片一区二区三区| 欧美日韩精品专区| 亚洲欧美一区二区三区极速播放| 精品无人区卡一卡二卡三乱码免费卡| 一本大道av伊人久久综合| 日韩精彩视频在线观看| 91女厕偷拍女厕偷拍高清| 国产日韩av一区| 国产伦精品一区二区三区视频青涩 | 亚洲国产成人91porn| 97精品久久久午夜一区二区三区| 国产亚洲福利社区一区| 精品午夜久久福利影院| 欧美一区二区三区影视| 婷婷综合五月天| 欧美猛男gaygay网站| 一区二区在线免费| 日本久久精品电影| 亚洲免费观看高清在线观看| 99久久精品费精品国产一区二区| 国产日韩欧美精品综合| 国产馆精品极品| 国产精品久久久一区麻豆最新章节| 国产一区二区在线观看免费| 久久丝袜美腿综合| 国产真实乱对白精彩久久|