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

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

?? at24c02.asm

?? AT24C02是基于IIC總線的串行數據存儲器EEPROM
?? ASM
字號:


;*****************************************************************************************
;程序說明
;*****************************************************************************************
;名稱: MCS8051-III學習板演示程序(AT24C02測試)
;功能: 保存鍵盤值到AT24C02中并在數碼管顯示
;版本:2007-07-01

;*****************************************************************************************
;硬件說明
;*****************************************************************************************
;單片機: 	兼容MCS-51單片機/STC89C51
;晶振頻率:  12MHz

;*****************************************************************************************
;說明:程序預定義	
;*****************************************************************************************
LED7A_CTRL	EQU		P1.7					;數碼管第一位控制引腳(0為有效,1為無效)
LED7B_CTRL	EQU		P1.6					;數碼管第二位控制引腳(0為有效,1為無效)
LED7C_CTRL	EQU		P1.5					;數碼管第三位控制引腳(0為有效,1為無效)
LED7D_CTRL	EQU		P1.4					;數碼管第四位控制引腳(0為有效,1為無效)

LED7_STATUS	EQU		P0						;數碼管狀態引腳(0為有效,1為無效)

LED7A_DATA  EQU		70H						;數碼管第一位顯示值(千位)
LED7B_DATA  EQU		71H						;數碼管第二位顯示值(百位)
LED7C_DATA  EQU		72H						;數碼管第三位顯示值(十位)
LED7D_DATA  EQU		73H						;數碼管第四位顯示值(個位)

LED7_NUM	EQU		74H						;數碼管動態掃描值(值為從0到3)

KEY_STATUS	EQU		P2						;鍵盤狀態引腳

IIC_SDA		EQU		P1.1					;IIC總線SDA引腳定義
IIC_SCL		EQU		P1.0					;IIC總線SCL引腳定義

;*****************************************************************************************
;說明:程序開始	
;*****************************************************************************************
			ORG		0000H					;程序首地址 PC=0000H
			JMP		START					;程序跳轉到START PC=0030H   
	
			ORG		000BH					;T0中斷程序入口
			JMP		LED7SCAN				;數碼管動態掃描處理程序
	
			ORG		0030H					;程序開始
START:		
			CLR		IIC_SCL					;IIC時鐘引腳至0
			CLR		P1.7
								
											;T0中斷設定
			MOV		TMOD, #00000001B		;使用T0:GATE=0,C/T=0(定時),M1 M0=01(工作方式1)
			MOV		TH0, #0ECH				;定時時間5毫秒
			MOV		TL0, #078H
			SETB	ET0						;允許T0中斷		
			SETB    TR0						;使T0工作

			MOV		A, #0					;AT24C02的地址值為0
			CALL	AT24C02_READBYTE		;AT24C02讀操作,讀出數據存放在A中
			
			SETB	EA						;總中斷開啟
	
			MOV		LED7A_DATA,	A			;數碼管第一位初始值
			MOV		LED7B_DATA,	A			;數碼管第二位初始值
			MOV		LED7C_DATA,	A			;數碼管第三位初始值
			MOV		LED7D_DATA,	A			;數碼管第四位初始值

			MOV		LED7_NUM, #0			;數碼管動態掃描值至0,掃描第一位
			MOV		DPTR, #KEYTAB			;鍵盤編碼表地址送DPTR	

											;檢測鍵盤
			MOV		R5, #0EFH				;置掃描碼初值
			MOV		R4, #04H				;置循環掃描次數為4次			
L1:		
			MOV		R3, #16					;置判斷鍵盤碼循環次數為15次
			MOV		KEY_STATUS,	R5			;將掃描碼置鍵盤引腳
			MOV		A, R5					;改變掃描碼
			RL		A
			MOV		R5, A
			MOV		A, KEY_STATUS
			ANL		A, #0FH					;判斷是否有按鍵按下
			CJNE	A, #0FH, L2				;若有按鍵按下則轉到L2
			JMP		L4						;若無則轉到L4
L2:
			MOV		A, R3					;根據鍵盤碼判斷那個鍵按下
			DEC		A
			MOVC	A, @A+DPTR
			CJNE	A, KEY_STATUS,	L3						
			MOV		A, R3
			DEC		A

			MOV		LED7A_DATA,	A			;將顯示值放到數碼管顯示值中
			MOV		LED7B_DATA,	A			
			MOV		LED7C_DATA,	A
			MOV		LED7D_DATA,	A

											;將鍵盤值保存在AT24CO2中
			MOV		R5, A
			MOV		A, #0
			CALL	AT24C02_WRITEBYTE


			JMP		L4	
L3:	
			DJNZ	R3, L2	
L4:
			DJNZ	R4, L1		 	
			MOV		R5, #0EFH				;置掃描碼初值
			MOV		R4, #04H  				;置循環掃描次數為4次

			JMP	L1
								
