单片机经典实验实例精华详解(附源程序) (三)

最新更新时间:2013-05-26来源: 互联网关键字:单片机  经典实验  实例精华 手机看文章 扫描二维码
随时随地手机看文章
二、两位数码管循环显示00~99的实验

  现在让我们用实验板上的两个数码管来做一个循环显示00~99数字的实验,先来完成必要的硬件部分,

  数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的0~9的显示代码也正好相反。

  首先我们来介绍两位共阳数码管的单片机驱动方法,电路如下图:

  

  网友可以看到:P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。

  因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。

  下面我们再介绍一种共阴数码管的单片机驱动方法,电路如下图:

  

  网友可以看到:+5V通过1K的排阻直接给数码管的8个段位供电,P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,相应的位可以吸入电流。单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。

  网友可以看到,共阴数码管的硬件更简单,所以在批量生产时,硬件开销小,节省PCB面积,减少焊接工作量,降低综合成本,所以采用共阴数码管更有利于批量生产,现在销售的试验板都是采用共阴数码管了。

  以下是用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序

  a_bit equ 20h ;数码管个位数存放内存位置

  b_bit equ 21h ;数码管十位数存放内存位置

  temp equ 22h ;计数器数值存放内存位置

  star: mov temp,#0 ;初始化计数器,从0开始

  stlop: acall display;调用显示子程序

  inc temp;对计数器加1

  mov a,temp

  cjne a,#100,next ;判断计数器是否满100?

  mov temp,#0;满100就清零重新开始

  next: ljmp stlop;不满就循环执行

  ;显示子程序

  display: mov a,temp ;将temp中的十六进制数转换成10进制

  mov b,#10 ;10进制/10=10进制

  div ab

  mov b_bit,a ;十位在a

  mov a_bit,b ;个位在b

  mov dptr,#numtab ;指定查表启始地址

  mov r0,#4

  dpl1: mov r1,#250 ;

  dplop: mov a,a_bit ;取个位数

  MOVC A,@A+DPTR ;查个位数的7段代码

  mov p0,a ;送出个位的7段代码

  clr p2.7 ;开个位显示

  acall d1ms ;显示162微秒

  setb p2.7;关闭个位显示,防止鬼影

  mov a,b_bit ;取十位数

  MOVC A,@A+DPTR ;查十位数的7段代码

  mov p0,a ;送出十位的7段代码

  clr p2.6 ;开十位显示

  acall d1ms ;显示162微秒

  setb p2.6;关闭十位显示,防止鬼影

  djnz r1,dplop ;循环执行250次

  djnz r0,dpl1 ;循环执行250X4=1000次

  ret

  ;2+2X80=162微秒,延时按12MHZ计算

  D1MS: MOV R7,#80

  DJNZ R7,$

  RET

  ;实验板上的7段数码管0~9数字的共阴显示代码

  numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH

  end

  ;如果是共阳数码管的显示代码

  numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H

关键字:单片机  经典实验  实例精华 编辑:神话 引用地址:单片机经典实验实例精华详解(附源程序) (三)

上一篇:单片机经典实验实例精华详解(附源程序) (二)
下一篇:单片机经典实验实例精华详解(附源程序) (四)

推荐阅读最新更新时间:2023-10-12 20:46

