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

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

?? ds12887.lst

?? 高精度時鐘芯片。avr驅動
?? LST
?? 第 1 頁 / 共 3 頁
字號:
    0105 CF7C      RJMP	_Delayms
_LCD1602_readBF:
  busy                 --> R20
    0106 940E02CF  CALL	push_gset1
(0132) /*******************************************
(0133) 函數名稱: LCD1602_readBF
(0134) 功    能: 1602液晶清屏
(0135) 參    數: 無
(0136) 返回值  : busy--為1時是忙狀態,為0時可以接收指令
(0137) /********************************************/
(0138) uchar LCD1602_readBF(void)
(0139) {	  
(0140) 	uchar busy;
(0141) 	busy=LCD1602_readbyte(iCmd);		//讀回BF標志(忙標志)和地址
    0108 2700      CLR	R16
    0109 DFBB      RCALL	_LCD1602_readbyte
    010A 2F40      MOV	R20,R16
(0142) 	if(busy&0x80)						//如果忙返回正在忙的狀態
    010B FF07      SBRS	R16,7
    010C C002      RJMP	0x010F
(0143) 		busy=1;
    010D E041      LDI	R20,1
    010E C001      RJMP	0x0110
(0144) 	else	   							//如果不忙,可以寫入
(0145) 		busy=0;
    010F 2744      CLR	R20
(0146) 	return busy;
    0110 2F04      MOV	R16,R20
    0111 940E02D2  CALL	pop_gset1
    0113 9508      RET
_LCD1602_gotoXY:
  Col                  --> R20
  Row                  --> R22
    0114 940E02E6  CALL	push_gset2
    0116 2F42      MOV	R20,R18
    0117 2F60      MOV	R22,R16
(0147) }
(0148) /*******************************************
(0149) 函數名稱: LCD1602_gotoXY
(0150) 功    能: 移動到指定位置
(0151) 參    數: Row--指定的行
(0152) 	  	  Col--指定的列
(0153) 返回值  : 無
(0154) /********************************************/
(0155) void LCD1602_gotoXY(uchar Row, uchar Col)
(0156) {	
(0157) 	switch (Row)		  //選擇行
    0118 2777      CLR	R23
    0119 3062      CPI	R22,2
    011A E0E0      LDI	R30,0
    011B 077E      CPC	R23,R30
    011C F009      BEQ	0x011E
    011D C005      RJMP	0x0123
(0158) 	{
(0159) 		case 2:
(0160) 			LCD1602_sendbyte(iCmd, LCDa_L2 + Col); break;	//寫入第2行的指定列	
    011E 2F24      MOV	R18,R20
    011F 5420      SUBI	R18,0x40
    0120 2700      CLR	R16
    0121 DFBB      RCALL	_LCD1602_sendbyte
    0122 C004      RJMP	0x0127
(0161) 		default:
(0162) 			LCD1602_sendbyte(iCmd, LCDa_L1 + Col); break;	//寫入第1行的指定列	
    0123 2F24      MOV	R18,R20
    0124 5820      SUBI	R18,0x80
    0125 2700      CLR	R16
    0126 DFB6      RCALL	_LCD1602_sendbyte
(0163) 	}
(0164) }
    0127 940E02EA  CALL	pop_gset2
    0129 9508      RET
