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

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

?? main.s

?? 方波發生器程序。AVR單片機程序。MEGA16
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module main.c
	.area text(rom, con, rel)
	.dbfile D:\avr\+++精華+++\+M16范例+\方波生成器2(PWM)/delay.h
	.dbfunc e delay_1us _delay_1us fV
	.even
_delay_1us::
	.dbline -1
	.dbline 15
; /***************************************
; *              方波生成器              *
; * 程序功能: 生成占空比可調方波         *
; * 時鐘頻率: 外部7.3728M                *
; * 設    計:莫錦攀                     *
; * 修改日期:2007年07月26日             *
; * 編譯環境:ICC-AVR6.31                *
; * 實驗環境:M16學習板                  *
; * 使用端口: LCD:PC6,PC7,PA4~PA7        *
; *           KEY:PB0,PD2,PD3            *
; * 程序說明:方波范圍:28HZ~22800HZ,步進*
; *           2HZ,低頻時可以觀測到LED閃爍*
; *                                      *
; ***************************************/
; #include <iom16v.h>
	.dbline 16
; #include "1602.h"
	nop
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e delay_nus _delay_nus fV
;              i -> R20,R21
;              n -> R22,R23
	.even
_delay_nus::
	xcall push_gset2
	movw R22,R16
	.dbline -1
	.dbline 20
; #include "delay.h"
; 
; #define uchar unsigned char
; #define uint  unsigned int
	.dbline 21
; 
	clr R20
	clr R21
	.dbline 22
; uchar get_key(void)
	xjmp L6
L3:
	.dbline 23
	xcall _delay_1us
L4:
	.dbline 22
	subi R20,255  ; offset = 1
	sbci R21,255
L6:
	.dbline 22
	cp R20,R22
	cpc R21,R23
	brlo L3
	.dbline -2
L2:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r n 22 i
	.dbend
	.dbfunc e delay_1ms _delay_1ms fV
;              i -> R16,R17
	.even
_delay_1ms::
	.dbline -1
	.dbline 27
; {
;  unsigned char i;
;  static unsigned char j;//按鍵記錄 
;  PORTD|=0x0c;//pd2,pd3上拉電阻
;  DDRD&=0xf3;//pd2,pd3為輸入
	.dbline 29
	clr R16
	clr R17
	xjmp L11
L8:
	.dbline 29
L9:
	.dbline 29
	subi R16,255  ; offset = 1
	sbci R17,255
L11:
	.dbline 29
; 
; 
	cpi R16,116
	ldi R30,4
	cpc R17,R30
	brlo L8
	.dbline -2
L7:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 i
	.dbend
	.dbfunc e delay_nms _delay_nms fV
;              i -> R20,R21
;              n -> R22,R23
	.even
_delay_nms::
	xcall push_gset2
	movw R22,R16
	.dbline -1
	.dbline 33
;  if((PIND&0x04)==0)i='A';   
;  else if((PIND&0x08)==0)i='B';
;  else i=0x00;
;     
	.dbline 34
;  if (i == 0x00)//無有效按鍵按下
	clr R20
	clr R21
	.dbline 35
;    {
	xjmp L16
L13:
	.dbline 36
	xcall _delay_1ms
L14:
	.dbline 35
	subi R20,255  ; offset = 1
	sbci R21,255
L16:
	.dbline 35
	cp R20,R22
	cpc R21,R23
	brlo L13
	.dbline -2
L12:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r n 22 i
	.dbend
	.dbfile D:\avr\+++精華+++\+M16范例+\方波生成器2(PWM)/1602.h
	.dbfunc e LCD_init _LCD_init fV
	.even
_LCD_init::
	.dbline -1
	.dbline 44
;     j = 0x00;//清除按鍵記錄
;     return 0x00;//程序退出
;    }
;    if (j == 0x00) //為新按鍵
;     {j = i;//保存本次采樣結果
;      delay_nms(10);//去按鍵顫抖
;      if((PIND&0x04)==0)i='A';   
;      else if((PIND&0x08)==0)i='B';
;      else i=0x00;	 
	.dbline 45
;      if(i == j) {return i;}
	in R24,0x1a
	ori R24,240
	out 0x1a,R24
	.dbline 46
;     }
	sbi 0x14,7
	.dbline 47
; return 0x00;
	sbi 0x14,6
	.dbline 48
; }
	ldi R16,40
	xcall _LCD_write_command
	.dbline 49