;*****************************************************************************************		
;函數:LEDSCAN
;說明: 數碼管動態掃描處理程序
;參數: 
;返回; 無
;*****************************************************************************************						
LED7SCAN:				
			PUSH	ACC						;ACC入棧
			PUSH	PSW						;PSW入棧
			PUSH	DPL						;DPL入棧
			PUSH	DPH						;DPH入棧
					
			MOV		DPTR,#LED7TAB			;數碼管顯示碼表地址送DPTR
	
			MOV		A, LED7_NUM				;數碼管動態掃描值送A
		
			CJNE	A, #0, LED7SCAN_1		;若數碼管動態掃描值為0,則處理數碼管的第一位,否則跳轉到LED7SCAN_1
			SETB	LED7D_CTRL				;設置數碼管第四位無效
			MOV		A, LED7A_DATA			;將千位值送A
			MOVC	A, @A+DPTR				;將顯示碼送A
			CLR		LED7A_CTRL				;設置數碼管第一位有效
			JMP		LED7SCAN_4				;跳轉到LED7SCAN_4
				
LED7SCAN_1:
			CJNE	A, #1, LED7SCAN_2		;若數碼管動態掃描值為1,則處理數碼管的第二位,否則跳轉到LED7SCAN_2
			SETB	LED7A_CTRL				;設置數碼管第一位無效
			MOV		A, LED7B_DATA			;將百位值送A
			MOVC	A, @A+DPTR				;將顯示碼送A
			CLR		LED7B_CTRL				;設置數碼管第二位有效
			JMP		LED7SCAN_4				;跳轉到LED7SCAN_4
				
LED7SCAN_2:
			CJNE	A, #2, LED7SCAN_3		;若數碼管動態掃描值為2,則處理數碼管的第三位,否則跳轉到LED7SCAN_3
			SETB	LED7B_CTRL				;設置數碼管第二位無效
			MOV		A, LED7C_DATA			;將十位值送A
			MOVC	A, @A+DPTR				;將顯示碼送A
			CLR		LED7C_CTRL				;設置數碼管第三位有效
			JMP		LED7SCAN_4				;跳轉到LED7SCAN_4
				
LED7SCAN_3:
			SETB	LED7C_CTRL				;設置數碼管第三位無效
			MOV		A, LED7D_DATA			;將個位值送A
			MOVC	A, @A+DPTR				;將顯示碼送A
			CLR		LED7D_CTRL				;設置數碼管第四位有效

			MOV		LED7_NUM, #0			;數碼管動態掃描值置0
			JMP		LED7SCAN_5				;跳轉到LED7SCAN_5

LED7SCAN_4:
			INC		LED7_NUM				;數碼管動態掃描值加1
LED7SCAN_5:	
			MOV		LED7_STATUS, A			;顯示碼送數碼管狀態引腳
			
			MOV		TH0, #0ECH				;重新設置T0定時值
			MOV		TL0, #078H
			
			POP		DPH						;DPH出棧
			POP		DPL						;DPL出棧
			POP		PSW						;PSW出棧
			POP		ACC						;ACC出棧

			RETI							;中斷返回


;*****************************************************************************************		
;IIC總線處理函數
;*****************************************************************************************						
IIC_START:									;IIC起始函數
			SETB	IIC_SDA
			SETB	IIC_SCL
			NOP
			NOP
			NOP
			NOP
			CLR		IIC_SDA
			NOP
			NOP
			NOP
			NOP
			CLR		IIC_SCL
			RET	
		
IIC_STOP:									;IIC結束函數
			CLR		IIC_SDA
			SETB	IIC_SCL
			NOP
			NOP
			NOP
			NOP
			SETB	IIC_SDA
			NOP
			NOP
			NOP
			NOP
			CLR		IIC_SCL
			RET
		
IIC_ACK:									;IIC應答函數
			CLR		IIC_SDA
			SETB	IIC_SCL
			NOP
			NOP
			NOP
			NOP
			SETB	IIC_SDA
			CLR		IIC_SCL
			RET

IIC_NACK:									;IIC反應答函數
			SETB	IIC_SDA
			SETB	IIC_SCL
			NOP
			NOP
			NOP
			NOP
			CLR		IIC_SDA
			CLR		IIC_SCL
			RET		
			 								
IIC_WBYTE:									;IIC寫字節函數	
			MOV		R7, #8
IIC_WBYTE_1:
			RLC		A
			JC		IIC_WBYTE_2
			CLR		IIC_SDA
			SETB	IIC_SCL
			NOP
			NOP
			NOP
			NOP
			CLR		IIC_SCL
			DJNZ	R7, IIC_WBYTE_1	
			RET