(0165) /*******************************************
(0166) 函數名稱: LCD1602_initial
(0167) 功    能: 1602液晶初始化
(0168) 參    數: 無
(0169) 返回值  : 無
(0170) /********************************************/
(0171) void LCD1602_initial(void)
(0172) {
(0173) 	Delayms(100);				//上電后等待內部復位
_LCD1602_initial:
    012A E604      LDI	R16,0x64
    012B E010      LDI	R17,0
    012C DF55      RCALL	_Delayms
(0174) 	LCD1602_portini();			//端口初始化
    012D DF90      RCALL	_LCD1602_portini
(0175) 	
(0176) 	LCD1602_sendbyte(iCmd, LCDa_FUNCTION);	//功能、模式設定,具體的設定功能可以看C:\icc\include\AVR_PQ1A.H里面的常量定義
    012E E328      LDI	R18,0x38
    012F 2700      CLR	R16
    0130 DFAC      RCALL	_LCD1602_sendbyte
(0177) 	while(LCD1602_readBF());				//等待不忙為止
    0131 DFD4      RCALL	_LCD1602_readBF
    0132 2300      TST	R16
    0133 F7E9      BNE	0x0131
(0178) 	LCD1602_sendbyte(iCmd, LCDa_ON);		//打開顯示
    0134 E02C      LDI	R18,0xC
    0135 2700      CLR	R16
    0136 DFA6      RCALL	_LCD1602_sendbyte
(0179) 	while(LCD1602_readBF());				//等待不忙為止
    0137 DFCE      RCALL	_LCD1602_readBF
    0138 2300      TST	R16
    0139 F7E9      BNE	0x0137
(0180) 	LCD1602_clear();						//清屏
    013A DFC5      RCALL	_LCD1602_clear
(0181) 	while(LCD1602_readBF());				//等待不忙為止
    013B DFCA      RCALL	_LCD1602_readBF
    013C 2300      TST	R16
    013D F7E9      BNE	0x013B
(0182) 	LCD1602_sendbyte(iCmd, LCDa_ENTRY);		//輸入模式設定		
    013E E026      LDI	R18,6
    013F 2700      CLR	R16
(0183) }
    0140 CF9C      RJMP	_LCD1602_sendbyte
_write_ds:
  date                 --> R20
  add                  --> R22
    0141 940E02E6  CALL	push_gset2
    0143 2F42      MOV	R20,R18
    0144 2F60      MOV	R22,R16
(0184) 
(0185) void write_ds(uchar add,uchar date)
(0186) {
(0187)    PORTC&=~BIT(RTC_CS);		  //選通時鐘
    0145 98A8      CBI	P15,0
(0188)    PORTD|=BIT(RTC_AS);
    0146 9A95      SBI	P12,5
(0189)    PORTD|=BIT(RTC_DS);
    0147 9A97      SBI	P12,7
(0190)    PORTD|=BIT(RTC_RW);   
    0148 9A96      SBI	P12,6
(0191)    PORTA=add;
    0149 BB6B      OUT	P1B,R22
(0192)    Delayus(5);
    014A E005      LDI	R16,5
    014B E010      LDI	R17,0
    014C DF1D      RCALL	_Delayus
(0193)    PORTD&=~BIT(RTC_AS);		  //鎖存地址
    014D 9895      CBI	P12,5
(0194)    PORTD&=~BIT(RTC_RW);		  
    014E 9896      CBI	P12,6
(0195)    PORTA=date;		   		  
    014F BB4B      OUT	P1B,R20
(0196)    Delayus(5);   
    0150 E005      LDI	R16,5
    0151 E010      LDI	R17,0
    0152 DF17      RCALL	_Delayus
(0197)    PORTD|=BIT(RTC_RW);       //寫數據  
    0153 9A96      SBI	P12,6
(0198)    PORTD|=BIT(RTC_AS);
    0154 9A95      SBI	P12,5
(0199)    PORTC|=BIT(RTC_CS);				
    0155 9AA8      SBI	P15,0
(0200) }
    0156 940E02EA  CALL	pop_gset2
    0158 9508      RET
_read_ds:
  ds_date              --> R20
  add                  --> R20
    0159 940E02CF  CALL	push_gset1
    015B 2F40      MOV	R20,R16
