中南大学《微控制器应用系统综合设计》课程设计报告设计题目指导老师设计者专业班级设计日期目录第一章微控制器应用系统综合课程设计的目的意义 (1)1.1 设计目的 (1)1.2课程在教学计划中的地位和作用 (1)第二章自动售货机设计任务 (3)2.1 设计内容及要求 (3)2.2 课程设计的要求 (3)2.2.1 控制要求 (3)2.2.2 设计要求 (3)第三章系统的硬件设计与选型 (4)3.1 总体设计思想与选型 (4)3.2 硬件设计方案 (5)3.3 硬件设计概要 (5)3.4 硬件设计系统原理图 (6)3.5 选型芯片及其各自功能说明 (7)3.5.1 89C51的引脚与功能简介 (7)3.5.2 8155的引脚与功能简介 (10)第四章软件设计 (15)4.1 软件系统的设计方案概要 (15)4.2 源程序流程图及其说明 (15)4.2.1 主程序流程图及其说明 (15)4.2.2 装货子程序流程图及其说明 (17)4.2.3 投币子程序流程图及其说明 (17)4.2.4 货物选择子程序流程图及其说明 (18)4.2.5 显示子程序流程图及其说明 (19)4.2.6 中断子程序流程图及其说明 (20)第六章系统调试及使用说明 (22)5.1 系统使用说明 (22)5.2 系统调试 (22)收获、体会 (24)附录系统源程序 (25)参考文献 (35)第一章微控制器应用系统综合课程设计的目的意义1.1 课程设计目的《微控制器应用系统综合设计》是为测控专业《微控制器技术》课程而开设的课程设计教学环节,其目的在于培养学生综合运用理论知识来分析和解决实际问题的能力,是通过设计以微控制器为核心的单片机检测系统,加深学生对微控制器技术的了解,进一步掌握其程序设计与硬件接口技术。
本课程的主要任务是运用所学微控制器技术、微机原理等方面的知识,设计出一台以80C32MCU为核心的单片机数据采集、通讯或测控系统,完成信息的采集、处理、输出及人机接口电路等部分的软、硬件设计。
1.2 课程设计在教学计划中的地位和作用《微控制器原理及应用》是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。
不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验课教学。
如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节,学习与应用脱节的局面。
任随书本上把单片微机技术介绍得多么重要、多么实用、多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会因此而对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。
《微控制器原理及应用》课程设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
使学生增进对单片机的感性认识,加深对单片机理论方面的理解。
使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等。
使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础第二章自动售货机设计任务2.1 设计内容自动售货机系统由三个投币口组成,可分别投入5角、1元、5元等三种硬币。
当购买一定数目的货物以后,在取物口取出商品,然后在退币口取出余额。
同时为了指示系统当前的状态,配有L1、L2指示灯,当系统出现错误时,会根据提前设定方式进行报警输出。
2.2 课程设计要求2.2.1 控制要求初始状态货物数量由原有量决定。
启动操作首先按下装货按钮,将售货机中的货物装满(每种货物十瓶),购物操作通过面板上的按钮实现。
购买货物时应是先投币后选货物,如果投币不足红灯L1会亮,此时必须往里加币,且重新选择所需货物,才能取出想要的货物;若是投币足够取物口灯会亮表示货物已到取物口,并且可继续选择货物,直至余额不足;按“退币钮”退币口灯亮表示余额退出。
在操作过程中若是投币后或购买商品10秒钟不操作,退币口将自动退币。
自动售货机中的商品有一定数量,如果售货机内无货,再次选择相应货物,绿灯L2将会闪烁通知购物人,此时可选择其他商品或退币。
2.2.2 设计要求设计出电路原理图,说明工作原理,编写程序及程序流程图。
第三章系统硬件设计与选型3.1 总体设计思想与选型自动售货机是集光、机、电一体化的独立机构,它只需要顾客投币和按购物键选择即可自动售货及退找零钱,其工作程序如下图3-1图3-1 自动售货机时序图售货机的工作原理是:(1)从投币口送入货币,然后通过传感器采集数据、识别器判断货币的真伪并判别面值。
(2)识别器把信息数据传给通信模块。
(3)通信模块与售货机的主控系统通信,主控系统显示面值,启动售货机的面板键,显示出哪个货道有货,哪个货道已经售完,并等待顾客按键选择商品。
(4)顾客选择商品后,售货机自动把商品送出,等待顾客取走。
(5)显示余额,如果金额足够多,顾客可以选择找币或者继续买商品;如果款额不够,售货机经过延时予以退币。
(6)系统复零,完成售货。
由于系统的局限性,本次设计由按钮来替代货币的投入动作,分别有1.5、2、5元3种投币金额,使用89C51为系统的核心,完成投币、装货、金额计算、清零等操作,使用6位共阳极LED 显示器来显示货物存量和投入金额。
3.2 硬件设计方案系统的硬件部分主要包括装货、货币投入、选择货物、显示、货物输出、退币以及主机,系统的结构框图如图3-2图3.2 系统结构框图3.3 硬件设计概要系统的硬件电路主要包括投币输入、选择货物、货物输出、退币、显示以及主机这几个重要组成部分。
主机:核心是89C51,晶振频率为6MHz 。
投币输入:投币的币值主要有0.5、1、5元3种,在本次设计中由按钮来实现3中投币动作,每按下一次代表投一次,之后通过89C51处理再显示到LED 上。
装货:主要完成的功能是在自动售货机内没有货物时,装入货物,货币投入89C51选择货物显示货物输出退币装货本设计使用按钮来实现装货功能选择,按下按钮后,系统自动将3种货物的数量均设为10个。
货物选择:本次设计可供选择的货物有3种,分别是1.5元的可乐、2.5元的纯水、3元的牛奶,使用3个按钮来完成选择。
显示:由六位共阳极数码显示管显示货物存量和当前投币金额。
货物输出:使用LED灯来表示货物输出。
退币:使用按钮来模拟退币操作,按下按钮后总金额清零。
3.4 硬件设计系统原理图硬件电路原理图反映了所用到的芯片的连接情况,也可以清楚看到各硬件是如何连接的,具体请看图3-33.5 选型芯片及其各自功能说明3.5.1 芯片列表依照设计思路,本次设计使用了如下芯片:1.微处理器89C512.键盘显示接口器件81553.5.2 89C51的引脚与功能简介I. 89C51单片机两种封装形式:(1) 双列直插(PDIP): 40引脚。
(2) 方形(PLCC)封装形式: 44引脚,有4条引脚是空脚(标为NC)。
图3-4(a)为引脚排列图。
图3-4(b)为逻辑符号图。
II. 89C51引脚功能:1. 电源引脚Vcc和Vss(1) Vcc :电源端,接+5V电源。
(2) Vss :接地端。
2. 外接晶体引脚XTALl和XTAL2(1) XTAL1:片内振荡电路的输入端;(2) XTAL2:片内振荡电路的输出端。
3. 控制信号引脚(1) RST / VPD:RST是复位信号输入端,高电平有效。
出现两个机器周期以上的高电平时复位;图3-4 89C51单片机引脚排列及逻辑符号图•RST引脚的第二功能:备用电源VPD的输入端;•当主电源VCC发生故障,降低到规定值时,此引脚可接备用供电,由VPD向内部RAM提供备用供电,以保持片内RAM中的数据。
(2) ALE/PROG:地址锁存允许信号•访问外部存储器时,ALE信号的输出用于锁存低8位地址的控制信号。
•信号频率为振荡器的1/6;•ALE端可以驱动8个TTL负载;•对Flash存储器编程时,用于输入编程脉冲信号。
(3) /PSEN:片外程序存储器读选通信号•低电平有效,可驱动8个TTL负载。
(4) /EA(VPP):片内、外程序存储器选择端•编程电压输入端;•当/EA端为高电平时,先访问片内EPROM;•当/EA端接地时,只访问片外EPROM;•在Flash存储器编程时,提供编程电压。
4. I / O引脚(1) P0口(P0.0~P0.7):•第一功能:通用I/O口,用来输入/输出数据•第二功能:当CPU访问片外存储器时,分时提供低8位地址和高8位数据的复用总线。
(2) P2口(P2.0~P2.7):•第一功能:不扩展片外存储器时,作为通用I/O口。
•第二功能:扩展片外存储器时,输出片外存储器的高8位地址。
(3) P1口(P1.0~P1.7):•第一功能:通用I/O口。
•第二功能:片内ROM编程或校验时,输入片内ROM的低8位地址。
(4) P3口(P3.0~P3.7):•第一功能:通用的I/O口。
•第二功能:控制功能。
III. 89C51的外部总线外部总线结构图如图3-5所示。
图3-5 外部总线结构图(1) 地址总线(AB)。
16位,寻址范围64KB。
高8位(A15~A8)由P2口输出,低8位(A7 ~A0)由P0口输出。
(2) 数据总线(DB)。
8位,由P0口提供。
(3) 控制总线(CB)。
由4条控制线和P3口的第二功能状态组成。
IV. 89C51的内部结构89C51单片机在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和I/O口等基本功能部件。
各功能部件由内部总线连接在一起。
89C51基本结构见图3-6所示。
图3-6 89C51单片机基本结构图CPU是单片机的核心部件,由运算器和控制器等部件组成。
运算器的功能主要是进行算术运算和逻辑运算。
由8位ALU单元,两个8位的暂存器,8位的累加器ACC、B寄存器,程序状态寄存器PSW等组成。
控制器用于控制单片机各部分的运行,由程序计数器PC,指令寄存器、译码器及定时控制逻辑和数据指针DPTR组成。
3.5.3 8155芯片的引脚和功能介绍3.5.3.1 8155的结构和引脚8155有40个引脚,采用双列直插封装,其引脚图和组成框图如图3-7所示。
图3-7 8155引脚图(1) 地址/数据线AD0~AD7(8条)(2) I/O口总线(22条):PA0~PA7、PB0~PB7、 PC0~PC5。