日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单片机--定时器/计数器实验

發(fā)布時間:2023/12/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机--定时器/计数器实验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 實(shí)驗(yàn)?zāi)康暮腿蝿?wù)
  • 目的:利用“模塊化單片機(jī)教學(xué)實(shí)驗(yàn)平臺”,加深對單片機(jī)的中斷系統(tǒng)的理解。

    任務(wù):利用單片機(jī)的中斷系統(tǒng)完成程序設(shè)計(jì)。

  • 實(shí)驗(yàn)內(nèi)容
  • 使用AT89S52單片機(jī)的定時器/計(jì)數(shù)器T0控制實(shí)驗(yàn)箱母板上的LED1每隔1秒點(diǎn)亮一次(即亮1秒,滅1秒,如此反復(fù))。LED1的陰極與AT89S52單片機(jī)的P1.5引腳連接。(AT89S52單片機(jī)的T1中斷入口也為001BH。)

  • 實(shí)驗(yàn)過程和結(jié)果
  • ①關(guān)掉實(shí)驗(yàn)箱電源。將CPU 板插接在JK1、JK2 上,注意CPU 板的插接方向。按照前面連接關(guān)系表將硬件連接好。

    ②將AT89S52 芯片插在CPU 板的CPU 插座上(不要插反)。母板上電。

    ③運(yùn)行Keil 開發(fā)環(huán)境,按照“模塊化單片機(jī)教學(xué)實(shí)驗(yàn)平臺配套的實(shí)驗(yàn)指導(dǎo)書1.2.3 節(jié)”介紹的方法建立工程exp8.uV2,CPU 為AT89S52,不包含啟動文件STARTUP.A51。

    ④把示例源程序exp8.asm 加入到工程exp8.uV2,并設(shè)置工程exp8.uV2 屬性,將其晶振頻率設(shè)置為11.0592MHz,選擇輸出可執(zhí)行文件。

    ⑤構(gòu)造(Build)工程exp8.uV2。

    ⑥通過PROGISP 燒寫軟件,利用ISP 下載線(見“模塊化單片機(jī)教學(xué)實(shí)驗(yàn)平臺配套的實(shí)驗(yàn)指導(dǎo)書1.3 節(jié)”)把HEX 文件下載到單片機(jī)中。

    ⑦下載成功后,觀察母板上的LED1。

    硬件連線:

    CPU板

    母板

    P2:P1.5

    J48:LED1

    擴(kuò)展實(shí)驗(yàn):使用AT89S52 單片機(jī)的定時器/計(jì)數(shù)器控制實(shí)驗(yàn)箱母板上的LED1 亮2 秒,滅1 秒,亮2 秒,滅1 秒,如此反復(fù)。LED1 的陰極與AT89S52 單片機(jī)的P1.5引腳連接。

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

  • 實(shí)驗(yàn)心得
  • 實(shí)驗(yàn)時使用進(jìn)位標(biāo)志位C為標(biāo)志變量,導(dǎo)致程序錯誤。實(shí)驗(yàn)中使用特殊功能寄存器要考慮到是否會影響到程序的執(zhí)行,最好避免使用特殊功能寄存器,以免產(chǎn)生意料外的情況。

  • 附錄(代碼)
  • (1)基本實(shí)驗(yàn)

    ORG 0000H

    LJMP MAIN ??????????? ??

    ORG 001BH

    LJMP ON

    MAIN:?

    SETB ET1 ?????????????? ;打開中斷分開關(guān)

    SETB EA?????????????????? ;打開中斷總開關(guān)

    MOV R0,#0?????????????? ;初始化r0

    MOV TMOD,#10H?? ;設(shè)置計(jì)時器模式

    MOV TL1,#0B0H????? ;初始值低八位

    MOV TH1,#03CH???? ;初始值低八位

    MOV A,#60D??????????? ;設(shè)置初始A

    SETB TR1 ?????????????? ;開始計(jì)時

    LJMP $????????????????????? ;

    ON:

    CJNE R0,#0,OF???????? ;以R0判斷燈是否點(diǎn)亮

    DEC A?????????????????????? ;A減一

    CJNE A,#00H,J???????? ;判斷是否相同? 不相同轉(zhuǎn)移(結(jié)束)

    CLR P1.5?????????????????? ;點(diǎn)亮燈

    MOV R0,#1?????????????? ;R0置位1

    MOV TL1,#0B0H????? ;初始化計(jì)時器

    MOV TH1,#03CH???? ;

    MOV A,#60D??????????? ;設(shè)置時間

    J:???????????????????????????????

    RETI?????????????????????????

    OF:

    DEC A

    CJNE A,#00H,K

    SETB P1.5???????????????? ;關(guān)閉燈

    MOV R0,#0

    MOV TL1,#0B0H

    MOV TH1,#03CH

    MOV A,#60D

    K:

    RETI

    END

    (2)擴(kuò)展實(shí)驗(yàn)

    ORG 0000H

    LJMP MAIN ??????????? ??;除修改時間外與上個實(shí)驗(yàn)程序無異

    ORG 001BH

    LJMP ON

    MAIN:?

    SETB ET1

    SETB EA

    MOV R0,#0

    MOV TMOD,#10H

    MOV TL1,#0B0H

    MOV TH1,#03CH

    MOV A,#20D?????????????????? ;修改所設(shè)計(jì)延遲從3S->1s

    SETB TR1

    LJMP $

    ON:

    CJNE R0,#0,OF

    DEC A

    CJNE A,#00H,J

    CLR P1.5

    MOV R0,#1

    MOV TL1,#0B0H

    MOV TH1,#03CH

    MOV A,#40D??????????? ;修改所設(shè)計(jì)延遲從3S->2s

    J:

    RETI

    OF:

    DEC A

    CJNE A,#00H,K

    SETB P1.5

    MOV R0,#0

    MOV TL1,#0B0H

    MOV TH1,#03CH

    MOV A,#20D??????????? ;修改所設(shè)計(jì)延遲從3S->1s

    K:

    RETI

    END

    總結(jié)

    以上是生活随笔為你收集整理的单片机--定时器/计数器实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。