(0201) 
(0202) uchar read_ds(uchar add)
(0203) {
(0204)    uchar ds_date;  
(0205)    PORTC&=~BIT(RTC_CS);	 		//選通時鐘
    015C 98A8      CBI	P15,0
(0206)    PORTD|=BIT(RTC_AS);
    015D 9A95      SBI	P12,5
(0207)    PORTD|=BIT(RTC_DS);
    015E 9A97      SBI	P12,7
(0208)    PORTD|=BIT(RTC_RW);
    015F 9A96      SBI	P12,6
(0209) //   PORTC&=~BIT(RTC_CS);	 		//選通時鐘
(0210)    PORTA=add;
    0160 BB4B      OUT	P1B,R20
(0211)    Delayus(5);
    0161 E005      LDI	R16,5
    0162 E010      LDI	R17,0
    0163 DF06      RCALL	_Delayus
(0212)    PORTD&=~BIT(RTC_AS);			//鎖存地址   
    0164 9895      CBI	P12,5
(0213)    PORTD&=~BIT(RTC_DS);
    0165 9897      CBI	P12,7
(0214)    DDRA=0;
    0166 2422      CLR	R2
    0167 BA2A      OUT	P1A,R2
(0215) //   PORTA=0XFF;
(0216)    Delayus(5);
    0168 E005      LDI	R16,5
    0169 E010      LDI	R17,0
    016A DEFF      RCALL	_Delayus
(0217)    ds_date=PINA;	   			//讀數據
    016B B349      IN	R20,P19
(0218)    DDRA=0XFF;
    016C EF8F      LDI	R24,0xFF
    016D BB8A      OUT	P1A,R24
(0219)    PORTD|=BIT(RTC_DS);
    016E 9A97      SBI	P12,7
(0220)    PORTD|=BIT(RTC_AS);
    016F 9A95      SBI	P12,5
(0221)    PORTC|=BIT(RTC_CS);         
    0170 9AA8      SBI	P15,0
(0222)    return ds_date;	
    0171 2F04      MOV	R16,R20
    0172 940E02D2  CALL	pop_gset1
    0174 9508      RET
(0223) }
(0224) 
(0225) 
(0226) /************************************************************* 
(0227) 函數功能:該函數用來啟動時鐘芯片工作
(0228) 應用范圍:僅在時鐘芯片首次使用時用到一次
(0229) 入口參數:
(0230) 出口參數:
(0231) *************************************************************/   
(0232) void StartDs12c887(void)
(0233) {
(0234)    write_ds(chRegA,CMD_START_DS12C887);
_StartDs12c887:
    0175 E220      LDI	R18,0x20
    0176 E00A      LDI	R16,0xA
(0235) }
    0177 CFC9      RJMP	_write_ds
(0236) 
(0237) /************************************************************* 
(0238) 函數功能:該函數用來關閉時鐘芯片
(0239) 應用范圍:一般用不到
(0240) 入口參數:
(0241) 出口參數:
(0242) *************************************************************/   
(0243) void CloseDs12c887(void)
(0244) {
(0245)    write_ds(chRegA,CMD_CLOSE_DS12C887);
_CloseDs12c887:
    0178 E320      LDI	R18,0x30
    0179 E00A      LDI	R16,0xA
(0246) }
    017A CFC6      RJMP	_write_ds
(0247) /************************************************************* 
(0248) 函數功能:初始化ds12c887
(0249) 應用范圍:
(0250) 入口參數:
(0251) 出口參數:
(0252) *************************************************************/   
(0253) void InitDs12c887()
(0254) {
(0255)     StartDs12c887();
_InitDs12c887:
    017B DFF9      RCALL	_StartDs12c887
(0256) 	write_ds(chRegB,chRegB | MASK_SETB_SET);/* 禁止刷新 */
    017C E82B      LDI	R18,0x8B
    017D E00B      LDI	R16,0xB
    017E DFC2      RCALL	_write_ds
(0257) 	write_ds(chRegB,chRegB & MASK_CLR_DM | MASK_SETB_2412 & MASK_CLR_DSE);
    017F E02B      LDI	R18,0xB
    0180 E00B      LDI	R16,0xB
    0181 DFBF      RCALL	_write_ds
(0258)                             
(0259)                 /* 使用BCD碼格式、24小時模式、不使用夏令時 */
(0260) 	write_ds(chCenturyChannel,0x21);               /* 設置為21世紀 */
    0182 E221      LDI	R18,0x21
    0183 E302      LDI	R16,0x32
    0184 DFBC      RCALL	_write_ds
(0261) 	write_ds(chRegB,chRegB & MASK_CLR_SET);
    0185 E02B      LDI	R18,0xB
    0186 E00B      LDI	R16,0xB
(0262) }
    0187 CFB9      RJMP	_write_ds