IIC_WBYTE_2:	
			SETB	IIC_SDA
			SETB	IIC_SCL
			NOP
			NOP
			NOP
			NOP
			CLR		IIC_SCL
			CLR		IIC_SDA
			DJNZ	R7, IIC_WBYTE_1
			RET
		
IIC_RBYTE:									;IIC讀字節函數	
			MOV		R7, #8
IIC_RBYTE_1:
			SETB	IIC_SDA
			SETB	IIC_SCL
			MOV		C, IIC_SDA
			MOV		A, R6
			RLC		A
			MOV		R6, A
			CLR		IIC_SCL	
			DJNZ	R7, IIC_RBYTE_1
			RET
		
;*****************************************************************************************		
;名稱:AT24C02_WRITEBYTE:
;說明:AT24C02寫字節操作
;參數: A存放寫入地址,R5存放寫入數據
;返回: 無
;*****************************************************************************************						
AT24C02_WRITEBYTE:
			PUSH	ACC
			CALL	IIC_START
			MOV		A, #10100000B
			CALL	IIC_WBYTE	
			CALL	IIC_ACK
			POP		ACC
			CALL	IIC_WBYTE
			CALL	IIC_ACK
			MOV		A, R5
			CALL	IIC_WBYTE
			CALL	IIC_ACK
			CALL	IIC_STOP
			RET

;*****************************************************************************************		
;名稱:AT24C02_READBYTE
;說明:AT24C02讀字節操作
;參數: A存放讀出地址
;返回: A存放讀出數據
;*****************************************************************************************								
AT24C02_READBYTE:
			PUSH	ACC
			CALL	IIC_START
			MOV		A, #10100000B
			CALL	IIC_WBYTE	
			CALL	IIC_ACK
			POP		ACC
			CALL	IIC_WBYTE
			CALL	IIC_ACK
			CALL	IIC_START
			MOV		A, #10100001B
			CALL	IIC_WBYTE
			CALL	IIC_ACK
			CALL	IIC_RBYTE
			CALL	IIC_NACK
			CALL	IIC_STOP
			RET	
			

;*****************************************************************************************
;說明:七段數碼管十六進制顯示碼表		
;*****************************************************************************************
LED7TAB:		
			DB		0C0H, 0F9H, 0A4H, 0B0H, 099H, 092H, 082H, 0F8H, 080H, 090H	;從'0'到'9'
			DB		088H, 083H, 0C6H, 0A1H, 086H, 08EH, 0FFH			     	;從'A'到'F'	
	
;*****************************************************************************************
;說明:鍵盤十六進制編碼表		
;*****************************************************************************************			
KEYTAB:				
			DB		0DEH, 0E7H, 0D7H, 0B7H, 0EBH, 0DBH, 0BBH, 0EDH, 0DDH, 0BDH	;從'0'到'9'
			DB		077H, 07BH, 07DH, 07EH,	0BEH, 0EEH							;從'A'到'F'

								
	