; 
	xcall _LCD_en_write
	.dbline 50
; void init_timer0(void)
	ldi R16,40
	ldi R17,0
	xcall _delay_nus
	.dbline 51
; {
	ldi R16,40
	xcall _LCD_write_command
	.dbline 52
;  DDRB|=0x08;//OC0匹配輸出
	ldi R16,12
	xcall _LCD_write_command
	.dbline 53
;  TCNT0=0x00;//清除定時器值
	ldi R16,1
	xcall _LCD_write_command
	.dbline 54
;  TCCR0=0x6d;//快速PWM模式,匹配時OC0清零,top時置數,系統時鐘1024分頻                                                              頻,輸出比較匹配清除定時器值
	ldi R16,2
	ldi R17,0
	xcall _delay_nms
	.dbline -2
L17:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e LCD_en_write _LCD_en_write fV
	.even
_LCD_en_write::
	.dbline -1
	.dbline 61
;  
; 
;  OCR0=0x80;//OCR0置初值,占空比50%
;  
; }
; 
; 
	.dbline 62
; void F_set(void)
	sbi 0x15,7
	.dbline 63
; {
	ldi R16,1
	ldi R17,0
	xcall _delay_nus
	.dbline 64
;  static unsigned char i;
	cbi 0x15,7
	.dbline -2
L18:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e LCD_write_command _LCD_write_command fV
;        command -> R20
	.even
_LCD_write_command::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 68
;  if(i!=5)i++;
;  else i=1;
;  switch(i)//頻率選擇
; 		  {
	.dbline 70
; 		   case 1:
; 		   {
	ldi R16,16
	ldi R17,0
	xcall _delay_nus
	.dbline 71
; 		    TCCR0=0x6d;
	cbi 0x15,6
	.dbline 72
; 		    LCD_write_string(6,0,"   28HZ");
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 73
; 		    break;
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 74
; 		   } //1024分頻,F=28HZ
	xcall _LCD_en_write
	.dbline 75
; 		   case 2:
	mov R24,R20
	andi R24,#0x0F
	swap R24
	mov R20,R24
	.dbline 76
; 		   {
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 77
; 		    TCCR0=0x6c;
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 78
; 		    LCD_write_string(6,0,"  112HZ");
	xcall _LCD_en_write
	.dbline -2
L19:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r command 20 c
	.dbend
	.dbfunc e LCD_write_data _LCD_write_data fV
;           data -> R20
	.even
_LCD_write_data::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 95
; 		    break; 
; 		   }// 256分頻,F=112HZ
; 		   case 3:
; 		   {
; 		    TCCR0=0x6b;
; 			LCD_write_string(6,0,"  450HZ");
; 			break;
; 		   } //  64分頻,F=450HZ
; 		   case 4:
; 		   {
; 		    TCCR0=0x6a;
; 			LCD_write_string(6,0," 7200HZ");
; 			break;
; 		   } //   8分頻,F=7200HZ
; 		   case 5:
; 		   {
; 		    TCCR0=0x69;
	.dbline 97
; 			LCD_write_string(6,0,"28800HZ");
; 			break;
	ldi R16,16
	ldi R17,0
	xcall _delay_nus
	.dbline 98
; 		   } //  無分頻,F=28800HZ		    
	sbi 0x15,6
	.dbline 99
; 		   default:break;
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 100
; 		  }
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 101
;  
	xcall _LCD_en_write
	.dbline 102
;  
	mov R24,R20
	andi R24,#0x0F
	swap R24
	mov R20,R24
	.dbline 103
;  
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 104
; }
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 105
; 
	xcall _LCD_en_write
	.dbline -2
