找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

BASCOM-AVR 4個(gè)數(shù)碼管同時(shí)顯示數(shù)字0-9 代碼+實(shí)物圖片+測試視頻

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
  1. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  2. $regfile = "m16def.dat"                                     'ATMega16 單片機(jī)
  3. $crystal = 8000000                                          '8兆赫晶振

  4. Dim I As Byte

  5. 'PORTB 8個(gè)引腳PB0-PB7連接了數(shù)碼管 A B C D E F G H
  6. Config Porta = Output
  7. Config Portb = Output

  8. Porta.0 = 0                                                 '第1位數(shù)碼管亮
  9. Porta.1 = 0
  10. Porta.2 = 0
  11. Porta.3 = 0                                                 '第4個(gè)數(shù)碼管亮
  12. '====================
  13. '數(shù)碼管顯示0-9,1秒鐘切換1次
  14. Do
  15.    Wait 1
  16.    I = I + 1
  17.    If I >= 10 Then I = 0

  18.    If I = 0 Then Portb = &HC0
  19.    If I = 1 Then Portb = &HF9
  20.    If I = 2 Then Portb = &HA4
  21.    If I = 3 Then Portb = &HB0
  22.    If I = 4 Then Portb = &H99
  23.    If I = 5 Then Portb = &H92
  24.    If I = 6 Then Portb = &H82
  25.    If I = 7 Then Portb = &HF8
  26.    If I = 8 Then Portb = &H80
  27.    If I = 9 Then Portb = &H90
  28. Loop
  29. End
復(fù)制代碼

4個(gè)數(shù)碼管同時(shí)顯示0-9.png (386.94 KB, 下載次數(shù): 219)

4個(gè)數(shù)碼管同時(shí)顯示0-9.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:342822 發(fā)表于 2020-7-23 11:15 | 只看該作者
Bascom avr 節(jié)省腦細(xì)胞的軟件
回復(fù)

使用道具 舉報(bào)

板凳
ID:342822 發(fā)表于 2020-7-23 11:37 | 只看該作者
如果與Proteus 8 仿真軟件結(jié)合將更加順手~~
回復(fù)

使用道具 舉報(bào)

地板
ID:808608 發(fā)表于 2020-7-27 19:36 | 只看該作者
如果與Proteus 8 仿真軟件結(jié)合將更加順手~
回復(fù)

使用道具 舉報(bào)

5#
ID:696930 發(fā)表于 2020-11-28 14:15 | 只看該作者
與ARDUINO類似,模塊化,更簡潔好用。
回復(fù)

使用道具 舉報(bào)

6#
ID:342822 發(fā)表于 2020-11-28 15:41 | 只看該作者
100個(gè)也可以同時(shí)顯示
回復(fù)

使用道具 舉報(bào)

7#
ID:883296 發(fā)表于 2021-2-6 22:09 | 只看該作者
各位大師好,BASCOM-AVR2.0.8.1軟件通過什么渠道能夠買到?
回復(fù)

使用道具 舉報(bào)

8#
ID:941018 發(fā)表于 2021-6-20 18:14 | 只看該作者
'我也來了
$regfile = "m16def.dat"                                     'ATMega16 單片機(jī)
$crystal = 8000000                                          '8兆赫晶振
Dim I As Long , L As Long
Dim Gw As Integer , Sw As Integer , Bw As Integer , Qw As Integer       '個(gè)位十位百位千位
'PortB 端口的8個(gè)引腳連接這個(gè)8個(gè)LED,
Config Porta = Output
Config Portb = Output
'=======================================================
Dim Value(19) As Byte                                       '數(shù)組中存的是0-9數(shù)字對應(yīng)亮燈的值
Value(10) = &HC0                                            '數(shù)字"0"對應(yīng)的數(shù)碼管設(shè)置值
Value(11) = &HF9                                            '數(shù)字"1"對應(yīng)的數(shù)碼管設(shè)置值
Value(12) = &HA4                                            '數(shù)字"2"對應(yīng)的數(shù)碼管設(shè)置值
Value(13) = &HB0                                            '數(shù)字"3"對應(yīng)的數(shù)碼管設(shè)置值
Value(14) = &H99                                            '數(shù)字"4"對應(yīng)的數(shù)碼管設(shè)置值
Value(15) = &H92                                            '數(shù)字"5"對應(yīng)的數(shù)碼管設(shè)置值
Value(16) = &H82                                            '數(shù)字"6"對應(yīng)的數(shù)碼管設(shè)置值
Value(17) = &HF8                                            '數(shù)字"7"對應(yīng)的數(shù)碼管設(shè)置值
Value(18) = &H80                                            '數(shù)字"8"對應(yīng)的數(shù)碼管設(shè)置值
Value(19) = &H90                                            '數(shù)字"9"對應(yīng)的數(shù)碼管設(shè)置值
Do
   Waitms 10                                                '刷新延遲
   L = L + 1                                                '計(jì)算累加
   I = L \ 5                                                '降低數(shù)據(jù)變化頻率
   I = I Mod 10000                                          '數(shù)值到10000后清0
   Qw = I \ 1000                                            '計(jì)算千位
   Bw = I Mod 1000                                          '計(jì)算百位
   Bw = Bw \ 100
   Sw = I Mod 100                                           '計(jì)算十位
   Sw = Sw \ 10
   Gw = I Mod 10                                            '計(jì)算個(gè)位
   '只點(diǎn)亮個(gè)位數(shù)碼管PA3
   Porta = &B0111
   Portb = Value(gw + 10)                                   '設(shè)置個(gè)位數(shù)值
   Waitms 1
   '只點(diǎn)亮十位數(shù)碼管PA2
   Porta = &B1011
   Portb = Value(sw + 10)                                   '設(shè)置十位數(shù)值
   Waitms 1
   '只點(diǎn)亮百位數(shù)碼管PA1
   Porta = &B1101
   Portb = Value(bw + 10)                                   '設(shè)置百位數(shù)值
   Waitms 1
   '只點(diǎn)亮千位數(shù)碼管PA0
   Porta = &B1110
   Portb = Value(qw + 10)                                   '設(shè)置千位數(shù)值
   Waitms 1
