注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! 打开购物车 查看留言付款方式联系我们
初中电子 单片机教材一 单片机教材二
搜索上次看见的商品或文章:
商品名、介绍 文章名、内容
首页 电子入门 学单片机 免费资源 下载中心 商品列表 象棋在线 在线绘图 加盟五一 加入收藏 设为首页
本站推荐:
★单片双路四位计数器程序全0快版
文章长度[6374] 加入时间[2006/7/27] 更新时间[2024/10/18 5:13:54] 级别[3] [评论] [收藏]
  计数器的应用非常广泛(例如生产中用来统计数量),市场上出售的计数器品种也很多,价格相差也非常大,有百元以上的计数器,也有十几元的计数器。但是,市面上的计数器大多数都是单路计数,采用液晶显示或者小数码管显示,无法外接驱动大型数码管。本文介绍的计数器具备市场上普通计数器的功能,同时设计了两路独立的计数,并且数据之间还有比较结果用继电器输出的功能。
  本计数器采用最新STC89C51多功能单片机芯片,芯片内程序可以多次反复擦写,无法将写入的程序读出,保密性强,另外,本板采用一只STC89C51的芯片完成全部功能,元件少并且易购(零售10元一只),电路简单,还有值得一提的就是STC89C51的IAP功能,能在停电后自动计录计数器数据而不需要任何备用电源(电池)。计数器的电路非常简单,分别采用双路4位动态扫描显示,比单路8位动态扫描显示的亮度要高一倍,适合驱动大型数码管。
  本板共有四个按键,写程序时对四个按键(两个复位按键和两个加1按键)分别进行扫描处理,并检测按键是否放开,这样保证每个按键功能互不影响。例如:将任意三个按键短路或者开路,不会影响第四个按键的正常工作,这才能保证两路计数器独立可靠的正常工作。
  本板上设计了两个三端稳压,高电压用来给大数码管供电,5V电压给单片机供电,加上停电检测电路、光电隔离等等全部元件装在一块15CM*10CM的板上,板上已有两个4位的数码管安装位和外接大数码管的插座位。
  为了给广大电子爱好者提供学习和动手的机会,本站还为大家提供了整套元件包,供大家动手实践。本站贵宾如果对本计数器感兴趣,本站可以免费提供电路原理图和有注解的源程序,学习应用更轻松更简单。
  本程序对于STC89C51芯片程序的烧录,不能用普通的多功能通用编程器进行烧录,建议使用五一电子http://www.51dz.com的STC编程实验开发板烧录,否则,有可能会损坏芯片。
  本元件包具有较大的难度,如果能制作成功,这说明你在电子方面的能力已经很不错了。为什么说本制作难度大,因为本元件包提供的是感光线路板,需要自己腐蚀线路板,自己钻孔,再才是插上元件,焊元件,检查,调试。另外,只有本站贵宾,本站才会提供较多的技术支持,非本站贵宾请自己在网上书上慢慢的去找答案。
  购买本元件包请务必明白:如果制作不成功,只能怨自己水平低和经验少!!!对于制作失败者,只能再次向本站购买元件以及各种耗材进行再次制作。以下是元件清单(全套元件108元,购买本站装好的成品板168元,本板驱动大数码管还可以用来制作超大数字钟、倒计时等用途!):
150mm*10mm感光线路板;
感光线路板爆光用PCB菲林;
感光线路板显影剂;
高纯度固体三氯化铁;
STC89C51;
7805;
7812;
1N4148;
1N4007;
25V2200UF;
16V470UF;
25V10UF;
50V104;
50V30P;
4.000MHz晶振;
40脚IC座;
9012;
9014;
1K排阻;
1K电阻;
10K电阻;
100K电阻;
10电阻;
4位数码管;
DC电源插座;
光电耦合器;
发光二极管;
继电器;
插针;
轻触按键开关;
LED发光二极管;
0.8mm、0.9mm、1.2mm麻花钻头;
电路原理图(贵宾可在网上下载)。
  说明:用户还必须自备塑料盆、小电钻、电烙铁、尖嘴钳、剪钳、松香、焊锡等等。外接大数码管请自备,因为价钱太贵,一个8字就要10元以上。不过,板上的小数码管已经可以显示数据。

