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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5338|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

[原創(chuàng)diy]試驗(yàn)51單片機(jī)驅(qū)動(dòng)3腳增量型旋轉(zhuǎn)編碼器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:74784 發(fā)表于 2018-1-30 14:05 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
有很多場(chǎng)合都會(huì)用到增量型旋轉(zhuǎn)編碼器
比如:數(shù)字PLL收音機(jī)、音響中的電子音量、等等
于是找了一個(gè)舊的做試驗(yàn)(型號(hào)是EC16-2A)
效果還不錯(cuò)
給有興趣的壇友做個(gè)參考

試驗(yàn)的圖里:
A接單片機(jī)(AT89S52)的P32(INT0)
B接在P34口

在P0口接8個(gè)led做類似流水燈的指示
即可觀察到左右旋轉(zhuǎn)時(shí)的效果

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:74784 發(fā)表于 2018-1-30 14:06 | 只看該作者

回復(fù)

使用道具 舉報(bào)

板凳
ID:74784 發(fā)表于 2018-1-30 14:24 | 只看該作者
試驗(yàn)用的參考代碼:

;這是一個(gè)旋轉(zhuǎn)編碼器的試驗(yàn)匯編代碼2018-1-20
;最后試驗(yàn)修改2018-1-26,幾乎沒(méi)有了抖動(dòng)
;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          ;循環(huán)顯示p0口的led
mov 18h,#00h           ;4個(gè)做判別緩沖用
mov 19h,#00h
mov 1ah,#00h
mov 1bh,#05h
mov p0,17h
mov sp,#4fh            ;設(shè)堆棧入口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             ;延時(shí)約1.5ms
mov a,p3
anl a,#00010100b
cjne a,18h,pd0          ;不是正轉(zhuǎn)則判別是否反轉(zhuǎn)
cjne a,#10h,pd0         ;A=L,B=H時(shí)右移           
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             ;延時(shí)約1.5ms
mov a,p3
anl a,#00010100b
cjne a,19h,pd00         ;是干擾則返回
cjne a,#00h,pd00        ;A=B=L時(shí)左移
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               ;延時(shí)約1.5mS
ys0:djnz 1ah,$
djnz 1bh,ys0
mov 1ah,#00h
mov 1bh,#05h
ret


end
回復(fù)

使用道具 舉報(bào)

地板
ID:74784 發(fā)表于 2018-1-30 14:25 | 只看該作者
繼續(xù)實(shí)驗(yàn)?zāi)M調(diào)諧電臺(tái):



回復(fù)

使用道具 舉報(bào)

5#
ID:74784 發(fā)表于 2018-1-30 14:26 | 只看該作者
模擬調(diào)諧電臺(tái)的試驗(yàn)參考代碼:


;1602-LCD模擬調(diào)電臺(tái)匯編代碼
;Lxa0最后修改于2018-1-28-V1.0
;本代碼晶體為11.0592MHz
;代碼中未注明的只占用區(qū)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設(shè)方式0,T1門控與方式1
mov tcon,#04h          ;T0原始方式,INT1下降沿觸發(fā)
;mov ie,#84h            ;設(shè)中斷允許
mov ip,#04h            ;設(shè)中斷優(yōu)先級(jí)別
mov sp,#7fh            ;設(shè)堆棧入口
mov 08h,#30h           ;解碼轉(zhuǎn)換用
mov 09h,#07h           ;解碼轉(zhuǎn)換用
mov 10h,#30h           ;讀紅外波頭存放首址
mov 11h,#2fh           ;讀紅外波頭48個(gè)
mov 20h,#00h           ;讀紅外、解碼、動(dòng)作,電臺(tái)最大最小標(biāo)志位06h和05h
mov 21h,#00h           ;動(dòng)作指令碼占           
mov 22h,#09h           ;電臺(tái)頻率小數(shù)位
mov 23h,#07h           ;電臺(tái)頻率個(gè)位
mov 24h,#00h           ;電臺(tái)頻率十位
mov 25h,#01h           ;電臺(tái)頻率百位
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            ;顯示開,光標(biāo)關(guān)
acall wcom
MOV p0,#06H            ;字符不動(dòng),光標(biāo)自動(dòng)右移一格
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               ;進(jìn)入?yún)^(qū)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

;延時(shí)0.5mS子代碼**************************************************
ys:nop              
push dph
push dpl
push acc
push psw
clr psw.3               ;進(jìn)入?yún)^(qū)0工作寄存器
clr psw.4
MOV R7,#04              ;延時(shí)0.5mS子程序
ys00:MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,ys00
pop psw
pop acc
pop dpl
pop dph
RET

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

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

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

wdat:SETB RS          ;送數(shù)據(jù)
CLR RW
clr E
acall ys
setb E
clr E
RET

;建立自定義CGRAM字符庫(kù)子程序(占用區(qū)0工作寄存器)********************
org 0300h
cgwr:nop
push dph
push dpl
push acc
push psw
mov p0,#40h           ;設(shè)置CGRAM首地址
lcall wcom
mov r2,#64            ;設(shè)置天線信號(hào)電池等共8X8=64個(gè)代碼
mov r3,#00h
mov dptr,#cgtab1      ;設(shè)置字符代碼表首地址
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數(shù)據(jù)表*************************************************
cgtab1:
db 15H,15H,15H,0EH,04H,04H,04H,00H         ;"天線"代碼=0x08h
db 00H,00H,01H,03H,07H,0fH,1fH,00H         ;"信號(hào)"代碼=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
回復(fù)

使用道具 舉報(bào)

6#
ID:283686 發(fā)表于 2018-2-27 08:54 | 只看該作者
學(xué)習(xí)下  裝備試驗(yàn)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频一区二区 | 国产黑丝在线 | 亚洲一区在线日韩在线深爱 | 精品国产乱码久久久久久影片 | 精品自拍视频在线观看 | 国产精品国产三级国产aⅴ中文 | 国产精品免费视频一区 | 日韩高清一区 | 99re免费| 国产69久久精品成人看动漫 | 在线观看日本网站 | 国产激情视频在线观看 | 欧美一级黄色免费看 | 免费在线成人 | 99爱视频| 色综合一区二区 | 影音先锋男 | a在线观看 | 色888www视频在线观看 | 精品视频免费在线 | 欧美精品网站 | 波多野结衣一区二区三区 | 黄网站在线播放 | 国产黄色大片在线观看 | 成人性生交a做片 | 亚洲精品久久久蜜桃 | 亚洲国产精品一区二区三区 | 麻豆精品国产91久久久久久 | 黄网在线观看 | 欧美久久久久久久久中文字幕 | 国产精品观看 | 爱爱视频在线观看 | 91精品国产91久久久久久不卞 | 天天插日日操 | 黄色网址免费看 | 国产精品1区2区 | 国产精品久久久久久吹潮 | 成人在线中文字幕 | 欧美在线视频一区二区 | 日韩电影中文字幕在线观看 | 亚洲精品第一 |