找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4097|回复: 0
打印 上一主题 下一主题
收起左侧

单片机控制系统Proteus仿真实训课程设计说明书与源码等资料下载

[复制链接]
跳转到指定楼层
楼主
苏州市职业大学
课程设计说明书

名称     单片机控制系统设计  

学院(部)机电工程学院

班   级13机电一体化4

姓   名*

              学院(部)负责人  陈 洁

               系  主  任陆*

          指导教师钟*


课程名称: 单片机控制系统设计  

学院(部):         机电工程系           

班  级:13机电一体化4        

  指导教师:            钟  鸣   

学院(部)负责人:       陈  洁            


一、课程设计课题
秒表的设计与仿真

二、课程设计要求

  • 掌握单片机最小系统;
  • 掌握单片机控制系统的设计方法;
  • 学会使用Proteus软件;
  • 学会使用汇编语言或C语言编制单片机程序;
  • 掌握各类元件(如步进电机、液晶显示器、数码管显示器、温度传感器、键盘等)的单片机控制方法;
  • 学会使用Keil软件或WAVE软件调试程序;
  • 学会使用Proteus仿真单片机系统;
  • 能熟练使用XL600型单片机实验板,并对设计电路实现硬件电路验证(部分)。

三、课程设计工作量
1、课程设计任务布置, 查找整理资料(0.5天);
2、硬件电路设计(1天)
3、软件设计(1.5天)
4、电路仿真、验证(0.5天)
5、说明书编制(1天)
6、说明书提交、答辩(0.5天)。
四、课程设计说明书内容(有指导书的可省略)
1、系统概述
1.1 系统功能描述
1.2系统设计框图
2、系统硬件设计
2.1元器件清单
2.2原理图设计
3、系统软件设计
3.1系统程序流程图
3.2系统程序清单
4 系统仿真
4.1系统仿真过程
4.2系统仿真分析
5 实训小结


目录

1系统概述
1.1 系统功能描述
1.2 系统设计框图
2 系统硬件设计
2.1 元器件清单
2.2 原理图设计
3系统软件设计
3.1 系统程序流程图
3.2 系统程序清单
4系统仿真
4.1 系统仿真过程
4.2 系统仿真分析
5 实训小结

1系统概述
1.1  系统功能描述
本课题是要完成秒表系统的设计与仿真。
1)系统一上电,两位显示器显示“00”;
2)当按下按键(开始/停止键)时,蜂鸣器响一声、显示灯(绿灯)亮与此同时开始计时,显示器显示秒数;再次按下按键(开始/停止键)时,蜂鸣器响一声、显示灯(绿灯)灭,同时停止计时,显示器显示计时时间;
3)当再按下按键(开始/停止键)时,显示灯(绿灯)亮,两位显示器显示“00”。
1.2 系统设计框图
图1-1   系统设计框图

2 系统硬件设计2.1 元器件清单

序号

名称

型号

规格

数量

备注

1

单片机

AT89C51

1


2

电阻

10K
1/2W

5


3

电容

22uF

2


4

电解电容

VES220M1VTR-0505
22u

1


5

按键

SN-1701
BUTTON

2


6

三极管

MMBT3906LT1
2N2222

2


7

晶振

3225
12MHZ

1


8

蜂鸣器

09055

1


9

2位数码管(共阴)

XSM-S5022DPG

1


10

排阻

0402
RESPACK-8

1


11






12






13






14






15






16






17






18






19






20








2.2 原理图设计
根据系统功能描述,我选择了AT89C51单片机、2位数码管(共阴)、三极管、蜂鸣器、按键等元件,考虑到晶振电路和复位电路,我选了电容、电阻等元件。

图2-1   PROTEUS中的系统元器件选择

根据P0口专用于分时传送低八位地址信号和8位数据信号的特性,所以P0做输出端口时要加上拉电阻;将P3.0作为输入端口,所以这时先要将口线置为高电平“1”;为了系统安全加了晶振电路和复位电路。

图2-2   系统原理图
3系统软件设计3.1 系统程序流程图
在编程时,先将大的框架编程,分模块编程,在此次编程中我的程序分为:主程序初始化、中断服务子程序部分、按键控制部分、显示器显示部分、蜂鸣器和灯部分、中断服务子程序部分、程序结束部分等。然后我再将它们串联起立,进行程序细化,将细化后的相似代码和重复代码合并,完成我的整个系统编程。

图3-1   系统主程序流程图
中断服务子程序
该段程序实现按键去抖动识别按键是否按下,按下按键数值开始加一,从而控制数值的显示。
图3-2   系统中断服务子程序流程图
3.2 系统程序清单
ORG 0000H;复位后程序如口地址
LJMP MAIN;跳至主程序
ORG  001BH;T1中断入口地址设置
LJMP  INT1_T1;跳至T1中断服务子程序
MAIN:              MOV SP,#60H            
MOV TMOD,#10H;确定T1为定时、八位定时器、外部引脚控制定时
MOV TH1,#00H;赋初值
MOV TL1,#4CH
MOV P3,#0FFH
MOV R1,#20
MOV P0,#0FFH
MOV DPTR,#TAB;确定表首地址
MOV R0,#0
MOV R2,#00H
MOV P1,#00H
SETB  ET1 ;中断初始化
SETB  EA
LOOP:   LCALL ANJIAN
        LCALL XIANSHI
