基于单片机控制的生产线产品计数系统Word文档下载推荐.docx
- 文档编号:13807048
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:16
- 大小:137.62KB
基于单片机控制的生产线产品计数系统Word文档下载推荐.docx
《基于单片机控制的生产线产品计数系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的生产线产品计数系统Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
硬件原理图
三、数码管显示
七段数码管显示,采用共阴极显示,由P2口控制七段发光管P0口控制位选择。
采用动态显示,简化电路,降低成本。
其硬件原理图如下所示。
数码管显示原理图
四、定时器T0
选择定时器T0,工作模式1,TL0和TH0构成16位的计数器。
设定定时值为50ms,公式:
(M-X)*Tcy=定时时间,M为计数器最大值216,Tcy为计数周期,即单片机的机器周期,这里选择12MHz。
计算初值为3CB0H,定时时间到,进入中断服务程序。
定时器T0原理图
五程序设计
主程序:
ORG0000H
LJMPMAIN
ORG0003H
LJMPINT
ORG000BH
LJMPSEVER
ORG0050H
MAIN:
MOVSP,#0C0H
MOVR1,40H;
清零40H~47H地址单元
MOVR2,#8
BLACK:
MOV@R1,#00
INCR1
DJNZR2,BLACK
SETBRS0;
选择特殊工作寄存器
CLRRS1;
组1并清零
MOVR0,#00
MOVR2,#00
MOVR3,#00
MOVR4,#00
MOVR5,#00
MOVR6,#00
MOVR7,#00
CLRRS0;
恢复默认的工作寄存器组0
CLRRS1
MOVA,#00
MOVR6,#200
MOVR7,#180
MOVTMOD,#01H;
选择定时器T0工作模式1
MOVTL0,#0B0H;
赋初值
MOVTH0,#3CH
MOVP1,#00
CLRTF0
SETBTR0;
启动T0
SETBEA;
开CPU中断
SETBEX0;
启动外部中断
SETBET0;
启动T0中断
LOOP:
NOP
LCALLSAOMIAO;
调用P1.0位状态扫描子程序
LCALLDISPLAY;
调用显示子程序
LJMPLOOP
ORG0100H
外部中断程序
INT:
PUSHACC;
外部中断进行清零功能
PUSHPAW
MOVP0,#0FFH
MOVP2,#00
POPPAW
POPACC
RETI
ORG0200H
定时器中断服务程序
SEVER:
PUSHACC
MOVTL0,#0B0H
DJNZR7,LOOP1
DJNZR6,LOOP1
LOOP1:
P1.0位状态扫描程序
SAOMIAO:
切换到工作寄存器组1
START:
JNBP1.0$;
判断P1.0口状态,不等于1转等待
CLRP1.0
ADDA
MOV40H,A;
分别以个、十、百、千……存脉冲数
CJNE40H,#9,NEXT1
JMPSTART
NEXT1:
INCR0
MOV40H,#00
MOV41H,R0
CJNE41H,#9,NEXT2
NEXT2:
MOV41H,#00
MOV42H,R1
CJNE42H,#9,NEXT3
NEXT3:
MOVR1,#00
INCR2
MOV42H,#00
MOV43H,R2
CJNE43H,#9,NEXT4
NEXT4:
INCR3
MOV43H,#00
MOV44H,R3
CJNE44H,#9,NEXT5
NEXT5:
INCR4
MOV44H,#00
MOV45H,R4
CJNE45H,#9,NEXT6
NEXT6:
INCR5
MOV45H,#00
MOV46H,R5
CJNE46H,#9,NEXT7
NEXT7:
INCR6
MOV46H,#00
MOV47H,R6
CJNE47H,#9,NEXT8
恢复工作寄存器组0
NEXT8:
CJNE46H,#9,NEXT9;
判断每位是否到达最大值
NEXT9:
CJNE45H,#9,NEXT10
NEXT10:
CJNE44H,#9,NEXT11
NEXT11:
CJNE43H,#9,NEXT12
NEXT12:
CJNE42H,#9,NEXT13
NEXT13:
CJNE41H,#9,NEXT14
NEXT14:
CJNE40H,#9,NEXT15
NEXT15:
SETBP1.3;
达到最大值时报警灯闪烁
LCALLDELAY1S;
调用延时1s子程序
CLRP1.3
LCALLDELAY1S
JMPNEXT15
RET
数码管显示程序
DISPLAY:
MOVP0,#00
SETBP0.0
MOVA,40H
LCALLCHABIAO;
调用查表子程序
LCALLDELAY;
调用延时4ms子程序
CLRP0.0
SETBP0.1
MOVA,41H
LCALLCHABIAO
LCALLDELAY
CLRP0.1
SETBP0.2
MOVA,42H
CLRP0.2
SETBP0.3
MOVA,43H
CLRP0.3
SETBP0.4
MOVA,44H
CLRP0.4
SETBP0.5
MOVA,45H
CLRP0.5
SETBP0.6
MOVA,46H
CLRP0.6
SETBP0.7
MOVA,47H
CLRP0.7
查表程序
CHABIAO:
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP2,A
延时4ms程序
DELAY:
MOVR3,#4
GOTO2:
MOVR2,#200
GOTO:
DJNZR2,GOTO1
DJNZR3,GOTO2
延时1s程序
DELY1S:
MOVR4,#10
A3:
MOVR5,#200
A2:
MOVR6,#247
A1:
DJNZR6,A1
DJNZR5,A2
DJNZR4,A3
七段数码管显示0~9对应的数值表
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
六、设计结论
本次设计的是生产线产品的计数,来一个产品就产生一个脉冲,对脉冲数的统计从而得到一段时间内的产品的数量,其工作原理是利用单片机控制,对脉冲数的统计并驱动数码管显示产品数量。
设计过程中涉及到了外部中断和定时器的中断,数码管的显示,数据的存储技术。
外部中断为按键输入,当定时一段时间到时,对产品数量的清零,数码管的显示采用了动态显示,这样可以节约空间,降低成本。
在这次设计过程中,我学到了很多知识,这次设计所用到的知识很多,把我所学到的单片机知识都应用在其中了,还有这个学期的单片机实验课对这次的设计有很大的帮助。
这是我第一次那么认认真真的搞设计,虽然设计得不是很完美和很严谨,但是在设计过程中遇很多的问题,经过认真的思考和查阅资料,和同学讨论,也解决了很多问题,这样的印象非常深刻。
经过这次的设计,我深有体会,我们在课堂上学到的知识不是很多,但是可以在此基础上发挥自学的能力,通过图书馆的资料可以学到很多知识,不懂的时候不要停留,要去探索求解。
七、参考文献
1、《单片机原理及接口技术》清华大学出版社第三版
2、《单片机应用技术》化学工业出版社
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 生产线 产品 计数 系统