功能与特点:
1、 计数器A、计数器B两个独立的四位数字显示计数器。
2、 计数器A、计数器B的复位功能与计数功能互不影响。
3、 计数器A和计数器B的数据即时参与比较,通过继电器输出。
4、 计数器的数据之无效零不显示,复位后只显示一个零。
5、 计数器软件消除开关抖动,计数输入采用光电隔离。
6、 停电自动记录当前数据。

主芯片引脚功能说明:
1-8脚为计数器2数码管的abcdefgh驱动,输出低电平驱动;
9脚为单片机复位,每次开机时产生一个正脉冲会让单片机复位;
10脚为计数器1复位,通过开关直接对地短路;
11脚为计数器2复位,通过开关直接对地短路;
12脚为停电检测,有电后,本脚为低电平,计数器正常工作;
 要求:停电后本脚电压立即升高,单片机立即在主滤波电容放电完毕之前保存数据;正常工作时要求本脚电压稳定保持低电位。
13脚空脚,建议留空;
14、15脚为继电器输出控制脚,互为相反输出,通过跳线选择输出;
16脚为计数器1计数,本脚通过光电耦合器隔离;
17脚为计数器2计数,本脚通过光电耦合器隔离;
18、19脚为晶振,本板对晶振频率没有特别要求,建议4-24MHz
20脚,接电源地
21-28脚为计数器1数码管的abcdefgh驱动,输出低电平驱动;
29、30脚为空脚;
31脚接正电源;
32-39脚为计数器1、计数器2数码管的1234位驱动,输出高电平带动三极管驱动;
40脚为正电源。

单片机芯片的工作电压应在4.5-5.5V之间,由于还需要停电自动记录当前数据,建议单片机芯片取5V工作电压,电源主滤波电容应大于1000UF,以备停电时单片机还有足够的电源保存数据,但是,电源滤波电容也不宜太大,否则,可能会因为放电时间太长,影响单片机的上电复位功能(这时请停电较长时间后再开机即可)。

本站贵宾技术支持:0755-27947575


