《接口及控制技术》课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
课程设计题目: 秒
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
姓 名:
专业班级:
指导教师:
成 绩:
时 间: 2010-12-10
一、设计要求
用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。
二、实验原理
题目难点在于通过对键盘的扫描对时钟的走时/停止进行控制,项目采用定时器T0作为计时器,每10ms发生一次中断,每100次中断加1s。在此期间,如“开始”按键按下,程序方将TR0置为1,从而开启中断,时钟开始走时;如“复位”按键按下,程序将TR0置为0,同时将存储时间的变量清零,从而中断停止,并实现复位。
本题目采用专用数码管显示控制芯片MAX7219。MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器,该芯片最多可驱动8位7段数字LED显示器或个LED和条形图显示器。其引脚图及引脚功能参见有关参考资料。
三、实验目的
1、 通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2、 掌握定时器、外部中断的设置和编程原理。
3、 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
四、意义
该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。
五、实验内容
用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”K1按键和一个“复位”K2按键。按键K1同时具有“暂停”功能。
按键说明:按“开始”K1按键,开始计数,数码管显示从00开始每秒自动加一;再次按K1按键,系统暂停计数,数码管显示当时的计数;按“复位”按键,系统清零,数码管显示00。
六、电路原理仿真图
将硬件连线按上图所示连接,该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片AT89C51中的P1.0管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能.;定时器T0作为每秒加1的定时器。其中“开始”K1按键按下一次(由上向下拨)时开始计时,当再次按下K1按键时,计时器计数暂停;“清零”K2按键按下一次时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
七、程序框
1、 主程序
流程图
破产流程图 免费下载数据库流程图下载数据库流程图下载研究框架流程图下载流程图下载word
2、 加一子程序流程图
3、 INT0中断子程序
4、数码显示流程图 5、 定时器T0子程序
八、实验程序
;******************************************************************
; 设计选题:秒表系统设计
; 描述: 8位LED数码显示"秒表",显示时间为00~99秒,每秒自动加1,
; 一个"开始、暂停"键,一个"复位"键。
; 调用子程序:暂停键子程序,计时键子程序,清0键子程序,
; 显示子程序,定时子程序
;所用特殊寄存器:寄存器A,寄存器C
;所用中断:外部中断INT0,定时器T0
;***************************************************************************
程序仿真模拟
程序:
dspbuf equ 30h
msec equ 40h
sec equ 41h
min equ 42h
wei
bit 7fh
org 0000h
ajmp main
org 0003h
clr ex0
reti
org 000bh
mov th0,#high(65536-5000)
mov tl0,#low(65536-5000)
ajmp toint
org 0013h
ljmp
doint1
org 001bh
clr et1
reti
org 0023h
clr es
reti
main:
acall toinit;处置
clr wei
tiao1: mov sec,#0
mov msec,#0
setb et0 ;开启定时中断
setb ex1
setb ea ;定时器初始化结束,下面循环显示即可
mainloop:
jbc 7fh,tiao1
acall readkey
acall chaizi
acall display
acall anykey
ajmp mainloop
chaizi:
mov r0, #dspbuf
mov a, msec
acall hextobcd
mov r0, #dspbuf+2
mov a, sec
acall hextobcd1
ret
hextobcd:
mov b,#10
div ab
mov @r0,b
inc r0
mov @r0,a
ret
hextobcd1:
mov b,#10
div ab
mov
43h,a
mov a,b
add
a,#10
mov @r0,a
mov
a,43h
inc r0
mov @r0,a
ret
display:
mov r0,#dspbuf
mov r2,#11111110b
dspnext:
mov dptr,#zim0
mov a,@r0
movc a,@a+dptr
mov p2,r2
;CPL A
mov p0,a
acall delay
mov a,r2
rl a
mov r2,a
inc r0
jb acc.4,dspnext
ret
delay:
mov r7,#1
l1: mov r6,#1
l0: mov r5,#250
djnz r5,$
djnz r6,l0
djnz r7,l1
ret
toinit:
mov tmod,#00000001b
mov th0,#high(65536-5000)
mov tl0,#low(65536-5000)
ret
toint:
inc msec
mov a,msec
cjne a,#80,tointexit;未加满80退出
mov msec,#00h
inc sec
mov a,sec
cjne a,#100,tointexit;秒没到100退出
mov sec,#00h
tointexit:
reti
anykey:
mov p1,#0ffh
mov a,p1
cpl a
ret
readkey:
acall anykey
jz readkeyexit
acall display
acall anykey
jz readkeyexit
jnb p1.0,gn1
readkeyexit:ret
gn1: cpl tr0
exit1:
w2: acall chaizi
acall display
jnb p1.0,w2
ret
gn2: clr tr0
gn3: setb tr0
exit2:
w3: acall chaizi
acall display
jnb p0.2,w3
ret
doint1:
setb wei
reti
zim0:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,0bfh,86h,0dbh,0cfh,0e6h,0edh,0fdh,87h,0ffh,0efh
end
九、课程设计心得体会
认真审题,看懂题目的要求!选择适当的课题,不益太简单或者太难。做到既能把课题完成又能锻炼自己的能力!
根据课题要求,复习相关的知识,查询相关的资料。
1、 根据实验条件,找到适合的
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,找到需要的元器件及工具,准备实验。
2、 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。
3、 还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。
4、 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。
5、 该实验的程序可以参考DVCC系列单片机微机仿真实验系统实验指导书中的串并转换实验,也可自己根据自己熟悉的方法来编程。
6、 在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。
7、 这次的单片机课程设计重点是理论与实际的相结合。不再只读书了。
8、 该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。
十、参考文献
1、DVCC系列单片机微机仿真实验系统实验指导书
2、苏家健等编的《单片机原理及应用技术》 高等教育出版社 2004年11月
3、张义和 《例说8051》 人民邮电出版社 2010年1月
R2=#00H
R2=R2+1
R1=#00H
R2=?#0ah
R1=?#0ahhhhh?#AH
14H=R1
13H=R2
R1=R1+1
开定时器0,1
P1.0=?0
P1.0=?1
程序开始
调用显示子程序
关定时器0,1
开各中断
程序初始化
中断返回
开定时器0
INT0入口地址
R3-1=?0
返回
R0=R0-1
R7-1=?0
R6-1=?0
A循环左移
P3.3清零
P3.0=C
P3.1置位
R3=#20H
重置循环次数
置初值
调用加一子程序
调用数码显示子程序
定时器T0入口地址
中断返回
R6=#08H 置数码管个数
A=@R0
A=@A+dptr
R7=#02H 置数码管个数
R0=14H 置首地址
PAGE
2