;*****************************************************************************************		
;說明:程序結束	
;*****************************************************************************************		
			END								;程序結束

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区不卡| 91精品国产入口在线| 国产精品乱人伦| 丁香天五香天堂综合| 欧美国产禁国产网站cc| caoporen国产精品视频| 136国产福利精品导航| 欧美综合一区二区| 麻豆freexxxx性91精品| 精品国内片67194| 高清不卡一二三区| 亚洲一区中文日韩| 精品免费99久久| 成人激情午夜影院| 午夜久久久久久电影| 2024国产精品| 日本精品一级二级| 九九**精品视频免费播放| 国产精品视频一二三区| 精品视频在线视频| 国产精品综合av一区二区国产馆| 国产精品女主播在线观看| 欧美视频一区在线观看| 国产综合成人久久大片91| 亚洲欧洲三级电影| 日韩一区二区免费在线电影| 国产a久久麻豆| 视频一区在线播放| 国产精品久99| 日韩女优制服丝袜电影| av中文字幕不卡| 玖玖九九国产精品| 成人免费在线观看入口| 精品欧美一区二区在线观看| 色综合天天天天做夜夜夜夜做| 日韩国产欧美视频| 一区二区中文视频| 精品久久人人做人人爰| 欧美亚洲一区二区在线观看| 国产精品一区免费视频| 亚洲国产cao| 国产精品高清亚洲| 久久婷婷一区二区三区| 欧美人牲a欧美精品| 99久久精品国产网站| 狠狠色综合日日| 无吗不卡中文字幕| 亚洲女人的天堂| 国产喷白浆一区二区三区| 91精品国产91综合久久蜜臀| 91在线高清观看| 丰满亚洲少妇av| 国内久久精品视频| 日本中文字幕一区二区视频| 一区二区三区在线视频观看58| 国产三级欧美三级日产三级99| 7878成人国产在线观看| 在线免费观看日韩欧美| 91在线精品一区二区三区| 丁香六月综合激情| 国产精品1区2区3区| 久久99国产精品麻豆| 日韩av在线免费观看不卡| 亚洲精品综合在线| 中文字幕一区三区| 中日韩免费视频中文字幕| 久久先锋影音av鲁色资源网| 欧美成人综合网站| 欧美顶级少妇做爰| 69精品人人人人| 在线成人免费视频| 欧美精品久久一区| 欧美挠脚心视频网站| 91精品久久久久久久久99蜜臂| 6080国产精品一区二区| 3d动漫精品啪啪1区2区免费| 欧美精品一卡两卡| 日韩一区二区视频| 日韩欧美国产电影| 日韩精品一区二区三区三区免费| 欧美一级久久久久久久大片| 欧美一区二区免费| 欧美变态口味重另类| 欧美精品一区男女天堂| 久久久99精品免费观看不卡| 久久久国产精品午夜一区ai换脸| 久久蜜桃香蕉精品一区二区三区| 久久精品一区二区三区不卡| 国产欧美视频一区二区| 亚洲国产成人在线| 亚洲日本在线a| 婷婷亚洲久悠悠色悠在线播放| 日韩黄色在线观看| 激情综合一区二区三区| 国产成人啪免费观看软件| 国产91对白在线观看九色| 99re热这里只有精品免费视频 | 另类人妖一区二区av| 极品少妇xxxx偷拍精品少妇| 丁香婷婷综合色啪| 在线免费亚洲电影| 欧美成人三级在线| 国产精品成人一区二区艾草| 一区二区欧美精品| 免费在线欧美视频| 高清不卡在线观看av| 欧美性猛交xxxxxxxx| 精品久久人人做人人爱| 亚洲视频在线一区| 蜜臀精品一区二区三区在线观看 | 国产福利91精品一区| 国产精品一二三四五| 99精品国产视频| 欧美三级在线看| 久久综合视频网| 亚洲精品视频在线观看网站| 青青国产91久久久久久| 国产成人在线视频免费播放| 欧美影院一区二区三区| 久久色.com| 亚洲成a人片在线观看中文| 国产精品456露脸| 欧美日韩高清一区二区三区| 国产欧美精品日韩区二区麻豆天美| 亚洲精品写真福利| 精品一区免费av| 色偷偷一区二区三区| 2017欧美狠狠色| 香蕉加勒比综合久久| 成人网在线播放| 日韩视频一区在线观看| 亚洲品质自拍视频网站| 国内精品久久久久影院一蜜桃| 在线免费av一区| 国产精品理伦片| 精品一区二区三区av| 精品视频免费在线| 国产精品对白交换视频| 激情深爱一区二区| 555www色欧美视频| 亚洲麻豆国产自偷在线| 国产91丝袜在线观看| 日韩欧美一卡二卡| 亚洲高清在线精品| 99久久婷婷国产综合精品| 亚洲精品在线电影| 麻豆精品久久精品色综合| 欧美性大战久久久久久久| 亚洲欧洲国产专区| 成人精品免费视频| 久久久午夜精品理论片中文字幕| 石原莉奈在线亚洲二区| 色哟哟在线观看一区二区三区| 国产三级久久久| 国产成人欧美日韩在线电影| 久久综合五月天婷婷伊人| 久久精品99久久久| 日韩视频免费观看高清完整版 | 国产乱子伦一区二区三区国色天香| 欧美日韩视频专区在线播放| 亚洲私人黄色宅男| 成人av电影在线| 亚洲国产精品成人综合色在线婷婷 | 国产99久久久久| 久久久久久一级片| 国产成人精品在线看| 久久综合精品国产一区二区三区| 日本不卡的三区四区五区| 欧美精品亚洲二区| 日欧美一区二区| 91精品国产一区二区三区| 视频一区二区国产| 日韩欧美www| 国产露脸91国语对白| 久久精品亚洲一区二区三区浴池| 国产在线国偷精品免费看| 国产亚洲福利社区一区| 大陆成人av片| 夜夜精品视频一区二区| 欧美日韩成人一区二区| 日本欧美一区二区三区| 日韩欧美国产电影| 国产不卡视频在线播放| 亚洲欧美一区二区视频| 在线欧美日韩国产| 免费看欧美女人艹b| 亚洲精品在线免费播放| 成人动漫一区二区三区| 亚洲精品亚洲人成人网| 欧美肥妇bbw| 国产乱码字幕精品高清av | 国产激情91久久精品导航 | 天堂在线一区二区| 欧美成人三级在线| 成人免费视频一区| 亚洲综合无码一区二区| 日韩限制级电影在线观看| 成人免费毛片片v| 天天做天天摸天天爽国产一区| 欧美不卡一二三|