基于51单片机的零件计数器设计 - 1

时间:2025-02-26

51单片机课程设计

1 系统设计

1.1 实验箱主要组件

本课程设计使用的实验箱主要由单片机最小系统,LED数码管显示部分,外部中断控制部分,独立式与行列式键盘按键输入部分,串行口通信部分,蜂鸣器与继电器等部分组成。详细电路图见图1。

图1 实验箱“基础型实验”部分电路图

51单片机课程设计

单片机最小系统部分由内含FLASH ROM的STC89C52RC,EA接高电平;各并行口都加了10K的上拉电阻;晶振为11.0592M。设置了上电复位和手动复位。LED数码管显示部分由4位一体的数码管LED1、单个数码管LED2和8个独立的发光二极管L1—L7组成,都是共阴结构并联在一起接在单片机的P0口上。LED1用于完成LED动态显示,用于本课程设计的零件个数显示,各个位选线为P2.4—P2.7,段码由P0口输出。行列式和独立式键盘按键输入部分主要由P2.0-P2.3为行,P2.4-P2.7为列构成的4*4行列式键盘,K20-K27构成的独立式按键构成。蜂鸣器部分采用9012三极管驱动,其基极接到RD端,当RD端为低电平时,三极管导通,蜂鸣器响,否则关断。继电器部分采用9013三极管驱动,其基极接到WR端,当WR端为高电平时,单机管导通,继电器跳转,产生打包动作。串行口通信部分主要由USB转URAT电路构成,本课程设计中由此部分完成PC机与单片机的串行口通信,同时PC机的USB口同时承担给实验板供电的任务。

实验箱“基础型试验”其他电路部分介绍略,“基础型实验”部分实物图见图2。

图2 实验箱“基础型实验”部分实物图

51单片机课程设计

1.2 系统框图及说明

本课程设计中的基于52单片机的零件计数器系统主要由单片机最小系统模块,数码管译码和显示模块,串口通信模块,蜂鸣器模块,继电器模块等组成,系统框图见图3,其中箭头表示数据传送的方向。

图3 单片机定时闹钟系统框图

1.3 系统软件设计

1.3.1 C51编程基础

由于本课程设计硬件模块主要使用单片机实验箱,所以本课程设计的重点放在零件计数器的软件设计上。

本课程设计的系统软件设计采用C语言,C语言是一种通用的程序设计高级语言,其代码利用率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较为广泛的单片机编程语言。使用C语言对单片机进行编程具有以下优点:

(1)C51管理内部寄存器和存储器的分配,编程时,无需考虑不同存储器的寻址和数据类型等细节问题。

(2)程序由若干函数组成,具有良好的模块化结构。

(3)有丰富的子程序库可以直接使用,从而减少用户编程的工作量。

51单片机课程设计

(4)C语言和汇编语言可以交叉使用,提高开发效率。

本课程设计采用的C语言编译器为Keil C51,该编译器以其代码紧凑和使用方法方便的特点优于其他编译器。Keil C51开发单片机程序的大致步骤为:输入源程序,新建工程,工程详细设置,源程序编译到目标代码文件等。编译完成后通过少些软件和串口,可以将代码烧进单片机内部的FLASH程序存储器内。

1.3.2 系统软件设计框图

零件计数器系统由多个函数构成,其中包括主函数,初始化函数,延时函数,串口发送函数,蜂鸣器函数,继电器函数等,图4为单片机零件计数器软件系统各个函数框图。

2 实验过程与结果

2.1 电路调试

由于本次课程设计是在实验箱上进行的,所以对于硬件电路方面不需要调试,主要是进行软件程序方面的调试。正如图4所示的零件计数器各个函数之间

图4 单片机零件计数器软件系统各个函数框图

51单片机课程设计

的框图,程序的调试也是一个一个模块进行的,这样调试的好处是,可以清晰地发现哪个模块存在问题,从而一个模块一个模块地解决问题,使每个模块都能正确而准确地完成各自的功能,最后再把各个模块整合起来,就能较好地实现零件计数器的功能。这样大大地提高了工作效率。

本次课程设计的调试顺序是:先进行数码管动态显示模块的调试,然后是蜂鸣器和继电器的调试,最后是串口通信的调试。

2.2 调试过程

首先进行的是数码管动态显示的调试,调试过程中遇到的主要问题是数码管显示延迟的问题,延时时间太短,显示的数字闪的比较厉害,延时时间太长,超过人眼的视觉暂留时间,无法实现动态显示,经过多次调试,最终取得了比较好的显示效果。

接着进行的蜂鸣器和继电器由于电路和函数都比较简单,没有遇到什么问题,调试的比较顺利。

最后进行的串口调试遇到的问题也比较多。起初的问题是串口发送的数据PC机无法收到,经过仔细检查,发现在主函数中并没有对串口的初始化函数进行声明;改正函数后,PC机虽然可以收到数据了,但发现收到的数据是乱码,不是发送的数据,接着把发送的数据由十六进制显示改为字符显示,在程序中也有所调整后,发现PC机收到的数据即是当前的计数数据。

2.3 调试结果

经过反复调试,最终解决了遇到的问题,较好地实现了零件计数器的功能:1、每来一个零件,单片机计数一次,LED上显示当前一共生产了多少零件;2、当计满10次时,蜂鸣 …… 此处隐藏:2544字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于51单片机的零件计数器设计 - 1.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219