SJMP LOOP
ANJIAN: JB P3.3,L4;判断按键是否按下
LCALL DEL20MS;去抖动
JB P3.3,L4
MAIN1:CPL P1.0;蜂鸣器响
LCALL DEL20MS
SETB P1.1  ;灯亮
        INC R0
CJNE R0,#1,L1;为1启动
SETB TR1
SJMP L3
L1:   CJNE R0,#2,L2;为2暂停
      CLR TR1
CLR P1.1 ;灯灭
                SJMP L3
L2:   CLR TR1
      MOV R0,#00H
                MOV R2,#00H
L3:  JNB P3.3,L3
L4:   RET
XIANSHI:LCALL SEP
        MOV A,30H
              MOVC A,@A+DPTR;查表
        CLR P2.1
       MOV P0,A              ;显示
LCALL DEL20MS
        SETB P2.1
        MOV A,40H
              MOVC A,@A+DPTR;
        CLR P2.0
              MOV P0,A              ;显示
        LCALL DEL20MS
        SETB P2.0
              RET
SEP:    MOV A,R2
        MOV B,#10
        DIV AB
        MOV 30H,B;个位
        MOV 40H,A;十位
        RET
INT1_T1:           ;T1中断服务子程序
        PUSH              ACC;保护现场
        PUSH    PSW
        CLR TR1;关中断
        MOV TH1,#00H;延时50ms常数重置
        MOV TL1,#4CH
              SETB TR1;开中断
              DJNZ R1,WAIT;判断是否到1S
              MOV R1,#20;延时1s的常数
              INC  R2       ;显示值递加
        CJNE  R2,#60,WAIT  ;判断是否到60s
              MOV  R2,#0;秒数清零      
WAIT:              POP PSW;恢复现场
        POP ACC
        RETI            ;中断返回


DEL20MS:MOV R3,#40
    DE1:MOV R4,#250
    DE2:DJNZ R4,DE2
        DJNZ R3,DE1 ;延时20ms
        RET
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0-9
       END

4系统仿真
4.1 系统仿真过程
在Proteus仿真软件中按下开始按钮,数码管显示“00”,按下按键S1(开始/停止),蜂鸣器响一声、绿灯亮,与此同时数码管开始计时;若计时未到59秒,按下按键S1,此时数码管停止计时,蜂鸣器响一声、绿灯灭,显示当前数值;再按下按键S1,蜂鸣器响一声,数码管显示“00”;若计时到59秒未按下按键S1,数码管再次循环显示“00”。


图4-1   系统仿真图
4.2 系统仿真分析
1.调试过程中遇到的问题:
在Proteus仿真软件中我的仿真电路中的三极管起初选用了图(2)三极管NPN,进行仿真时三极管不导通数码管无显示,后来换了图(1)三极管2N222进行仿真时三极管导通数码管正常显示。分析原因可能是Proteus仿真软件本身的误差。
图(1)三极管2N222              图(2)三极管NPN
2.系统仿真时遇到的问题:
灯的问题
蜂鸣器的问题
3.系统有待提高和完善的地方

写调试,仿真过程中出现的问题和解决,分点写,也可以写系统有待提高和完善的地方
(多次计时,显示灯)


实  习  实  训  报  告
5 实训小结
本次实训的我组抽到课题是:秒表的设计与仿真。在本学期做过类似的实验,所以实现基本的计时功能没有遇到太大的问题,主要在蜂鸣器和显示灯的编程设计上遇到了一点难题。最后在同学的帮助下,完成了设计要求。
本次实训在单片机学习中我总结了以下几点经验:
1)要学会参考书本的程序,系统认知单片机的编程原则和编程语句,迅速提高自己的编程能力。  
2)碰到问题可以借助网络、图书馆资源来搜寻答案和对自己有帮助的问题,一定会有所收获。  
3)小组要团结,小组之间要多交流。技术是靠不断的积累和交流才会进步的,大家集思广益,能更快捷的找到问题所在,并解决问题。
通过这次单片机设计我不仅加深了对单片机的理解,并且将理论应用到了实际当中,同时也使我认识到自身存在的不足之处,无论是理论上还是遇到问题的处理能力上都还有待提高,而且这也激发了我今后努力学习的兴趣。发现问题、提出问题、分析问题、解决问题和实践能力这些都会受益于我在以后的学习、工作和生活中。


项目实施过程(60%)
项目报告(40%)
功能
实现
(20%)
拓展
内容
(10%)
团队合
作(学生)
(5%)
答辩
考核
(25%)
硬件
设计
(10%)
软件
设计
(10%)
文档
规范性(10%)
小结
(10%)
分 数

小 计



实习实训成绩:                       指导教师签名:

                                                   2015年 11月22日
说明:报告包含实习实训内容、过程、情况小结及心得体会、对实习实训的意见建议等。




全部资料51hei下载地址:
项目八.zip (183.58 KB, 下载次数: 15)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表