




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计报告 投票统计器 专业:电气工程及其自动化班级: 学号: 姓名: 日期: 2011-7-2一、 设计目的综合运用单片机的主要性能,完成一个实用电路的设计和制作,利用msc-51单片机为控制核心,设计拥有投票统计功能的从机,用于表决活动,并将统计结果实时上传主机并将器片机应用系统设计北京航空航天大学出版社 。通过简易投票系统实现数据的统计与远程传送。二、 实验器材计算机一台,proteus仿真软件wave6000编程软件三、设计要求1有五个人参与投票,每个人有同意、不同意、弃权三个按键,单片机分别统计三种键的人数,并用动态显示方式显示投票结果。2保证每人仅能投一次票,再投则无效。3六个数码管可以显示同意、不同意、弃权的数量。4主从机分别设有复位键,按下键时两个单片机重新启动。5主机向从机发送的05h时,从机则回发给主机05h,而主机通过八个发光二极管显示接收到05h(以二进制形式显示)。当主机发的不是aah时,从机能独立运行,统计同意、不同意、放弃的数量,并用数码管显示投票结果;当主机向从机发送aah时,从机向主机发送当前投票结果,此后,主从机同步显示投票结果。(设从机地址为05h)。四、 硬件原理图at89c51接口图单片机为at89c51,其中u1为主机,u2为从机,通过xtal1和xtal2引入时钟信号。主机通过p0口输出段码, p1口控制七段数码管的位选信号,p2口用于显示接收的05h。从机的p0口的0、1、2、3、4用于键盘的行线,5、6、7用于键盘的列线, cpu通过扫描行列线得知哪个键被按下;p1口控制七段数码管的位选信号,p2口用于输出段码。主从机分别通过复位键控制;p0口用于输出时需加上拉电阻。p3口也可作为at89c51的一些特殊功能口,如下表所示: 口管脚 备选功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 /int0(外部中断0) p3.3 /int1(外部中断1) p3.4 t0(记时器0外部输入) p3.5 t1(记时器1外部输入) p3.6 /wr(外部数据存储器写选通) 系统流程图开始主机:初始化发送05h等待从机发送的05h接收05h,发aah接收05h,发非aah接收从机数据并显示开始从机:初始化接收05h发送05h判断接收的是否是aah独立运行,显示统计的投票结果统计投票结果,发送给主机并显示五、 软件源程序1.主机:15org 0000h ajmp main org 0030hmain:mov tmod,#20h mov tl1,#0fah mov th1,#0fah mov scon,#50h mov 40h,#00h mov 41h,#00h mov 42h,#00h mov pcon,#00h clr ti clr ri setb tr1 mov sbuf,#05h ss1: jnb ti,ss1 clr tiss2: jnb ri,ss2 clr ri mov a,sbuf mov p2,a mov a,#0aah ;mov a,#12h mov sbuf lop2:jnb ri,lop2 clr ri mov a,sbuf mov 40h,alop3: jnb ri,lop3 clr ri mov a,sbuf mov 41h,alop4: jnb ri,lop4 clr ri mov a,sbuf mov 42h,a acall hbcd acall font acall disp ajmp lop2hbcd:mov a,40h mov b,#10 div ab mov 31h,b mov 30h,a mov a,41h mov b,#10 div ab mov 33h,b mov 32h,a mov a,42h mov b,#10 div ab mov 35h,b mov 34h,a retfont:mov r2,#6 mov r0,#30h ft:mov a,r0 mov dptr,#tab movc a,a+dptr mov r0,a inc r0 djnz r2,ft rettab: db 3fh,06h,5bh,4fh db 66h,6dh,7dh,07h db 7fh,6fhdisp:mov r1,#6 mov a,#0feh mov r0,#30hloop2:mov p1,a mov p0,r0 mov r6,#0ffh s0:djnz r6,s0 inc r0 rl a djnz r1,loop2 ret2.从机 org 0000h ajmp main org 0030hmain: mov p2,#0 mov tmod,#20h mov tl1,#0fah mov th1,#0fah mov 20h,#00h mov 21h,#00h mov 40h,#00h mov 41h,#00h mov 42h,#00h mov pcon,#00h clr ti clr ri mov scon,#50h setb tr1dlop0:jnb ri,dlop0 clr ri mov a,sbuf cjne a,#05h,dlop0 mov sbuf,a dlop1:jnb ti,dlop1 clr tidlop2:jnb ri,dlop2 clr ridlp2: lcall key lcall hbcd lcall font lcall disp mov a,sbuf cjne a,#0aah,dlp2loop: lcall key lcall fa lcall hbcd lcall font lcall disp ajmp loopfa: mov a,40h mov sbuf,adlop3:jnb ti,dlop3 clr ti mov a,41h mov sbuf,adlop4:jnb ti,dlop4 clr ti mov a,42h mov sbuf,adlop5:jnb ti,dlop5 clr ti rethbcd:mov a,40h mov b,#10 div ab mov 31h,b mov 30h,a mov a,41h mov b,#10 div ab mov 33h,b mov 32h,a mov a,42h mov b,#10 div ab mov 35h,b mov 34h,a retkey: mov p0,#1fh clr p0.5 setb p0.6 setb p0.7 jnb p0.0,loop0l1: jnb p0.1,loop1l2: jnb p0.2,loop2l3: jnb p0.3,loop3l4: jnb p0.4,loop4 ajmp next0loop0: jb 00h,l1 jb 05h,l1 jb 10h,l1 inc 40h setb 00h ajmp l1loop1: jb 01h,l2 jb 06h,l2 jb 11h,l2 inc 40h setb 01h ajmp l2loop2: jb 02h,l3 jb 07h,l3 jb 12h,l3 inc 40h setb 02h ajmp l3loop3: jb 03h,l4 jb 08h,l4 jb 13h,l4 inc 40h setb 03h ajmp l4loop4: jb 04h,next0 jb 09h,next0 jb 14h,next0 inc 40h setb 04hnext0: mov p0,#1fh clr p0.6 setb p0.5 setb p0.7 jnb p0.0,lop0ll1: jnb p0.1,lop1ll2: jnb p0.2,lop2ll3: jnb p0.3,lop3ll4: jnb p0.4,lop4 ajmp next1lop0: jb 00h,ll1 jb 05h,ll1 jb 10h,ll1 setb 05h inc 41h ajmp ll1lop1: jb 01h,ll2 jb 06h,ll2 jb 11h,ll2 setb 06h inc 41h ajmp ll2lop2: jb 02h,ll3 jb 07h,ll3 jb 12h,ll3 setb 07h inc 41h ajmp ll3lop3: jb 03h,ll4 jb 08h,ll4 jb 13h,ll4 setb 08h inc 41h ajmp ll4lop4: jb 04h,next1 jb 09h,next1 jb 14h,next1 setb 09h inc 41hnext1: mov p0,#1fh clr p0.7 setb p0.5 setb p0.6 jnb p0.0,lp0lll1: jnb p0.1,lp1lll2: jnb p0.2,lp2lll3: jnb p0.3,lp3lll4: jnb p0.4,lp4 ajmp next2lp0: jb 00h,lll1 jb 05h,lll1 jb 10h,lll1 setb 10h inc 42h ajmp lll1lp1: jb 01h,lll2 jb 06h,lll2 jb 11h,lll2 inc 42h setb 11h ajmp lll2lp2: jb 02h,lll3 jb 07h,lll3 jb 12h,lll3 inc 42h setb 12h ajmp lll3lp3: jb 03h,lll4 jb 08h,lll4 movc a,a+dptr mov r0,a inc r0 djnz r2,ft rettab: db 3fh,06h,5bh,4 jb 13h,lll4 inc 42h setb 13h ajmp lll4lp4: jb 04h,next2 jb 09h,next2 jb 14h,next2 inc 42h setb 14hnext2: retfont:mov r2,#6 mov r0,#30h ft:mov a,r0 mov dptr,#tabfh db 66h,6dh,7dh,07h db 7fh,6fhdisp:mov r1,#6 mov a,#0feh mov r0,#30hdloop2:mov p1,a mov p2,r0 mov r6,#0ffhs0: djnz r6,s0 inc r0 rl a djnz r1,dloop2 ret六、 实习心得通过本次单片机课程设计的学习,我学习并熟悉了怎样用单片机实现简易的投票统计器的制作。此外,在这近一周的学习里,使我加深了对单片机的汇编指令的了解和应用,并且对小学期有了更深入的体会。从对proteus初步了解到熟练运用,从对键盘程序的茫然到熟练编程,既有心酸也有喜悦,不过终归完成了实习目的。在完成一个工程时,细节决定成功,在我连调试时发现好多意想不到的错误,都是因为在程序设计时考虑不周到所造成的。例如:在我们由于在显示时所设计的延时参数不等,因此数码管显示总是闪烁不定,通过合理的设计端点和认真阅读分析程序才找出原因。在程序编写时一定要考虑在整体中自己程序的功能,并且要考虑整体的实现方式与自己编写的相吻合。分组完成一个项目,每个人都是其中的一员都是整体的一部分,因此时刻要考虑的不仅是自己完成的功能,还要考虑以什么样的形式放到整体中。在该次课程设计中,重点和难点是主从机总体编程以实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特殊药品入境管理制度
- 猪场材料入库管理制度
- 环卫企业规章管理制度
- 环境消毒灭菌管理制度
- 班组经费使用管理制度
- 生产外包属于管理制度
- 生产管理看板管理制度
- 公园相亲活动方案
- pa卫生管理制度
- 不良品区管理制度
- 2025年庐山市国有投资控股集团有限公司招聘笔试冲刺题(带答案解析)
- 生物基可降解地膜行业深度调研及发展项目商业计划书
- 出租车租凭合同协议书
- GB/T 24217-2025洗油
- 2025年天津市西青区八年级会考模拟生物试卷(含答案)
- 宁波辅警考试题库2024
- 2025年中考地理真题试题(含解析)
- 2025年社区工作者考试试题及答案
- 软件知识产权授权管理框架与合规性研究
- ISO9001质量管理体系培训考试试题含答案
- 2025-2030中国雷达告警接收机行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论