Loop
End
回復(fù)

使用道具 舉報(bào)

9#
ID:342822 發(fā)表于 2021-6-20 20:26 | 只看該作者
紅日888 發(fā)表于 2021-6-20 18:14
'我也來了
$regfile = "m16def.dat"                                     'ATMega16 單片機(jī)
$crystal =  ...

用仿真跑一邊你會(huì)發(fā)現(xiàn)一些問題
回復(fù)

使用道具 舉報(bào)

10#
ID:941018 發(fā)表于 2021-6-20 20:31 | 只看該作者
我這是用實(shí)體機(jī)跑出來的
回復(fù)

使用道具 舉報(bào)

11#
ID:941018 發(fā)表于 2021-6-20 20:40 | 只看該作者
taotie 發(fā)表于 2021-6-20 20:26
用仿真跑一邊你會(huì)發(fā)現(xiàn)一些問題

我還沒用過仿真,手里有一個(gè)現(xiàn)成的板子
回復(fù)

使用道具 舉報(bào)

12#
ID:342822 發(fā)表于 2021-6-20 22:10 | 只看該作者
共陽極:

位選為高電平(即1)選中數(shù)碼管,

各段選為低電平(即0接地時(shí))選中各數(shù)碼段。
        0xc0,//0
        0xf9,//1
        0xa4,//2
        0xb0,//3
        0x99,//4
        0x92,//5
        0x82,//6
        0xf8,//7
        0x80,//8
        0x90,//9
那么實(shí)現(xiàn)累加應(yīng)該是;
Do
   Waitms 15                                               '刷新延遲
   L = L + 1                                                '計(jì)算累加
   I = L \ 5                                                '降低數(shù)據(jù)變化頻率
   I = I Mod 10000                                          '數(shù)值到10000后清0
   Qw = I \ 1000                                            '計(jì)算千位
   Bw = I Mod 1000                                          '計(jì)算百位
   Bw = Bw \ 100
   Sw = I Mod 100                                           '計(jì)算十位
   Sw = Sw \ 10
   Gw = I Mod 10                                            '計(jì)算個(gè)位
   '只點(diǎn)亮個(gè)位數(shù)碼管PA3
   Porta = &B0001
   Portb = Value(gw + 10)                                   '設(shè)置個(gè)位數(shù)值
   Waitms 5
   '只點(diǎn)亮十位數(shù)碼管PA2
   Porta = &B0010
   Portb = Value(sw + 10)                                   '設(shè)置十位數(shù)值
   Waitms 5
   '只點(diǎn)亮百位數(shù)碼管PA1
   Porta = &B0100
   Portb = Value(bw + 10)                                   '設(shè)置百位數(shù)值
   Waitms 5
   '只點(diǎn)亮千位數(shù)碼管PA0
   Porta = &B1000
   Portb = Value(qw + 10)                                   '設(shè)置千位數(shù)值
   Waitms 15
Loop
回復(fù)

使用道具 舉報(bào)

13#
ID:342822 發(fā)表于 2021-6-20 22:15 | 只看該作者

回復(fù)

使用道具 舉報(bào)

14#
ID:941018 發(fā)表于 2021-6-20 23:56 | 只看該作者

我手里的這個(gè)是0點(diǎn)亮,是不是就差這里
回復(fù)

使用道具 舉報(bào)

15#
ID:941018 發(fā)表于 2021-6-21 00:06 | 只看該作者
我又試了一下,我手里的這個(gè)板子和你的正好相反
回復(fù)

使用道具 舉報(bào)

16#
ID:941018 發(fā)表于 2021-6-21 00:07 | 只看該作者
本帖最后由 紅日888 于 2021-6-21 00:41 編輯

我手里的板子就是樓主給我的
回復(fù)

使用道具 舉報(bào)

17#
ID:342822 發(fā)表于 2021-6-21 09:53 | 只看該作者
紅日888 發(fā)表于 2021-6-21 00:06
我又試了一下,我手里的這個(gè)板子和你的正好相反

那說明你的板上數(shù)碼管是共陽極的,位選硬是高電平時(shí)點(diǎn)亮相應(yīng)位段碼。位選應(yīng)從低位向高位逐次點(diǎn)亮。即:
0001 0010 0100 1000.
調(diào)節(jié)延時(shí)使數(shù)碼管穩(wěn)定顯示。
回復(fù)

使用道具 舉報(bào)

18#
ID:941018 發(fā)表于 2021-6-21 21:59 | 只看該作者
我這個(gè)是0才是點(diǎn)亮,所有的燈的輸出都是0是亮1是滅,我也覺得這樣很別扭
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表