'我也来了
$regfile = "m16def.dat" 'ATMega16 单片机
$crystal = 8000000 '8兆赫晶振
Dim I As Long , L As Long
Dim Gw As Integer , Sw As Integer , Bw As Integer , Qw As Integer '个位十位百位千位
'PortB 端口的8个引脚连接这个8个LED,
Config Porta = Output
Config Portb = Output
'=======================================================
Dim Value(19) As Byte '数组中存的是0-9数字对应亮灯的值
Value(10) = &HC0 '数字"0"对应的数码管设置值
Value(11) = &HF9 '数字"1"对应的数码管设置值
Value(12) = &HA4 '数字"2"对应的数码管设置值
Value(13) = &HB0 '数字"3"对应的数码管设置值
Value(14) = &H99 '数字"4"对应的数码管设置值
Value(15) = &H92 '数字"5"对应的数码管设置值
Value(16) = &H82 '数字"6"对应的数码管设置值
Value(17) = &HF8 '数字"7"对应的数码管设置值
Value(18) = &H80 '数字"8"对应的数码管设置值
Value(19) = &H90 '数字"9"对应的数码管设置值
Do
Waitms 10 '刷新延迟
L = L + 1 '计算累加
I = L \ 5 '降低数据变化频率
I = I Mod 10000 '数值到10000后清0
Qw = I \ 1000 '计算千位
Bw = I Mod 1000 '计算百位
Bw = Bw \ 100
Sw = I Mod 100 '计算十位
Sw = Sw \ 10
Gw = I Mod 10 '计算个位
'只点亮个位数码管PA3
Porta = &B0111
Portb = Value(gw + 10) '设置个位数值
Waitms 1
'只点亮十位数码管PA2
Porta = &B1011
Portb = Value(sw + 10) '设置十位数值
Waitms 1
'只点亮百位数码管PA1
Porta = &B1101
Portb = Value(bw + 10) '设置百位数值
Waitms 1
'只点亮千位数码管PA0
Porta = &B1110
Portb = Value(qw + 10) '设置千位数值
Waitms 1
Loop
End |