(0263) 
(0264) /************************************************************* 
(0265) 函數功能:該函數用來從時鐘芯片讀取秒字節
(0266) 應用范圍:
(0267) 入口參數:
(0268) 出口參數:
(0269) *************************************************************/   
(0270) unsigned char GetSeconds(void)
(0271) {
(0272)     return(read_ds(chSecondsChannel));
_GetSeconds:
    0188 2700      CLR	R16
    0189 CFCF      RJMP	_read_ds
(0273) }
(0274) 
(0275) /************************************************************* 
(0276) 函數功能:該函數用來從時鐘芯片讀取分字節
(0277) 應用范圍:
(0278) 入口參數:
(0279) 出口參數:
(0280) *************************************************************/   
(0281) unsigned char GetMinutes(void)
(0282) {
(0283)     return(read_ds(chMinutesChannel));
_GetMinutes:
    018A E002      LDI	R16,2
    018B CFCD      RJMP	_read_ds
(0284) }
(0285) 
(0286) /************************************************************* 
(0287) 函數功能:該函數用來從時鐘芯片讀取小時字節
(0288) 應用范圍:
(0289) 入口參數:
(0290) 出口參數:
(0291) *************************************************************/   
(0292) unsigned char GetHours(void)
(0293) {
(0294)     return(read_ds(chHoursChannel));
_GetHours:
    018C E004      LDI	R16,4
    018D CFCB      RJMP	_read_ds
(0295) }
(0296) 
(0297) /************************************************************* 
(0298) 函數功能:該函數用來從時鐘芯片讀取日字節
(0299) 應用范圍:
(0300) 入口參數:
(0301) 出口參數:
(0302) *************************************************************/   
(0303) unsigned char GetDate(void)
(0304) {
(0305)     return(read_ds(chDateChannel));
_GetDate:
    018E E007      LDI	R16,7
    018F CFC9      RJMP	_read_ds
(0306) }
(0307) /************************************************************* 
(0308) 函數功能:該函數用來從時鐘芯片讀取月字節
(0309) 應用范圍:
(0310) 入口參數:
(0311) 出口參數:
(0312) *************************************************************/   
(0313) unsigned char GetMonth(void)
(0314) {
(0315)     return(read_ds(chMonthChannel));
_GetMonth:
    0190 E008      LDI	R16,0x8
    0191 CFC7      RJMP	_read_ds
(0316) }
(0317) 
(0318) /************************************************************* 
(0319) 函數功能:該函數用來從時鐘芯片讀取年字節
(0320) 應用范圍:
(0321) 入口參數:
(0322) 出口參數:
(0323) *************************************************************/   
(0324) unsigned char GetYear(void)
(0325) {
(0326)     return(read_ds(chYearChannel));
_GetYear:
    0192 E009      LDI	R16,0x9
    0193 CFC5      RJMP	_read_ds
(0327) }
(0328) 
(0329) /************************************************************* 
(0330) 函數功能:該函數用來從時鐘芯片讀取世紀字節
(0331) 應用范圍:
(0332) 入口參數:
(0333) 出口參數:
(0334) *************************************************************/   
(0335) unsigned char GetCentury(void)
(0336) {
(0337)     return(read_ds(chCenturyChannel));
_GetCentury:
    0194 E302      LDI	R16,0x32
    0195 CFC3      RJMP	_read_ds
_SetTime:
  chHours              --> Y+4
  chMinutes            --> R20
  chSeconds            --> R22
    0196 940E02E6  CALL	push_gset2
    0198 2F42      MOV	R20,R18
    0199 2F60      MOV	R22,R16
(0338) }    
(0339) 
(0340) /************************************************************* 
(0341) 函數功能:該函數用來設置時鐘芯片的時間
(0342) 應用范圍:
(0343) 入口參數:chSeconds、chMinutes、chHours是設定時間的壓縮BCD碼
(0344) 出口參數:
(0345) *************************************************************/   
(0346) void SetTime(unsigned char chSeconds,unsigned char chMinutes,unsigned char 
(0347) chHours)
(0348) {
(0349)    write_ds(chRegB,chRegB | MASK_SETB_SET);  /* 禁止刷新 */
    019A E82B      LDI	R18,0x8B
    019B E00B      LDI	R16,0xB
    019C DFA4      RCALL	_write_ds
(0350)    write_ds(chSecondsChannel,chSeconds);
    019D 2F26      MOV	R18,R22
    019E 2700      CLR	R16
    019F DFA1      RCALL	_write_ds
(0351)    write_ds(chMinutesChannel,chMinutes);
    01A0 2F24      MOV	R18,R20
    01A1 E002      LDI	R16,2
    01A2 DF9E      RCALL	_write_ds
(0352)    write_ds(chHoursChannel,chHours);
    01A3 812C      LDD	R18,4+Y
    01A4 E004      LDI	R16,4
    01A5 DF9B      RCALL	_write_ds
(0353)    write_ds(chRegB,chRegB & MASK_CLR_SET);/* 使能刷新 */
    01A6 E02B      LDI	R18,0xB
    01A7 E00B      LDI	R16,0xB
    01A8 DF98      RCALL	_write_ds
(0354) }
    01A9 940E02EA  CALL	pop_gset2
    01AB 9508      RET
