標(biāo)題: Bascom avr數(shù)碼管數(shù)字累加 [打印本頁(yè)]

作者: 紅日888    時(shí)間: 2021-6-20 18:18
標(biāo)題: Bascom avr數(shù)碼管數(shù)字累加
本帖最后由 紅日888 于 2021-6-21 00:42 編輯

'這程序0是高電平
$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ù)字對(duì)應(yīng)亮燈的值
Value(10) = &HC0                                            '數(shù)字"0"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(11) = &HF9                                            '數(shù)字"1"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(12) = &HA4                                            '數(shù)字"2"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(13) = &HB0                                            '數(shù)字"3"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(14) = &H99                                            '數(shù)字"4"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(15) = &H92                                            '數(shù)字"5"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(16) = &H82                                            '數(shù)字"6"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(17) = &HF8                                            '數(shù)字"7"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(18) = &H80                                            '數(shù)字"8"對(duì)應(yīng)的數(shù)碼管設(shè)置值
Value(19) = &H90                                            '數(shù)字"9"對(duì)應(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


作者: 紅日888    時(shí)間: 2021-6-21 22:01
我這個(gè)板子的燈的輸出都是0為點(diǎn)亮,1為滅,和這個(gè)不同的Porta要反過(guò)來(lái)試
作者: taotie    時(shí)間: 2021-6-22 00:00
終于搞明白了,你的板子數(shù)碼管位選是加了反相器的~~~~0就是1,1就是0







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1