org 00h
jmp con
org 03h
nop
reti
org 0bh
nop
reti
org 13h
nop
reti
org 1bh
nop
reti
org 23h
nop
reti
org 30h
con:clr 40h
clr 41h
clr 42h
clr 43h
clr 44h
mov r0,#40h
mov r1,#0h
sta:mov 0e3h,#20h
mov 0e4h,r1
mov 0e7h,#0
orl 0e7h,#10000000b
mov 0e5h,#1
mov 0e6h,#46h
mov 0e6h,#0b9h
nop
mov 0e7h,#0
mov 0e5h,#0
mov 0e6h,#0
mov @r0,0e2h
inc r0
inc r1
cjne r0,#44h, sta
call js
main:
call key
call dsp
djnz r0,$
djnz r0,$
;djnz r0,$
;djnz r0,$
jb p3.2,ting
jmp main
ting:
jb 44h ,main
setb 44h
mov p0,#0ffh
mov p1,#0ffh
mov p2,#0ffh
mov p3,#0ffh
mov 0e3h,#20h
mov 0e4h,#00h
mov 0e7h,#0
orl 0e7h,#10000000b
mov 0e5h,#3
mov 0e6h,#46h
mov 0e6h,#0b9h
nop
mov 0e7h,#0
mov 0e5h,#0
mov 0e6h,#0
mov r0,#40h
mov r1,#0
sav:
mov 0e3h,#20h
mov 0e4h,r1
mov 0e2h,@r0
mov 0e7h,#0
orl 0e7h,#10000000b
mov 0e5h,#2
mov 0e6h,#46h
mov 0e6h,#0b9h
nop
mov 0e7h,#0
mov 0e5h,#0
mov 0e6h,#0
inc r0
inc r1
cjne r0,#44h,sav
jmp main
key:setb p3.1
jb p3.1,k01
jb 45h,$+7
setb 45h
jmp $+5
nop
clr 45h
nop
setb 30h
setb 40h
jmp k02
k01:clr 30h
k02:jb 30h,k0end
jnb 40h,k0end
clr 40h
mov 43h,#0
mov 42h,#0
call js
k0end:
k1:setb p3.0
jb p3.0,k11
jb 46h,$+7
setb 46h
jmp $+5
nop
clr 46h
nop
setb 31h
setb 41h
jmp k12
k11:clr 31h
k12:jb 31h,k1end
jnb 41h,k1end
clr 41h
mov 41h,#0
mov 40h,#0
call js
k1end:
k2:setb p3.7
jb p3.7,k21
jb 47h,$+7
setb 47h
jmp $+5
nop
clr 47h
nop
setb 32h
setb 42h
jmp k22
k21:clr 32h
k22:jb 32h,k2end
jnb 42h,k2end
clr 42h
inc 43h;这才是按键的功能
mov r6,43h
cjne r6,#100,k22end
mov 43h,#0
inc 42h
mov r6,42h
cjne r6,#100,k22end
mov 42h,#0
k22end:call js
k2end:
k3:setb p3.6
jb p3.6,k31
jb 48h,$+7
setb 48h
jmp $+5
nop
clr 48h
nop
setb 33h
setb 43h
jmp k32
k31:clr 33h
k32:jb 33h,k3end
jnb 43h,k3end
clr 43h
inc 41h;这才是按键的功能
mov r6,41h
cjne r6,#100,k33end
mov 41h,#0
inc 40h
mov r6,40h
cjne r6,#100,k33end
mov 40h,#0
k33end:call js
k3end:ret
js:mov a,43h
mov b,#10
div ab
mov 37h,b
mov 36h,a
mov a,42h
mov b,#10
div ab
mov 35h,b
mov 34h,a
mov a,41h
mov b,#10
div ab
mov 33h,b
mov 32h,a
mov a,40h
mov b,#10
div ab
mov 31h,b
mov 30h,a
bg:mov a,40h
cjne a,42h,bg1
mov a,41h
cjne a,43h,bg1
bg1:jc bgend
setb p3.5
clr p3.4
ret
bgend:
setb p3.4
clr p3.5
ret
dsp:
inc r7
cjne r7,#4,ds00
mov r7,#0
ds00:mov p2,#0ffh
anl p0,#11110000b
ds0:cjne r7,#0,ds1
setb p0.3
mov a,30h
jmp ledtab
ds1:cjne r7,#1,ds2
setb p0.2
mov a,31h
jmp ledtab
ds2:cjne r7,#2,ds3
setb p0.1
mov a,32h
jmp ledtab
ds3:cjne r7,#3,ed1
setb p0.0
mov a,33h
jmp ledtab
ledtab:
mov dptr,#table
movc a,@a+dptr
cpl a
mov p2,a
jmp ed1
ed1:nop
mov p1,#0ffh
anl p0,#00001111b
ds20:cjne r7,#0,ds21
setb p0.7
mov a,34h
jmp ledtab1
ds21:cjne r7,#1,ds22
setb p0.6
mov a,35h
jmp ledtab1
ds22:cjne r7,#2,ds23
setb p0.5
mov a,36h
jmp ledtab1
ds23:cjne r7,#3,ed2
setb p0.4
mov a,37h
jmp ledtab1
ed2:ret
ledtab1:
mov dptr,#table
movc a,@a+dptr
cpl a
mov p1,a
jmp ed2
table:db 00111111b,00000110b,01011011b,01001111b,01100110b,01101101b,01111101b,00000111b
   db 01111111b,01101111b,00000000b,00000000b,00000000b,00000000b;abcdefgh分别对应01234567
end

1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!
本站协议 | 版权信息 |  关于我们 |  本站地图 |  营业执照 |  发票说明 |  付款方式 |  联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102
E-mail:51dz$163.com($改为@);Tel:(0755)27947428
工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389