_SetDate:
  chYear               --> Y+4
  chMonth              --> R20
  chDate               --> R22
    01AC 940E02E6  CALL	push_gset2
    01AE 2F42      MOV	R20,R18
    01AF 2F60      MOV	R22,R16
(0355) 
(0356) /************************************************************* 
(0357) 函數功能:該函數用來設置時鐘芯片的日期
(0358) 應用范圍:
(0359) 入口參數:chDate、chMonth、chYear是設定日期的壓縮BCD碼
(0360) 出口參數:
(0361) *************************************************************/   
(0362) void SetDate(unsigned char chDate,unsigned char chMonth,unsigned char chYear)
(0363) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av中文一区二区三区| 91亚洲大成网污www| 91麻豆精品国产自产在线| 亚洲精品乱码久久久久久日本蜜臀| 91视频.com| 91啪在线观看| 精品视频在线免费观看| 国产剧情一区二区| 亚洲人成在线播放网站岛国| 欧美高清精品3d| 99这里都是精品| 色综合久久综合| 国内成人精品2018免费看| 中文字幕精品三区| 日韩免费观看高清完整版| av一二三不卡影片| 色丁香久综合在线久综合在线观看| 秋霞成人午夜伦在线观看| 国产精品蜜臀在线观看| 日韩美女一区二区三区四区| 国产清纯白嫩初高生在线观看91 | 91亚洲国产成人精品一区二三| 9色porny自拍视频一区二区| 欧亚一区二区三区| 粉嫩13p一区二区三区| 亚洲自拍偷拍综合| 亚洲国产精品99久久久久久久久 | 99久久精品国产毛片| 久久国产夜色精品鲁鲁99| 亚洲午夜久久久| 国产精品黄色在线观看| 日韩你懂的在线播放| 国产精品久久久久影院老司| 亚洲国产一区二区三区| 国产999精品久久久久久| 欧美主播一区二区三区| 国产日韩欧美制服另类| 亚洲高清一区二区三区| 国产成人精品免费视频网站| 国产成人自拍网| 在线观看日韩av先锋影音电影院| 欧美变态tickling挠脚心| 欧美大胆人体bbbb| 亚洲蜜臀av乱码久久精品| 激情综合亚洲精品| 粉嫩av一区二区三区粉嫩| 欧美人伦禁忌dvd放荡欲情| 欧美电影影音先锋| 亚洲麻豆国产自偷在线| 成人妖精视频yjsp地址| 91免费看片在线观看| 久久日一线二线三线suv| 337p日本欧洲亚洲大胆色噜噜| 一区二区三区四区激情| 天天色综合天天| 麻豆成人综合网| 国产综合色视频| 91精品国产丝袜白色高跟鞋| 久久综合狠狠综合久久激情| 日韩国产成人精品| 国产黄色精品网站| www国产精品av| 精品无人码麻豆乱码1区2区| 欧美老女人在线| 丝袜诱惑制服诱惑色一区在线观看 | 欧美精品tushy高清| 玉米视频成人免费看| 色综合色综合色综合色综合色综合 | 欧美日本在线一区| 亚洲午夜av在线| 欧美日韩免费高清一区色橹橹 | 91老师国产黑色丝袜在线| 国产视频一区不卡| 一区二区三区欧美日| 91在线porny国产在线看| 国产精品成人在线观看| 99久久99久久精品国产片果冻| 亚洲国产精品av| 91色婷婷久久久久合中文| 亚洲精品老司机| 欧美日韩综合在线免费观看| 五月开心婷婷久久| 日韩精品专区在线影院观看 | 国产 欧美在线| 国产精品久久毛片av大全日韩| www.亚洲激情.com| 亚洲一区二区偷拍精品| 日韩一区二区三区视频| 亚洲男同1069视频| 欧美日韩国产电影| 老司机免费视频一区二区三区| 欧美精品一区二区三| 亚洲成人免费视频| 91美女片黄在线| 天堂影院一区二区| 久久久久久久久免费| 日本少妇一区二区| 国产视频一区不卡| 欧美亚洲国产一区二区三区va| 欧美激情一区二区| 欧美亚一区二区| 精品中文字幕一区二区| 中文字幕一区三区| 国产a精品视频| 亚洲综合丁香婷婷六月香| 日韩午夜精品视频| 成人av电影在线| 国产精品欧美一区喷水| 欧美日韩一区久久| 国产激情一区二区三区| 亚洲h精品动漫在线观看| 久久久亚洲精品一区二区三区 | 欧美一区2区视频在线观看| 国产乱子伦一区二区三区国色天香 | 成人深夜在线观看| 亚洲18影院在线观看| 欧美国产日韩精品免费观看| 精品婷婷伊人一区三区三| 成人精品免费看| 青椒成人免费视频| 亚洲免费视频成人| 国产喷白浆一区二区三区| 欧美另类z0zxhd电影| 99re这里只有精品视频首页| 久久99国产精品免费网站| 午夜一区二区三区在线观看| 国产精品久久久99| 久久久另类综合| 欧美一区二区三区婷婷月色| 在线免费精品视频| 成人av电影在线| 国产精品一区二区久久不卡| 日本不卡123| 亚洲第一狼人社区| 一区二区三区四区激情 | 欧美性生活久久| proumb性欧美在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 精品国产91洋老外米糕| 777欧美精品| 欧美理论片在线| 69久久99精品久久久久婷婷| 在线视频观看一区| 日本乱人伦aⅴ精品| 97久久超碰国产精品电影| 成人亚洲一区二区一| 欧美主播一区二区三区美女| 99re视频精品| 99久久99久久综合| 日本精品视频一区二区| 色老汉av一区二区三区| 色诱视频网站一区| 欧美制服丝袜第一页| 色哟哟国产精品免费观看| 在线亚洲+欧美+日本专区| 91小视频免费看| 色吧成人激情小说| 欧美日本在线看| 欧美一级爆毛片| 久久九九99视频| 中文字幕第一区二区| 亚洲精品视频在线看| 亚洲午夜精品网| 开心九九激情九九欧美日韩精美视频电影 | 欧美日韩精品二区第二页| 欧美精品777| 精品久久国产97色综合| 久久精品人人爽人人爽| 亚洲欧美日韩电影| 五月婷婷欧美视频| 国产精品一区二区久激情瑜伽 | 亚洲不卡av一区二区三区| 蜜臀精品久久久久久蜜臀| 国产高清久久久| 91久久精品一区二区| 日韩一卡二卡三卡国产欧美| 久久久www成人免费毛片麻豆| 中文字幕一区在线观看| 日韩不卡免费视频| 岛国一区二区三区| 欧美日韩亚洲不卡| 国产日韩精品久久久| 亚洲美女在线国产| 精品亚洲欧美一区| 欧美亚洲高清一区| 国产偷国产偷亚洲高清人白洁 | 成人动漫视频在线| 欧美日韩国产小视频在线观看| 日韩一区二区三区av| 中文字幕亚洲不卡| 精品一区二区久久| 91久久奴性调教| 亚洲国产电影在线观看| 性做久久久久久免费观看| 大桥未久av一区二区三区中文| 欧美在线不卡视频| 国产欧美日韩精品在线| 日韩国产一区二| 在线免费av一区| 国产精品水嫩水嫩|