久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

[原創diy]試驗51單片機驅動3腳增量型旋轉編碼器

查看數: 5371 | 評論數: 5 | 收藏 3
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-1-30 14:05

正文摘要:

有很多場合都會用到增量型旋轉編碼器 比如:數字PLL收音機、音響中的電子音量、等等 于是找了一個舊的做試驗(型號是EC16-2A) 效果還不錯 給有興趣的壇友做個參考 試驗的圖里: A接單片機(AT89S52)的P32(IN ...

回復

ID:283686 發表于 2018-2-27 08:54
學習下  裝備試驗
ID:74784 發表于 2018-1-30 14:26
模擬調諧電臺的試驗參考代碼:


;1602-LCD模擬調電臺匯編代碼
;Lxa0最后修改于2018-1-28-V1.0
;本代碼晶體為11.0592MHz
;代碼中未注明的只占用區0

RS EQU p2.5           ;定義液晶接口
RW EQU p2.6
E  EQU p2.7

org 0000h
ljmp mm

;主程序*********************************************************
org 0100h
mm:nop
acall ys
mov tmod,#90h          ;T0設方式0,T1門控與方式1
mov tcon,#04h          ;T0原始方式,INT1下降沿觸發
;mov ie,#84h            ;設中斷允許
mov ip,#04h            ;設中斷優先級別
mov sp,#7fh            ;設堆棧入口
mov 08h,#30h           ;解碼轉換用
mov 09h,#07h           ;解碼轉換用
mov 10h,#30h           ;讀紅外波頭存放首址
mov 11h,#2fh           ;讀紅外波頭48個
mov 20h,#00h           ;讀紅外、解碼、動作,電臺最大最小標志位06h和05h
mov 21h,#00h           ;動作指令碼占           
mov 22h,#09h           ;電臺頻率小數位
mov 23h,#07h           ;電臺頻率個位
mov 24h,#00h           ;電臺頻率十位
mov 25h,#01h           ;電臺頻率百位
mov 26h,#00h           ;XX暫存單元
mov 27h,#00h           ;XX暫存單元
mov p0,#01H            ;清屏
acall wcom
MOV p0,#38H            ;使用8Bits匯流排,顯示2行5*7字符
acall wcom
MOV p0,#0CH            ;顯示開,光標關
acall wcom
MOV p0,#06H            ;字符不動,光標自動右移一格
acall wcom
MOV p0,#80H            ;第一行的開始位置
acall wcom
MOV DPTR,#TAB001       ;到TABLE1取碼
acall xsztab           
MOV p0,#0C0H           ;第二行的開始位置
acall wcom
MOV DPTR,#TAB002       ;到TABLE2 取碼
acall xsztab           
acall cgwr
m0:nop
acall ys
acall xsz
sjmp m0

;顯示tab001和tab002子代碼*****************************************
xsztab:nop              
push dph
push dpl
push acc
push psw
clr psw.3               ;進入區0工作寄存器
clr psw.4
mov r1,#00h
A1:mov a,r1
MOVC A,@A+DPTR          ;到table取碼
mov p0,a
acall wdat              ;顯示到lcd
INC r1
CJNE A,#0,A1            ;是否到00h
pop psw
pop acc
pop dpl
pop dph
RET

;延時0.5mS子代碼**************************************************
ys:nop              
push dph
push dpl
push acc
push psw
clr psw.3               ;進入區0工作寄存器
clr psw.4
MOV R7,#04              ;延時0.5mS子程序
ys00:MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,ys00
pop psw
pop acc
pop dpl
pop dph
RET

;以下是字符數據表**************************************************
tab001: db"      Lxa0      ",00h
tab002: db" FM--000.0 MHz  ",00h

;顯示xsz子程序<占用區0>********************************************
org 0200h
xsz:nop
push dph              ;保護現場
push dpl
push acc
push psw
mov p0,#0c9h          ;設置小數位地址
lcall wcom
mov a,22h             ;取小數位數據
add a,#30h            ;加上#30h就是去CGROM取數據
mov p0,a
lcall wdat            ;送出顯示
mov p0,#0c7h          ;設置頻率個位地址
lcall wcom
mov a,23h             ;取頻率個位數據
add a,#30h
mov p0,a
lcall wdat            ;送出顯示
mov p0,#0c6h          ;設置頻率十位地址
lcall wcom
mov a,24h             ;取頻率十位數據
add a,#30h
mov p0,a
lcall wdat            ;送出顯示
mov p0,#0c5h          ;設置頻率百位地址
lcall wcom
mov a,25h             ;取頻率百位數據
add a,#30h
mov p0,a
lcall wdat            ;送出顯示
mov p0,#80h           ;顯示天線符號
lcall wcom
mov p0,#00h
lcall wdat
mov p0,#81h           ;顯示信號符號
lcall wcom
mov p0,#01h
lcall wdat
mov p0,#8fh           ;顯示電池符號
lcall wcom
mov p0,#02h
lcall wdat
pop psw               ;恢復現場
pop acc
pop dpl
pop dph
ret                   ;返回

;寫命令和數據子代碼************************************************
org 0280h
wcom:CLR RS           ;送命令
CLR RW
clr E
acall ys
setb E
clr E
RET

wdat:SETB RS          ;送數據
CLR RW
clr E
acall ys
setb E
clr E
RET

;建立自定義CGRAM字符庫子程序(占用區0工作寄存器)********************
org 0300h
cgwr:nop
push dph
push dpl
push acc
push psw
mov p0,#40h           ;設置CGRAM首地址
lcall wcom
mov r2,#64            ;設置天線信號電池等共8X8=64個代碼
mov r3,#00h
mov dptr,#cgtab1      ;設置字符代碼表首地址
cgwr00:mov a,r3
movc a,@a+dptr        ;取字符代碼
mov p0,a
lcall wdat
inc r3
djnz r2,cgwr00
pop psw
pop acc
pop dpl
pop dph
ret

;以下是CGRAM數據表*************************************************
cgtab1:
db 15H,15H,15H,0EH,04H,04H,04H,00H         ;"天線"代碼=0x08h
db 00H,00H,01H,03H,07H,0fH,1fH,00H         ;"信號"代碼=0x09h
db 04H,1FH,11H,15H,15H,11H,1FH,00H         ;"電池"代碼=0x10h
db 00h,01h,02h,03h,04h,05h,06h,07h         ;"空"代碼=0x05h
db 00h,01h,02h,03h,04h,05h,06h,07h         ;"空"代碼=0x00h
db 00h,01h,02h,03h,04h,05h,06h,07h         ;"空"代碼=0x01h
db 00h,01h,02h,03h,04h,05h,06h,07h         ;"空"代碼=0x02h
db 00h,01h,02h,03h,04h,05h,06h,07h         ;"空"代碼=0x03h
;******************************************************************
end
ID:74784 發表于 2018-1-30 14:24
試驗用的參考代碼:

;這是一個旋轉編碼器的試驗匯編代碼2018-1-20
;最后試驗修改2018-1-26,幾乎沒有了抖動
;at89s52,11.0592MHz,
;p32(int0)下降沿做中斷判別A,p34(t0)做引腳B判別

ORG 0000H
LJMP mm
ORG 0003H
LJMP pd                ;中斷判別A腳
         
;程序入口*********************************************************      
org 0100h
mm:nop
mov 17h,#0feh          ;循環顯示p0口的led
mov 18h,#00h           ;4個做判別緩沖用
mov 19h,#00h
mov 1ah,#00h
mov 1bh,#05h
mov p0,17h
mov sp,#4fh            ;設堆棧入口50h
mov tcon,#01h          ;int0下降沿中斷
setb ea                ;開總中斷
setb ex0               ;開int0
mm0:nop
sjmp mm0

;int0中斷代碼*****************************************************
org 0300h
pd:nop
clr ea
push acc
push psw
push dph
push dpl
mov a,p3
anl a,#00010100b        ;保留p32和p34腳屏蔽其余引腳
mov 18h,a               ;暫存在r7
acall ys100             ;延時約1.5ms
mov a,p3
anl a,#00010100b
cjne a,18h,pd0          ;不是正轉則判別是否反轉
cjne a,#10h,pd0         ;A=L,B=H時右移           
mov a,17h
rl a
mov 17h,a
mov p0,a
sjmp pd00
pd0:mov a,p3
anl a,#00010100b
mov 19h,a
acall ys100             ;延時約1.5ms
mov a,p3
anl a,#00010100b
cjne a,19h,pd00         ;是干擾則返回
cjne a,#00h,pd00        ;A=B=L時左移
mov a,17h
rr a
mov 17h,a
mov p0,a
pd00:setb ea
pop dpl
pop dph
pop psw
pop acc
reti

ys100:nop               ;延時約1.5mS
ys0:djnz 1ah,$
djnz 1bh,ys0
mov 1ah,#00h
mov 1bh,#05h
ret


end

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品综合 | 中文字幕亚洲区 | 国产一区二区在线视频 | 精品亚洲一区二区 | 日日操操| 久久久精品影院 | 夜夜草视频 | 欧美综合视频 | 剑来高清在线观看 | av影音资源| 亚洲精品一 | av影音资源 | 日韩电影一区二区三区 | 欧美一区二区在线免费观看 | 日韩精品一区二区三区在线观看 | 欧美自拍一区 | 成人不卡| 日韩免费高清视频 | 国产精品69毛片高清亚洲 | 亚洲二区在线 | 久www | 国产成人av在线播放 | 精品国产乱码久久久久久1区2区 | 91.com视频| 国产精久久久久久 | 亚洲国产高清高潮精品美女 | 黄色成人av| 国产精品一区久久久 | www.久久久久久久久久久久 | 黄色av一区| 欧美日韩高清 | 久色| 黄色大片免费网站 | 国产精品国产精品国产专区不片 | 亚洲女人的天堂 | 91精品福利 | 久久精品国产99国产精品 | 中文字幕国产一区 | 亚洲一区 中文字幕 | 欧美日韩国产三级 | 久久久久久成人网 |