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

標(biāo)題: 兩位數(shù)碼管循環(huán)顯示00~99的實(shí)驗(yàn) [打印本頁(yè)]

作者: 51黑黑黑    時(shí)間: 2016-2-22 01:39
標(biāo)題: 兩位數(shù)碼管循環(huán)顯示00~99的實(shí)驗(yàn)








   現(xiàn)在讓我們用實(shí)驗(yàn)板上的兩個(gè)數(shù)碼管來(lái)做一個(gè)循環(huán)顯示00~99數(shù)字的實(shí)驗(yàn),先來(lái)完成必要的硬件部分,
   數(shù)碼管有共陰和共陽(yáng)的區(qū)分,單片機(jī)都可以進(jìn)行驅(qū)動(dòng),但是驅(qū)動(dòng)的方法卻不同,并且相應(yīng)的0~9的顯示代碼也正好相反。
首先我們來(lái)介紹兩位共陽(yáng)數(shù)碼管的單片機(jī)驅(qū)動(dòng)方法,電路如下圖:
   
   網(wǎng)友可以看到:P2.6和P2.7端口分別控制數(shù)碼管的十位和個(gè)位的供電,當(dāng)相應(yīng)的端口變成低電平時(shí),驅(qū)動(dòng)相應(yīng)的三極管會(huì)導(dǎo)通,+5V通過(guò)IN4148二極管和驅(qū)動(dòng)三極管給數(shù)碼管相應(yīng)的位供電,這時(shí)只要P0口送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù)字。
   因?yàn)橐@示兩位不同的數(shù)字,所以必須用動(dòng)態(tài)掃描的方法來(lái)實(shí)現(xiàn),就是先個(gè)位顯示1毫秒,再十位顯示1毫秒,不斷循環(huán),這樣只要掃描時(shí)間小于1/50秒,就會(huì)因?yàn)槿搜鄣囊曈X(jué)殘留效應(yīng),看到兩位不同的數(shù)字穩(wěn)定顯示。
下面我們?cè)俳榻B一種共陰數(shù)碼管的單片機(jī)驅(qū)動(dòng)方法,電路如下圖:
   網(wǎng)友可以看到:+5V通過(guò)1K的排阻直接給數(shù)碼管的8個(gè)段位供電,P2.6和P2.7端口分別控制數(shù)碼管的十位和個(gè)位的供電,當(dāng)相應(yīng)的端口變成低電平時(shí),相應(yīng)的位可以吸入電流。單片機(jī)的P0口輸出的數(shù)據(jù)相當(dāng)于將數(shù)碼管不要顯示的數(shù)字段對(duì)地短路,這樣數(shù)碼管就會(huì)顯示需要的數(shù)字。
   網(wǎng)友可以看到,共陰數(shù)碼管的硬件更簡(jiǎn)單,所以在批量生產(chǎn)時(shí),硬件開(kāi)銷小,節(jié)省PCB面積,減少焊接工作量,降低綜合成本,所以采用共陰數(shù)碼管更有利于批量生產(chǎn),現(xiàn)在銷售的試驗(yàn)板都是采用共陰數(shù)碼管了。
以下是用AT89C51實(shí)驗(yàn)板的兩位數(shù)碼管顯示00~99依次循環(huán)的匯編語(yǔ)言程序

  1. a_bit equ 20h ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置
  2. b_bit equ 21h ;數(shù)碼管十位數(shù)存放內(nèi)存位置
  3. temp equ 22h ;計(jì)數(shù)器數(shù)值存放內(nèi)存位置
  4. star: mov temp,#0 ;初始化計(jì)數(shù)器,從0開(kāi)始
  5. stlop: acall display;調(diào)用顯示子程序
  6. inc temp;對(duì)計(jì)數(shù)器加1
  7. mov a,temp
  8. cjne a,#100,next ;判斷計(jì)數(shù)器是否滿100?
  9. mov temp,#0;滿100就清零重新開(kāi)始
  10. next: ljmp stlop;不滿就循環(huán)執(zhí)行
  11. ;顯示子程序
  12. display: mov a,temp ;將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 
  13. mov b,#10 ;10進(jìn)制/10=10進(jìn)制
  14. div ab
  15. mov b_bit,a ;十位在a
  16. mov a_bit,b ;個(gè)位在b
  17. mov dptr,#numtab ;指定查表啟始地址
  18. mov r0,#4 
  19. dpl1: mov r1,#250 ;
  20. dplop: mov a,a_bit ;取個(gè)位數(shù)
  21. MOVC A,@A+DPTR ;查個(gè)位數(shù)的7段代碼
  22. mov p0,a ;送出個(gè)位的7段代碼
  23. clr p2.7 ;開(kāi)個(gè)位顯示
  24. acall d1ms ;顯示162微秒
  25. setb p2.7;關(guān)閉個(gè)位顯示,防止鬼影
  26. mov a,b_bit ;取十位數(shù)
  27. MOVC A,@A+DPTR ;查十位數(shù)的7段代碼
  28. mov p0,a ;送出十位的7段代碼
  29. clr p2.6 ;開(kāi)十位顯示
  30. acall d1ms ;顯示162微秒
  31. setb p2.6;關(guān)閉十位顯示,防止鬼影
  32. djnz r1,dplop ;循環(huán)執(zhí)行250次
  33. djnz r0,dpl1 ;循環(huán)執(zhí)行250X4=1000次
  34. ret




  35. ;2+2X80=162微秒,延時(shí)按12MHZ計(jì)算
  36. D1MS: MOV R7,#80 
  37. DJNZ R7,$
  38. RET
  39. ;實(shí)驗(yàn)板上的7段數(shù)碼管0~9數(shù)字的共陰顯示代碼
  40. numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH
  41. end
  42. ;如果是共陽(yáng)數(shù)碼管的顯示代碼
  43. numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H
  44.  
復(fù)制代碼









歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产69精品久久99不卡免费版 | 免费在线性爱视频 | 96av麻豆蜜桃一区二区 | 中文字幕不卡在线观看 | 草草精品 | 天天av天天好逼 | 亚洲二区视频 | 一级毛片播放 | 日本免费一区二区三区 | 亚洲成av人片在线观看无码 | 久久精品中文字幕 | 日本不卡一区 | 日韩成人在线播放 | 午夜小视频在线观看 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 亚洲视频一区在线 | 久热精品在线 | 亚洲精品在线观看视频 | 在线成人免费视频 | 美女视频黄色片 | 久久久国产精品一区 | 久久亚洲精品久久国产一区二区 | 97综合在线 | 国产亚洲成av人在线观看导航 | 爽爽免费视频 | 精品伦精品一区二区三区视频 | 亚洲精品在线国产 | 欧美一区二区三区在线看 | 欧美在线视频一区二区 | 国产精品视频一区二区三 | 精品欧美一区二区三区久久久 | 成在线人视频免费视频 | 亚洲国产成人av | 久久久视 | 一区二区久久精品 | 国产精品不卡一区 | 一级片片| 97伦理电影网 | 9999国产精品欧美久久久久久 | 欧美成人精品一区二区男人看 | 国产精品3区 |