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

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

?? ds12887.s

?? 高精度時鐘芯片。avr驅動
?? S
?? 第 1 頁 / 共 3 頁
字號:
	.module DS12887.C
	.area text(rom, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\OK400C.H
	.dbfunc e Delayus _Delayus fV
;              i -> R20,R21
;             US -> R22,R23
	.even
_Delayus::
	xcall push_gset2
	movw R22,R16
	.dbline -1
	.dbline 36
; /*******************************************
;   文件:hongwai.C
;   環境:編譯為ICC AVR6.25A,仿真為AVR Studio4.10 
;   硬件:ATMEGA16芯片
;   日期:2008年12月10日 
;   功能:紅外遙控器數碼管鍵值顯示
;   備注:
; /******************************************/
; #include <D:\開發板\OK400C\程序\avr程序\OK400C.H>
; #include <stdio.h>			//標準輸入輸出頭文件
; 
; /* 命令常量定義 */
; #define CMD_START_DS12C887     0x20   
; /* 開啟時鐘芯片 */
; #define CMD_START_OSCILLATOR 0x70     
; /* 開啟振蕩器,處于抑制狀態 */
; #define CMD_CLOSE_DS12C887     0x30   
; /* 關掉時鐘芯片 */
; /* 所有的置位使用或操作,清除使用與操作 */
; #define MASK_SETB_SET         0x80            
; /* 禁止刷新 */
; #define MASK_CLR_SET         0x7f            
; /* 使能刷新 */
; #define MASK_SETB_DM         0x04            
; /* 使用HEX格式 */
; #define MASK_CLR_DM             0xfb            
; /* 使用BCD碼格式 */
; #define MASK_SETB_2412         0x02            
; /* 使用24小時模式 */
; #define MASK_CLR_2412         0xfd            
; /* 使用12小時模式 */
; #define MASK_SETB_DSE         0x01            
; /* 使用夏令時 */
; #define MASK_CLR_DSE         0xfe            
; /* 不使用夏令時 */
; 
	.dbline 38
; // 寄存器地址通道定義 
; #define  chSecondsChannel  0X00
	ldi R16,5
	ldi R17,0
	movw R18,R22
	xcall empy16s
	movw R22,R16
	lsr R23
	ror R22
	lsr R23
	ror R22
	.dbline 39
	clr R20
	clr R21
	xjmp L5
L2:
	.dbline 39
L3:
	.dbline 39
	subi R20,255  ; offset = 1
	sbci R21,255
L5:
	.dbline 39
; #define  chMinutesChannel  0X02
	cp R20,R22
	cpc R21,R23
	brlo L2
	.dbline -2
	.dbline 40
; #define  chHoursChannel    0X04
L1:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r US 22 i
	.dbend
	.dbfunc e Delayms _Delayms fV
;              i -> R20,R21
;              j -> R22,R23
;             MS -> R16,R17
	.even
_Delayms::
	xcall push_gset2
	.dbline -1
	.dbline 48
; #define  chDofWChannel     0X06
; #define  chDateChannel     0X07
; #define  chMonthChannel    0X08
; #define  chYearChannel     0X09
; #define  chCenturyChannel  0X32
; #define  chRegA     0X0a
; #define  chRegB     0X0b
; #define  chRegC     0X0c
	.dbline 50
; #define  chRegD     0X0d
; 
	clr R20
	clr R21
	xjmp L10
L7:
	.dbline 51
	clr R22
	clr R23
	xjmp L14
L11:
	.dbline 51
L12:
	.dbline 51
	subi R22,255  ; offset = 1
	sbci R23,255
L14:
	.dbline 51
	cpi R22,117
	ldi R30,4
	cpc R23,R30
	brlo L11
L8:
	.dbline 50
	subi R20,255  ; offset = 1
	sbci R21,255
L10:
	.dbline 50
	cp R20,R16
	cpc R21,R17
	brlo L7
	.dbline -2
	.dbline 52
; uchar  temp_data1[3] = {0x00,0x00,0x00};
; uchar  temp_data2[3] = {0x00,0x00,0x00};
L6:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r j 22 i
	.dbsym r MS 16 i
	.dbend
	.dbfunc e Board_init _Board_init fV
	.even
_Board_init::
	.dbline -1
	.dbline 60
; uchar  display[6] =   {0x00,0x00,0x00,0x00,0x00,0x00}; 
; /*******************************************
; 函數名稱: LCD1602_portini
; 功    能: 初始化1602液晶用到的IO口
; 參    數: 無
; 返回值  : 無
; /********************************************/
; void LCD1602_portini(void)
	.dbline 61
; {
	ldi R24,255
	out 0x1a,R24
	.dbline 62
; 	LCDa_CTRL_DDR |= BIT(LCDa_RS)|BIT(LCDa_RW)|BIT(LCDa_E);//配置控制管腳為輸出
	out 0x17,R24
	.dbline 63
; 	LCDa_DATA_DDR |= 0xFF;//配置數據管腳為輸出
	out 0x14,R24
	.dbline 64
; }
	out 0x11,R24
	.dbline 66
; /*******************************************
; 函數名稱: LCD1602_readbyte
	clr R2
	out 0xd,R2
	.dbline 68
; 功    能: 從1602液晶讀出一個字節數據或者指令
; 參    數: DatCmd--為iDat時是數據,為iCmd時是指令
	sbi 0x15,3
	.dbline 69
; 返回值  : dByte--讀回的數據或者指令
	cbi 0x15,1
	.dbline 70
; /********************************************/
	cbi 0x1b,1
	.dbline 71
; uchar LCD1602_readbyte(uchar DatCmd)
	out 0x18,R24
	.dbline 72
; {
	sbi 0x1b,5
	.dbline 73
;  	uchar dByte;
	ldi R16,5
	ldi R17,0
	xcall _Delayus
	.dbline 74
; 	if (DatCmd == iCmd)		 //指令操作
	cbi 0x1b,5
	.dbline 76
; 		LCDa_CLR_RS;
; 	else
	clr R2
	out 0x18,R2
	.dbline 77
; 		LCDa_SET_RS;
	sbi 0x1b,6
	.dbline 78
; 		
	ldi R16,50
	ldi R17,0
	xcall _Delayus
	.dbline 79
; 	LCDa_SET_RW;	   	  	 //讀操作
	cbi 0x1b,6
	.dbline 81
; 	LCDa_SET_E;
; 	LCDa_DATA_DDR=0x00;	 	 //數據總線定義為輸入
	ldi R24,255
	out 0x18,R24
	.dbline 82
; 	dByte=LCDa_DI;			 //讀數據或者指令
	sbi 0x1b,7
	.dbline 83
; 	Delayms(1);				 //時序調整
	ldi R16,50
	ldi R17,0
	xcall _Delayus
	.dbline 84
; 	LCDa_CLR_E;	
	cbi 0x1b,7
	.dbline 86
; 	LCDa_DATA_DDR|=0xff;	 //數據總線還原為輸出
; 	return dByte;
	ldi R24,255
	out 0x12,R24
	.dbline 87
; }
	sbi 0x1b,7
	.dbline 88
; /*******************************************
	ldi R16,50
	ldi R17,0
	xcall _Delayus
	.dbline 89
; 函數名稱: LCD1602_sendbyte
	cbi 0x1b,7
	.dbline -2
	.dbline 92
; 功    能: 向1602液晶寫入一個字節數據或者指令
; 參    數: DatCmd--為iDat時是數據,為iCmd時是指令
; 	  	  dByte--為寫入1602的數據或者指令
L15:
	.dbline 0 ; func end
	ret
	.dbend
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\OK400C.H
_temp_data1::
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\OK400C.H
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\OK400C.H
	.dbfile D:\開發板\OK400C\程序\avr程序\26.ds12c887實時時鐘LCD1602顯示\DS12887.C
	.dbsym e temp_data1 _temp_data1 A[3:3]c
_temp_data2::
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\26.ds12c887實時時鐘LCD1602顯示\DS12887.C
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\26.ds12c887實時時鐘LCD1602顯示\DS12887.C
	.dbsym e temp_data2 _temp_data2 A[3:3]c
_display::
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\26.ds12c887實時時鐘LCD1602顯示\DS12887.C
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\26.ds12c887實時時鐘LCD1602顯示\DS12887.C
	.blkb 2
	.area idata
	.byte 0,0
	.area data(ram, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\26.ds12c887實時時鐘LCD1602顯示\DS12887.C
	.dbsym e display _display A[6:6]c
	.area text(rom, con, rel)
	.dbfile D:\開發板\OK400C\程序\avr程序\26.ds12c887實時時鐘LCD1602顯示\DS12887.C
	.dbfunc e LCD1602_portini _LCD1602_portini fV
	.even
_LCD1602_portini::
	.dbline -1
	.dbline 61
	.dbline 62
	in R24,0x11
	ori R24,112
	out 0x11,R24
	.dbline 63
	in R24,0x1a
	ori R24,255
	out 0x1a,R24
	.dbline -2
	.dbline 64
L16:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e LCD1602_readbyte _LCD1602_readbyte fc
;          dByte -> R20
;         DatCmd -> R20
	.even
_LCD1602_readbyte::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 72
	.dbline 74
	tst R20
	brne L18
	.dbline 75
	cbi 0x12,5
	xjmp L19
L18:
	.dbline 77
	sbi 0x12,5
L19:
	.dbline 79
	sbi 0x12,6
	.dbline 80
	sbi 0x12,4
	.dbline 81
	clr R2
	out 0x1a,R2
	.dbline 82
	in R20,0x19
	.dbline 83
	ldi R16,1
	ldi R17,0
	xcall _Delayms
	.dbline 84
	cbi 0x12,4
	.dbline 85
	in R24,0x1a
	ori R24,255
	out 0x1a,R24
	.dbline 86
	mov R16,R20
	.dbline -2
L17:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r dByte 20 c
	.dbsym r DatCmd 20 c
	.dbend
	.dbfunc e LCD1602_sendbyte _LCD1602_sendbyte fV
;          dByte -> R20
;         DatCmd -> R22
	.even
_LCD1602_sendbyte::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
	.dbline -1
	.dbline 96
; 返回值  : 無
; /********************************************/
; void LCD1602_sendbyte(uchar DatCmd, uchar dByte)
; {
	.dbline 97
; 	if (DatCmd == iCmd)		//指令操作
	tst R22
	brne L21
	.dbline 98
; 		LCDa_CLR_RS;
	cbi 0x12,5
	xjmp L22
L21:
	.dbline 100
; 	else
; 		LCDa_SET_RS;		//數據操作
	sbi 0x12,5
L22:
	.dbline 102
; 		
; 	LCDa_CLR_RW;			//寫操作操作
	cbi 0x12,6
	.dbline 103
; 	LCDa_SET_E;
	sbi 0x12,4
	.dbline 104
; 	LCDa_DO = dByte;		//寫入數據
	out 0x1b,R20
	.dbline 105
; 	Delayms(1);
	ldi R16,1
	ldi R17,0
	xcall _Delayms
	.dbline 106
; 	LCDa_CLR_E;	
	cbi 0x12,4
	.dbline -2
	.dbline 107
; }
L20:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r dByte 20 c
	.dbsym r DatCmd 22 c
	.dbend
	.dbfunc e LCD1602_sendstr _LCD1602_sendstr fV
;       ptString -> R20,R21
	.even
_LCD1602_sendstr::
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 115
; /*******************************************
; 函數名稱: LCD1602_sendstr
; 功    能: 向1602液晶寫入一個字符串
; 參    數: ptString--字符串指針
; 返回值  : 無
; /********************************************/
; void LCD1602_sendstr(uchar *ptString)
; {
	xjmp L25
L24:
	.dbline 117
	.dbline 118
	movw R30,R20
	ld R18,Z+
	movw R20,R30
	ldi R16,1
	xcall _LCD1602_sendbyte
	.dbline 119
L25:
	.dbline 116
; 	while((*ptString)!='\0')		 //字符串未結束就一直寫
	movw R30,R20
	ldd R2,z+0
	tst R2
	brne L24
	.dbline -2
	.dbline 120
; 	{
; 		LCD1602_sendbyte(iDat, *ptString++);
; 	}
; }
L23:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r ptString 20 pc
	.dbend
	.dbfunc e LCD1602_clear _LCD1602_clear fV
	.even
_LCD1602_clear::
	.dbline -1
	.dbline 128
; /*******************************************
; 函數名稱: LCD1602_clear
; 功    能: 1602液晶清屏
; 參    數: 無
; 返回值  : 無
; /********************************************/
; void LCD1602_clear(void)
; {
	.dbline 129
; 	LCD1602_sendbyte(iCmd,LCDa_CLS);//寫入清屏指令
	ldi R18,1
	clr R16
	xcall _LCD1602_sendbyte
	.dbline 130
; 	Delayms(2);// 清屏指令寫入后,2ms 的延時是很必要的!!!
	ldi R16,2
	ldi R17,0
	.dbline -2
	.dbline 131
; }
L27:
	.dbline 0 ; func end
	xjmp _Delayms
	.dbend
	.dbfunc e LCD1602_readBF _LCD1602_readBF fc
;           busy -> R20
	.even
_LCD1602_readBF::
	xcall push_gset1
	.dbline -1
	.dbline 139
; /*******************************************
; 函數名稱: LCD1602_readBF
; 功    能: 1602液晶清屏
; 參    數: 無
; 返回值  : busy--為1時是忙狀態,為0時可以接收指令
; /********************************************/
; uchar LCD1602_readBF(void)
; {	  
	.dbline 141
; 	uchar busy;
; 	busy=LCD1602_readbyte(iCmd);		//讀回BF標志(忙標志)和地址
	clr R16
	xcall _LCD1602_readbyte
	mov R20,R16
	.dbline 142
; 	if(busy&0x80)						//如果忙返回正在忙的狀態
	sbrs R16,7
	rjmp L29
	.dbline 143
; 		busy=1;
	ldi R20,1
	xjmp L30
L29:
	.dbline 145
; 	else	   							//如果不忙,可以寫入
; 		busy=0;
	clr R20
L30:
	.dbline 146
; 	return busy;
	mov R16,R20
	.dbline -2
L28:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r busy 20 c
	.dbend
	.dbfunc e LCD1602_gotoXY _LCD1602_gotoXY fV
;            Col -> R20
;            Row -> R22
	.even
_LCD1602_gotoXY::
	xcall push_gset2
	mov R20,R18

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人在线电影网| 中文字幕在线观看一区二区| 99久久99久久综合| 风间由美一区二区三区在线观看 | 2欧美一区二区三区在线观看视频| 在线精品视频免费播放| 色系网站成人免费| 在线观看日韩高清av| 色婷婷久久久久swag精品 | 亚洲婷婷在线视频| 亚洲视频一区二区在线观看| 亚洲色欲色欲www在线观看| 亚洲天堂福利av| 一区二区三区四区乱视频| 一区二区三区四区av| 亚洲午夜在线电影| 秋霞影院一区二区| 韩国三级电影一区二区| 国产乱子伦一区二区三区国色天香| 久久66热re国产| 粉嫩欧美一区二区三区高清影视| 91免费在线看| 4438x成人网最大色成网站| 日韩亚洲欧美一区| 欧美激情一区在线| 一区二区在线观看免费视频播放| 午夜婷婷国产麻豆精品| 激情综合色综合久久| 国产精品1024| 日本韩国欧美一区二区三区| 91精品国产一区二区三区| 久久蜜桃av一区二区天堂| 亚洲欧美日韩在线不卡| 日韩电影在线观看一区| 国产99久久久国产精品| 色悠久久久久综合欧美99| 在线电影一区二区三区| 国产欧美精品在线观看| 亚洲图片有声小说| 国产精品1区2区| 欧美精品高清视频| 国产精品福利av| 精品一区二区在线免费观看| caoporen国产精品视频| 日韩丝袜美女视频| 亚洲精品免费在线播放| 蜜臀av性久久久久蜜臀aⅴ| 91片黄在线观看| 国产午夜精品久久久久久免费视 | 久久久精品免费观看| 亚洲风情在线资源站| 粉嫩av一区二区三区| 日韩一区二区精品| 亚洲精品欧美二区三区中文字幕| 国产麻豆成人传媒免费观看| 欧美三级日韩三级| 亚洲视频1区2区| 成人免费毛片片v| 亚洲精品在线观看视频| 五月天国产精品| 欧美性大战久久久| 亚洲精品va在线观看| 国产成人精品影院| 精品国产乱码久久久久久闺蜜| 亚洲在线观看免费| 成人黄色在线视频| 久久精品一区二区三区四区| 另类中文字幕网| 欧美日韩欧美一区二区| 尤物av一区二区| 色婷婷精品久久二区二区蜜臀av| 久久先锋影音av鲁色资源网| 免费在线看成人av| 欧美丰满少妇xxxbbb| 亚洲国产成人av网| 欧美日韩国产免费一区二区 | 欧美一区在线视频| 天天色图综合网| 欧美久久一二区| 亚洲成a人v欧美综合天堂下载| 在线观看视频一区| 亚洲国产另类av| 7777精品伊人久久久大香线蕉的 | 欧美一区二区三区视频| 同产精品九九九| 在线综合+亚洲+欧美中文字幕| 亚洲r级在线视频| 91精品国产综合久久蜜臀| 亚洲成人黄色小说| 日韩欧美的一区| 国产精品综合网| 亚洲日本成人在线观看| 色婷婷综合视频在线观看| 亚洲激情欧美激情| 欧美日韩大陆一区二区| 日韩黄色片在线观看| 精品美女在线播放| 国产69精品一区二区亚洲孕妇| 国产精品国产三级国产有无不卡 | 午夜视频在线观看一区二区三区| 欧美一区二区三区视频在线观看| 久久99国产精品久久99果冻传媒| 国产视频911| 在线观看日韩毛片| 国内精品免费**视频| 国产精品久久久久桃色tv| 在线看日韩精品电影| 喷白浆一区二区| 中文字幕一区二区三区在线不卡| 在线观看一区二区视频| 精品在线播放午夜| 日韩毛片视频在线看| 欧美一级淫片007| 99精品欧美一区二区蜜桃免费| 亚洲h精品动漫在线观看| 久久久国产精品不卡| 欧美三级三级三级爽爽爽| 国产一区视频在线看| 亚洲一区二区欧美激情| 国产拍揄自揄精品视频麻豆| 欧美天堂亚洲电影院在线播放 | 国产精品你懂的| 91精品麻豆日日躁夜夜躁| 岛国精品在线播放| 另类小说综合欧美亚洲| 亚洲自拍都市欧美小说| 国产精品久久三区| 日韩精品中文字幕一区| 色综合久久中文综合久久牛| 激情丁香综合五月| 天堂成人国产精品一区| 亚洲综合色噜噜狠狠| 国产精品高清亚洲| 欧美精品一区二区三区四区| 欧美日韩在线三级| 色婷婷香蕉在线一区二区| 成人爱爱电影网址| 国产一区二区美女诱惑| 日韩黄色片在线观看| 亚洲成人高清在线| 一区二区三区欧美亚洲| 亚洲欧美一区二区三区极速播放 | 色哟哟在线观看一区二区三区| 国产精华液一区二区三区| 麻豆91在线观看| 蜜臀av在线播放一区二区三区| 五月婷婷色综合| 亚洲国产日日夜夜| 一区二区成人在线| 一区二区在线观看视频在线观看| 中文字幕在线一区免费| 国产色婷婷亚洲99精品小说| 国产亚洲精品7777| 国产免费成人在线视频| 久久久99精品久久| 久久免费看少妇高潮| 日韩欧美资源站| 欧美va亚洲va| 2022国产精品视频| 2024国产精品| 欧美国产精品专区| 国产精品国产三级国产有无不卡| 中文字幕国产精品一区二区| 国产精品国产三级国产三级人妇| 日本一区二区成人| 亚洲品质自拍视频网站| 亚洲影视在线观看| 亚洲成人av福利| 美女脱光内衣内裤视频久久网站| 青青青爽久久午夜综合久久午夜| 免费精品视频在线| 国产一区视频网站| 99久久99久久精品免费观看| 91黄色激情网站| 8v天堂国产在线一区二区| 日韩精品中午字幕| 国产女人aaa级久久久级| 18涩涩午夜精品.www| 午夜精品福利一区二区三区av | 国内精品在线播放| 成人精品国产一区二区4080| 色婷婷精品久久二区二区蜜臀av | 日韩三级伦理片妻子的秘密按摩| 久久综合九色综合欧美98| 亚洲色图制服丝袜| 亚洲va欧美va人人爽午夜| 国产自产高清不卡| 色综合欧美在线视频区| 欧美tickling网站挠脚心| 亚洲天堂中文字幕| 老司机精品视频在线| 99天天综合性| 日韩欧美一区二区不卡| 亚洲欧美一区二区在线观看| 日韩av一区二区在线影视| av不卡在线播放| 日韩免费高清电影| 亚洲乱码精品一二三四区日韩在线| 日韩精品1区2区3区| 91玉足脚交白嫩脚丫在线播放|