proteus控制数码管增减课设报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、任务说明

1、按照设计要求自行定义电路图纸尺寸;

2、设计任务如下:

利用51单片机和2位共阴极数码管及2个按键等器件,设计一个控制数码管增减的单片机系统,数码管显示范围为00-99。

3、按照设计任务在Proteus 6 Professional中绘制电路原理图;

4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。

二、应用PROTEUS软件绘制原理图的过程

1、进入proteus7 professional。

2、设置图纸尺寸。单击system,再单击set sheet sizes,将尺寸设置A4,单击OK。如图1所示。

图1 设置图纸尺寸

3、选择原理图所需要元件。点击左侧栏第二个图标,再点击P,在搜索栏输入需要的元件名称。数码管为7seg,排阻为respack-8,按键为button,单片机为89c51,晶振为crystal,电阻为res,电容有两种,分别为cap-elec,capacitor。如图2所示。

图2选择原理图所需要元件

4、选择电源及地线。单击左侧栏第8个图标,选择电源VCC,地线GROUND。如图3所示。

图3 选择电源及地线

5、设置元件参数。双击需要改变参数的元件,按需要修改参数。

6、连接时钟电路部分。鼠标单击需要连接的一段,这时鼠标变成连线,再将鼠标落在需要连接的另一端即可将原理图完成。如图4所示。

图4 时钟电路部分

7、连接共阴极数码管部分。因为数码管为共阴极,所以在连接P0口同时,与1k欧姆排阻相连,排阻另一端接5V直流电源,通过P2.6和P2.7控制数码管。如图5所示。

图5 数码管部分连接电路

8、连接按键部分。通过P3口第二功能放置按键。用外部中断源0,1控制按键1,2。按键1,2的功能分别为控制计数的加减,如图6所示。

图6 按键部分原理图

9、原理图连接完成。

三、应用PROTEUS软件对原理图进行仿真的步骤以及过程结果

1、在keil中编写程序。由于设计任务是用按键控制正计数和倒计数,则利用两个外部中断分别控制。在计数时,首先对数据进行判断,若当前值为预设值时,退出中断,返回主程序,否则进行加减计数。程序流程图如图7所示。

图7 程序流程图

2、编译无误后,生成hex文件。

3、选择hex文件。右键单片机,选择edit properties,单击program file右侧文件夹按钮,选择生成的hex文件,单击OK。如图8所示。

图8 选择hex文件

4、选择仿真。单击左下角三角按钮,开始仿真。如图9所示。

图9 选择仿真

5、仿真过程结果。程序仿真开始,初始情况如图10所示。数码管显示00。当按下键1时,数码管进行加一,每按一次显示数字加一,加至99停止。如图11所示。当按下键0时,数码管显示减一,减至00截止。如图12所示。

图10 仿真初始情况

图11 进行加一操作

图12 进行减一操作

3、仿真完成,结果正确。需要注意的是,仿真结果中数码管有轻微闪烁,但经验证,程序及原理图无误,是proteus与实物有些许差别,所以截图只能显示一位,但动态显示是两位,结果正确。

四、总结

五、参考文献

[1]张毅刚.单片机原理及应用.第3版 [M] 哈尔滨:高教出版社,2015年.

[2]张坤毅.单片微型计算机原理及应用[M]西安:西安电子科技大学出版社,1997年.

[3]陈忠平.基于Proteus的51系列单片机设计与仿真.第2版[M]北京:电子工业出版社,2008.

[4]李广弟等.单片机基础[M].北京:北京航空航天出版社,2001.

[5]王东峰等.单片机C语言应用100例[M].北京:电子工业出版社,2009.

附录I 仿真电路图

附录II 程序代码

org 00h

jmp start

org 03h

jmp in0

org 13h

jmp in1

start:mov ie,#85h

mov ip,#04h

mov tcon,#05h mov dptr,#table disp:mov a,r4

mov b,#10

div ab

mov 20h,a

mov 21h,b

disp1:mov a,20h

movc a,@a+dptr mov p0,a

clr p2.7

setb p2.6

lcall delay disp2:mov a,21h

movc a,@a+dptr mov p0,a

clr p2.6

setb p2.7

lcall delay

ajmp disp

in0:mov a,r4

cjne a,#99,add1 ajmp jp1

add1:add a,#01h

mov r4,a

jp1:nop

reti

in1:mov a,r4

cjne a,#00,subb1

ajmp jp2

subb1:subb a,#01h

mov r4,a

jp2:nop

reti

delay:mov r7,#200

dela:mov r6,#125

djnz r6,$

djnz r7,dela

ret

table:db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fh ret

end

相关文档
最新文档