模拟生产线计数系统 (单片机)

来源:百度知道 编辑:UC知道 时间:2024/06/06 02:16:59
模拟生产线上产品的计数过程,每过一件就计数一次,并将结果显示在与p1口低4位连接的一个数码管上,要求实现计数开关可人为控制,绘制出模拟电路图和编写实验程序。我主要要的是程序。

;********************************************************************/
  /* 实验目的:1、掌握数码管的动态扫描原理
  * 2、掌握单片机对按键的控制原理
  * 实验内容:通过按一下P3.3按键,数码管做 1 的累加, 实现00~99的计数功能,当计到99时又从00开始
  */
  ;/* 程序详细功能介绍:
  ; * 具体的硬件结构,大家可以看 WS 系列产品的原理图
  ;* 利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.3管脚接一个轻触开关,
  ;* 作为手动计数的按钮. 数码管驱动采用动态扫描方式用单片机的P0.0-P0.7驱动数码管的段码,
  ;* P1.3 控制个位数码管的共阳极公共端,P1.2 控制十位数码管的共阳极公共端
  ;* 大家可自行修改程序,扩展到0000~9999的计数范围
  ;*/

  Count EQU 30H
  AN BIT P3.3
  WEI BIT 00H;按键消除振荡位标志

  ORG 0000H
  CLR P2.7
  LJMP START

  ORG 0100H
  START: MOV Count,#00H
  NEXT: MOV A,Count
  MOV B,#10
  DIV AB
  MOV DPTR,#TABLE

  MOVC A,@A+DPTR
  MOV P0,A ;十位的显示处理
  CLR P1.2
  LCALL DELY10MS
  SETB P1.2

  MOV A,B
  MOVC A,@A+DPTR
  MOV P0,A ;个位的显示处理
  CLR P1.3
  LCALL DELY10MS
  SETB P1.3