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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

菜鳥求教這個(gè)實(shí)驗(yàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:33156 發(fā)表于 2011-11-10 14:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
 

鍵盤顯示程序設(shè)計(jì)

實(shí)驗(yàn)?zāi)康?/b>

1、理解串行接口鍵盤單片機(jī)匯編語言程序的基本結(jié)構(gòu)

2、了解單片機(jī)匯編語言程序的設(shè)計(jì)和調(diào)試方法

3、掌握幾個(gè)的基本的傳送類、控制類指令的使用方法

實(shí)驗(yàn)儀器

單片機(jī)開發(fā)板、萬利仿真機(jī)、穩(wěn)壓電源、計(jì)算機(jī)

實(shí)驗(yàn)原理

1、  鍵盤接口電路工作原理

串行接口鍵盤盤電路如圖4-15所示。鍵盤掃描線與顯示位選掃描信號共用。鍵盤輸入只需要一根線,電路簡單。鍵盤掃描信號從74LS164輸出,低電平有效。當(dāng)掃描到某個(gè)鍵時(shí),若按鍵按下,在KEY端得到低電平,否則得到高電平。通過判斷KEY的電平就可以知道相應(yīng)鍵盤是否按下。

圖4-15 鍵盤接口電路圖

2、  讀鍵盤程序設(shè)計(jì)

從上面工作原理分析可知,讀鍵程序可以和顯示程序結(jié)合在一起,也可以單獨(dú)設(shè)計(jì)。這種結(jié)構(gòu)的鍵盤同樣存在抖動(dòng)問題。為了減少程序誤動(dòng)作,程序設(shè)計(jì)時(shí)也要考慮去抖動(dòng)問題。這里設(shè)計(jì)一個(gè)把鍵值顯示在LED上的程序。為了簡化問題,把讀鍵程序與顯示結(jié)合起來。程序流程圖如圖4-16所示。

主程序

初值化,顯示緩沖區(qū),鍵值暫存,鍵盤緩存

調(diào)用鍵盤顯示程序

鍵值相同

鍵值送顯示

Y

N

Y

顯示計(jì)數(shù)為0

……

鍵盤顯示程序

取鍵值暫存到累加器

返回鍵值

N

顯示程序

延時(shí)程序執(zhí)行后

讀當(dāng)前掃描的鍵狀態(tài),并存入鍵值暫存寄存器

 


















圖4-16 鍵盤掃描程序流程圖

實(shí)驗(yàn)內(nèi)容

1、單片機(jī)鍵盤顯示程序設(shè)計(jì)

……

LEDCLK        bit          P3.4

LEDDIN        bit          P2.3

LEDDATA      data        P0

KEYINPUT    bit          P1.0

……

dispbuf:          DS          8            ;顯示緩沖區(qū)8字節(jié)

disppoint:       Ds          1            ;小數(shù)點(diǎn)控制數(shù)據(jù)

keytemp:        DS          1            ;鍵值暫存

keybuf:          DS          1            ;鍵值緩沖區(qū)

……

Start:

CLR        EA

MOV      A,#13H                        ;全暗數(shù)據(jù)

MOV      B,#8

MOV      R0,#dispbuf

Start1:

MOV      @R0,A                 ;往顯示緩沖區(qū)填入數(shù)據(jù)

INC        R0

DJNZ      B,Start1

MOV      keytemp,#0

MOV      keybuf,#0

Start2:

LCALL   Disp

CJNE      A,keybuf,Start2

MOV      R0,#dispbuf+7

MOV      @R0,A

       SJMP      Start2

;--------------------------------------------------------------------------------

;輸入: 無

;輸出:鍵值

;----------------------------------------------------------------------------------

Disp:       MOV      R7,#8

              MOV      R0,#dispbuf

              CLR        LEDCLK

              SETB      LECDIN

Disp1:     MOV      A,@R0

              MOV      DPTR,#DispTab

              MOVC    A,@A+DPTR

        CPL        A

              MOV      LEDDATA,A                ;在這里加入顯示小數(shù)點(diǎn)程序

              LCALL   DispSelection1              ;輸出位選擇信號,DispSelection2是第二種

              LCALL   Delay1ms

              INC        R0

              MOV      C,KEYINPUT

              MOV      A,keytemp

              RRC       A

              MOV      keytemp,A

              DJNZ      R7,Disp1

              MOV      A,keytemp                    ;鍵值(特征值,按下鍵對應(yīng)的位為0)

              MOV      B,#0

              MOV      R7,#8

Disp2:

              RRC       A

              JNC        Disp3

`             INC        B

              DJNZ      R7,Disp2

Disp3:     MOV      A,B

              RET

DispSelection1:                                  ;位選碼以一次一位方式輸出

              CJNE      R7,#8,DispSelection11

              CLR        LEDDIN

DispSelection11:

              SETB      LEDCLK

              NOP

              CLR        LEDCLK

              SETB      LEDDIN

              RET

DispSTab:       DB  00H,80H,40H,20H,10H,08H,04H,02H,01H ;位選碼數(shù)據(jù)表

dispa       equ  80h                ;數(shù)碼管各段數(shù)據(jù)定義

dispb       equ  40h

dispc       equ  20h

dispd       equ  10h

dispe       equ  08h

dispf       equ  04h

dispg       equ  02h

disph       equ  01h

disp8       equ  0ffh-disph

DispTab:  db    disp8-dispg,dispb+dispc,dispa+dispb+dispg+dispd+dispe                  ;0,1,2

              db    disp8-dispe-dispf,disp8-dispa-dispd-dispe,disp8-dispb-dispe              ;3,4,5

              db    disp8-dispb,dispa+dispb+dispc,disp8,disp8-dispe                             ;6,7,8,9

              db    disp8-dispd,disp8-dispa-dispb,disp8-dispb-dispc-dispg                      ;a,b,c

              db    disp8-dispa-dispf,disp8-dispb-dispc,disp8-dispb-dispc-dispd              ;d,e,f

              db    disp8-dispb-dispc,0ffh,00h,dispg                                      ;H,全亮,全暗,-

 

 

 

這個(gè)C程序怎么寫啊
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:24977 發(fā)表于 2011-11-10 16:06 | 只看該作者
看不到圖??
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区 中文字幕 | 国产精品国产三级国产aⅴ原创 | 久久精品成人 | 成人激情视频 | 免费黄色成人 | 久久久久免费观看 | 在线国产99| 日韩专区中文字幕 | 国产精品久久久乱弄 | 午夜视频免费在线观看 | 久久午夜精品 | 国产精品性做久久久久久 | 免费久久精品视频 | 亚洲网站在线观看 | 成人黄色av | 日韩欧美日韩在线 | 天堂视频免费 | 日韩精品免费视频 | 精品电影 | 精品视频久久久 | 小h片免费观看久久久久 | 免费在线观看黄网站 | 亚洲性视频网站 | 国产亚洲精品美女久久久久久久久久 | 精品一二三区 | 午夜影院在线观看 | 亚洲精品粉嫩美女一区 | 热久久性 | 欧美视频在线播放 | 国产精品成人av | www.日韩 | www九色| 日韩精品一区二区三区中文在线 | 一区二区三区av | 国产欧美精品一区二区三区 | 国产精品一区二区av | av毛片 | 羞羞网站在线观看 | 国产精品久久免费观看 | 毛片1| 黄色av网站在线观看 |