L20:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r data 20 c
	.dbend
	.dbfunc e LCD_set_xy _LCD_set_xy fV
;        address -> R20
;              y -> R20
;              x -> R22
	.even
_LCD_set_xy::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
	.dbline -1
	.dbline 124
; void R_set(void)
; {
;  static unsigned char i;
;  if(i!=9)i++;
;  else i=1;
;  switch(i)//頻率選擇
; 		  {
; 		   case 1:
; 		   {
; 		    OCR0=0x0a;//占空比10%
; 		    LCD_write_string(13,0,"10%");
; 		    break;
; 		   } 
; 		   case 2:
; 		   {
; 		    OCR0=0x14;//占空比20%
; 		    LCD_write_string(13,0,"20%");
; 		    break; 
; 		   }
	.dbline 126
; 		   case 3:
; 		   {
	tst R20
	brne L22
	.dbline 126
	mov R20,R22
	subi R20,128    ; addi 128
	xjmp L23
L22:
	.dbline 127
; 		    OCR0=0x1e;//占空比30%
	mov R20,R22
	subi R20,64    ; addi 192
L23:
	.dbline 128
; 			LCD_write_string(13,0,"30%");
	mov R16,R20
	xcall _LCD_write_command
	.dbline -2
L21:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r address 20 c
	.dbsym r y 20 c
	.dbsym r x 22 c
	.dbend
	.dbfunc e LCD_write_string _LCD_write_string fV
;              s -> R20,R21
;              Y -> R10
;              X -> R22
	.even
_LCD_write_string::
	xcall push_gset3
	mov R10,R18
	mov R22,R16
	ldd R20,y+6
	ldd R21,y+7
	.dbline -1
	.dbline 132
; 			break;
; 		   } 
; 		   case 4:
; 		   {
	.dbline 133
; 		    OCR0=0x28;//占空比40%
	mov R18,R10
	mov R16,R22
	xcall _LCD_set_xy
	xjmp L26
L25:
	.dbline 135
	.dbline 136
	movw R30,R20
	ldd R16,z+0
	xcall _LCD_write_data
	.dbline 137
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 138
L26:
	.dbline 134
; 			LCD_write_string(13,0,"40%");
	movw R30,R20
	ldd R2,z+0
	tst R2
	brne L25
	.dbline -2
L24:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r s 20 pc
	.dbsym r Y 10 c
	.dbsym r X 22 c
	.dbend
	.dbfunc e LCD_write_char _LCD_write_char fV
;           data -> y+4
;              Y -> R22
;              X -> R20
	.even
_LCD_write_char::
	xcall push_gset2
	mov R22,R18
	mov R20,R16
	.dbline -1
	.dbline 143
; 			break;
; 		   } 
; 		   case 5:
; 		   {
; 		    OCR0=0x80;//占空比50%
; 			LCD_write_string(13,0,"50%");
; 			break;
; 		   }
; 		   case 6:
	.dbline 144
; 		   {
	mov R18,R22
	mov R16,R20
	xcall _LCD_set_xy
	.dbline 145
; 		    OCR0=0x3c;//占空比60%
	ldd R16,y+4
	xcall _LCD_write_data
	.dbline -2
L28:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym l data 4 c
	.dbsym r Y 22 c
	.dbsym r X 20 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\avr\+++精華+++\+M16范例+\方波生成器2(PWM)/1602.h
L30:
	.blkb 1
	.area text(rom, con, rel)
	.dbfile D:\avr\+++精華+++\+M16范例+\方波生成器2(PWM)/1602.h
	.dbfile D:\avr\+++精華+++\+M16范例+\方波生成器2(PWM)\main.c
	.dbfunc e get_key _get_key fc
	.dbsym s j L30 c
;              i -> R20
	.even
_get_key::
	xcall push_gset1
	.dbline -1
	.dbline 23
	.dbline 26
	in R24,0x12
	ori R24,12
	out 0x12,R24
	.dbline 27
	in R24,0x11
	andi R24,243
	out 0x11,R24
	.dbline 30
	sbic 0x10,2
	rjmp L31
	.dbline 30
	ldi R20,65
	xjmp L32
L31:
	.dbline 31
	sbic 0x10,3
	rjmp L33
	.dbline 31
	ldi R20,66
	xjmp L34
L33:
	.dbline 32
	clr R20
L34:
L32:
	.dbline 34
	tst R20
	brne L35
	.dbline 35
	.dbline 36
	clr R2
	sts L30,R2
	.dbline 37
	clr R16
	xjmp L29
L35:
	.dbline 39
	lds R2,L30
	tst R2
	brne L37
	.dbline 40
	.dbline 40
	sts L30,R20
	.dbline 41
	ldi R16,10
	ldi R17,0
	xcall _delay_nms
	.dbline 42
	sbic 0x10,2
	rjmp L39
	.dbline 42
	ldi R20,65
	xjmp L40
L39:
	.dbline 43
	sbic 0x10,3
	rjmp L41

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美xingq一区二区| 亚洲另类中文字| 最新久久zyz资源站| 午夜视黄欧洲亚洲| 国产sm精品调教视频网站| 欧美自拍偷拍一区| 国产精品女上位| 免费成人在线观看视频| 色呦呦网站一区| 欧美激情在线一区二区| 久久电影网电视剧免费观看| 日本道精品一区二区三区| 久久久精品综合| 日本中文字幕一区| 欧美影片第一页| 中文字幕一区二区不卡| 韩国理伦片一区二区三区在线播放 | 亚洲国产成人av好男人在线观看| 成人午夜大片免费观看| 精品国产乱码久久久久久免费| 亚洲永久精品大片| 91在线视频播放| 中文字幕在线不卡| 成人免费视频视频在线观看免费 | 日韩亚洲欧美高清| 亚洲成人免费在线观看| 在线观看日韩一区| 怡红院av一区二区三区| 91在线看国产| 亚洲三级免费观看| 97精品国产露脸对白| 国产日韩精品视频一区| 国产传媒日韩欧美成人| 久久天堂av综合合色蜜桃网| 激情综合色综合久久| 欧美电影免费观看高清完整版在线观看| 亚洲超丰满肉感bbw| 欧美偷拍一区二区| 亚洲午夜精品一区二区三区他趣| 一本色道综合亚洲| 一区二区三区四区激情| 欧洲激情一区二区| 一区二区成人在线视频| 欧美三级资源在线| 天天影视网天天综合色在线播放| 欧美人牲a欧美精品| 日韩中文字幕麻豆| 精品久久久久香蕉网| 国产在线视视频有精品| 国产欧美视频在线观看| 成人福利视频在线| 亚洲综合一二三区| 在线不卡免费av| 国产一区二区三区不卡在线观看| 国产色91在线| 色丁香久综合在线久综合在线观看| 亚洲资源中文字幕| 日韩色视频在线观看| 成人午夜激情视频| 亚洲国产精品一区二区www在线 | 99re8在线精品视频免费播放| 亚洲日本护士毛茸茸| 欧美女孩性生活视频| 国产揄拍国内精品对白| 国产精品免费aⅴ片在线观看| 日本乱人伦aⅴ精品| 日韩精品成人一区二区三区| www一区二区| 在线观看视频一区二区欧美日韩| 日韩激情视频网站| 欧美国产激情二区三区| 欧美亚洲国产一区在线观看网站| 久久99九九99精品| 亚洲欧洲国产日韩| 日韩一区二区三区电影在线观看 | 亚洲精品一区二区三区四区高清| 成人精品一区二区三区四区| 图片区小说区国产精品视频| 久久精品视频在线免费观看| 日本高清免费不卡视频| 激情久久五月天| 亚洲线精品一区二区三区| 久久亚洲捆绑美女| 欧美日韩视频在线观看一区二区三区| 久久精品国产99国产| 亚洲精品水蜜桃| 欧美精彩视频一区二区三区| 欧美日韩高清一区二区不卡 | 人人精品人人爱| 一区二区三区在线免费视频| 久久中文字幕电影| 69堂精品视频| 91高清在线观看| av在线这里只有精品| 国产在线日韩欧美| 日精品一区二区| 怡红院av一区二区三区| 国产精品嫩草99a| 久久婷婷成人综合色| 宅男在线国产精品| 欧美在线视频不卡| 91丨porny丨中文| zzijzzij亚洲日本少妇熟睡| 国产老女人精品毛片久久| 日韩电影免费在线看| 亚洲mv在线观看| 亚洲欧美日韩精品久久久久| 国产精品美女久久福利网站| 精品国产青草久久久久福利| 日韩一区二区在线播放| 在线成人高清不卡| 欧美日韩不卡在线| 欧美日韩视频第一区| 欧美在线观看你懂的| 在线视频观看一区| 91成人网在线| 欧美日韩亚洲国产综合| 欧美日韩黄色一区二区| 91福利视频在线| 欧美日韩视频一区二区| 欧美日韩精品免费观看视频| 久久一留热品黄| 精品对白一区国产伦| 久久久亚洲综合| 亚洲国产激情av| 亚洲婷婷在线视频| 成人欧美一区二区三区1314| 亚洲男人的天堂网| 亚洲电影你懂得| 免费看黄色91| 成人黄色一级视频| 一本色道亚洲精品aⅴ| 欧美三级在线视频| 日韩一区二区在线观看视频| 日韩欧美一区二区免费| 久久久99久久精品欧美| 国产欧美日韩久久| 亚洲人吸女人奶水| 亚洲国产va精品久久久不卡综合 | 亚洲免费在线看| 天天亚洲美女在线视频| 精品一区免费av| 成人黄页毛片网站| 欧美日韩精品一区二区三区蜜桃| 日韩美女视频在线| 中文字幕永久在线不卡| 午夜精品一区二区三区免费视频| 美腿丝袜在线亚洲一区| 懂色av一区二区夜夜嗨| 欧美性猛交xxxxxxxx| 日韩欧美另类在线| 日韩码欧中文字| 青青草精品视频| 99视频热这里只有精品免费| 777色狠狠一区二区三区| 久久久久亚洲综合| 一区二区国产视频| 国产麻豆视频精品| 欧美日韩精品专区| 国产精品人妖ts系列视频| 亚洲图片有声小说| 国产精品77777| 777xxx欧美| 亚洲黄色小说网站| 国产精品一区二区久久不卡| 欧美午夜免费电影| 欧美高清在线精品一区| 麻豆久久一区二区| 日本丰满少妇一区二区三区| 久久精品欧美日韩| 日韩av电影免费观看高清完整版| 成av人片一区二区| 久久伊99综合婷婷久久伊| 亚洲18色成人| 日本高清成人免费播放| 中文字幕av一区二区三区高 | 国产成人免费视频网站| 在线播放日韩导航| 亚洲九九爱视频| 成人黄色777网| 久久久青草青青国产亚洲免观| 丝袜亚洲另类欧美| 欧美亚洲国产bt| 亚洲精品国产a久久久久久| 国产乱理伦片在线观看夜一区| 这里是久久伊人| 五月天一区二区三区| 欧美优质美女网站| 亚洲精品va在线观看| 成人短视频下载| 国产精品美女久久久久久久久| 国产在线不卡一区| 精品黑人一区二区三区久久| 日产欧产美韩系列久久99| 欧美日韩国产不卡| 亚洲.国产.中文慕字在线| 欧美日韩精品一区二区三区| 亚洲一区二区在线观看视频| 色8久久精品久久久久久蜜| 亚洲欧美日韩在线不卡|