基于51单片机的LCD液晶屏
#include reg52.h sbit lcden=P1^0; sbit lcdrs=P1^1; sbit lcdrw=P1^2; void delay_ms(unsigned int t); void lcd_write_com(unsigned char com); void lcd_write_dat(unsigned char dat); void init_1602lcd(void); unsigned char code lcd1 = I LOVE SHUANG ZU ; unsigned char code lcd2 = TEL:17337112944 QQ:810965811 ; /******
[单片机]
Atmel推出基于Cortex-M4的MCU产品
新增SAM G54/G55系列具备业界最小外形、超低功率和最高性能,面向快速发展的物联网市场,为可穿戴设备和传感器集线器管理提供了最新片上系统(SoC)解决方案 21ic讯 Atmel®公司今日宣布推出SAM G54和SAM G55,扩展了其屡获奖项的基于Cortex®-M4的MCU产品SAM G系列。 新系列定位于快速兴起的物联网(IoT)市场,为其中包括健身手环和智能手表、传感器集线器管理、医疗、网关、桥接器、音频设备等在内的各种电池供电设备提供适宜的功能组合,包括更高性能、超低功耗、更小巧外形和更大的SRAM内存。新产品系列还包含此前SAM G系列所具备的全部特性,包括Atmel | SMART ARM® Cor
[单片机]
基于单片机的生活废(污)水处理系统设计
1 引言 中国是全球人均水资源最贫乏的国家之一,然而在我国,水资源短缺与严重浪费现象长期并存。未来 15 年是我国建设节水型社会的关键时期,国五部委联合发布的《中国节水技术政策大纲》中,对建设节水型社会的规划之一是推广先进实用的节水技术。 学生公寓盥洗室生活用水量大,水池的排水方式普遍为直排式,使具有再次利用价值的生活废水被排入下水道,造成水资源的浪费。本课题设计的是生活废水二次利用装置的控制系统,这一系统地完成有利于推进节水技术的推广,用单片机控制废水处理的设备,从而实现现场的自动化控制。 2 系统总体设计 系统节水装置如图 1 所示,本生活废水处理控制系统主要分为以下几个模块,通过检测浮子开关
[单片机]
单片机CCFL控制器改善大屏幕LCD TV的图像质量
虽然LCD背光有多种方式,例如LED、EL、CCFL等,但对于大尺寸LCD屏来说,由于CCFL发光效率高而成为主流背光光源。传统的LCD屏主要用于笔记本电脑或台式电脑,背光组件在有一定亮度的前提下,还要尺寸小和重量轻等,大多采用侧面背光方式(CCFL灯管安装在屏的二边或四周,通过导光板将光漫射到整个屏幕后面);而LCD TV特别是大尺寸LCD TV,由于对显示亮度(450cd/m2)、视角广角(170%26;#176;)、图像对比度(500:1)等有更高的要求,因而需要采用光源利用率更高的垂直背光技术。 1 垂直背光 垂直背光,顾名思义,是将CCFL灯管直接安装在LCD屏后面,并利用全反射膜将发散到其他方向的光线反射到屏幕
[应用]
讲述AVR单片机的问题
话说AVR单片机可以裸跑,为什么?   其实,这句话是我自己给学校师弟师妹们讲解AVR时说的,其意思是说:AVR单片机可以不需要任何外部电路就可以跑起来。   不过,实际上,AVR单片机有时还是需要加些外部电路的,why,下面告诉您。   ● AVR复位电路的设计   与传统的51单片机相比,AVR单片机内置复位电路,并且在熔丝位里,可以控制复位时间,所以,AVR单片机可以不设外部上电复位电路,依然可以正常复位,稳定工作。   若是系统需要设置按键复位电路,那么注意,AVR单片机是低电平复位,设计按键复位电路:   ● AVR晶振电路的设计   与传统的51单片机相比,AVR单片机内置RC振荡电路。出厂时
[单片机]
基于89C52单片机的独立按键原理图
前面提到了独立按键,可见,独立按键是由矩阵键盘分离而来的。接下来看的是 4*4 的矩阵键盘,这里使用的还是上节所使用的,延时消抖检测。 先附上矩阵键盘的原理图: 在使用据矩阵键盘时,J5 排针处的跳帽连接 1 脚和 2 脚,使所有按键的有效端口全部连接至 I/O 口。 具体的扫描方式为: 先把P3^0~P3^7高四位和第四位赋不一样的电平值,当确定有键按下时,检测按下的是哪一行或哪一列(原本高电平的四位中有一位会变低电平),再将高四位和第四位赋与上一次相反的电平。再检测,即可找到所按下的按键。 实例为:把S4~S19 这16个按键,从上到下、从左至右,分别设置为1~16不同的键值,当S4按下时,数码管显示为 1;当
[单片机]
基于89C52<font color='red'>单片机</font>的独立按键原理图
基于射频技术和单片机技术的公交车自动报站系统设计
  引 言   现阶段,全球定位系统(GPS)技术日趋成熟,越来越多的公交公司利用这一技术来实现公交车的自动报站。但该方式技术复杂,投资大,不易推广。本文采用远程射频技术,结合单片机工作原理,对现有公交车的手动报站装置进行改造。我们以实用性,性价比及可操作性为主要出发点,以减轻公交车驾驶员的劳动强度,提高公交系统的安全性和报站准确性为最终目的,设计出了该公交车自动报站系统。   1 设备整体设计方案   公交车自动报站器主要由射频阅读器、射频卡、主控制电路板、语音存储模块和键盘显示模块等部分组成,设计方案框图如图1所示。      在公交车站台处设置特定的射频卡,当公交车进入工作范围(站台进入公交车上的天
[单片机]
基于射频技术和<font color='red'>单片机</font>技术的公交车自动报站系统设计
单片机写LCD1602液晶程序源码
本程序的pdf格式的原理图下载: http://www.51hei.com/f/ks51.pdf /***********写1602液晶**************/ /** *功能:写1602液晶 *时间:二〇一四年三月十五日 08:59:26 *作者:寒竹子 **/ #include reg52.h #include intrins.h typedef unsigned int uint; typedef unsigned char uchar; //LCD1602 sbit LCD1602_RS = P1^0; sbit LCD1602_RW = P1^1;
[单片机]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved