4位八段数码管的十进制加计数仿真实验,程序采用汇编语言编写。此程序在仿真软件上与EDN-51实验板上均通过。仿真图中的数码管位驱动采用74HC04,如按EDN-51板上用想同的PNP三极管驱动在仿真软件上则无法正常显示。程序共分5块,STAR0为数据初始化,STAR2为计数子程序,STAR3为4位数码管动态显示子程序,STAR4为按键扫描子程序,STS00是延时子程序。由于EDN-51实验板上没装BCD译码器,所以编写程序比较烦琐。
程序如下:
ORG 0000H
LJMP STAR0 ;转程序 SRAR0
ORG 0200H ;程序地址 0200H
STAR0: CLR 00 ;位 00 清 0
MOV P1,#0FFH ;#0FFH-->P1
MOV P2,#0FH ;#0FH-->P2
MOV P0,#0FFH ;#0FFH-->P0
MOV 30H,#00H ;#00H-->30H
MOV 31H,#00H ;#00H-->30H
MOV 32H,#00H ;#00H-->30H
MOV 33H,#00H ;#00H-->30H
LJMP STAR3 ;转程序 SRAR3
STAR2: MOV A,#0AH ;#0AH-->A
INC 30H ;30H+1
CJNE A,30H,STJE ;30H 与 A 比较,不等转移 STJE
MOV 30H,#00H ;#00H-->30H
INC 31H ;31H+1
CJNE A,31H,STJE ;31H 与 A 比较,不等转移 STJE
MOV 31H,#00H ;#00H-->31H
INC 32H ;32H+1
CJNE A,32H,STJE ;32H 与 A 比较,不等转移 STJE
MOV 32H,#00H ;#00H-->32H
INC 33H ;33H+1
CJNE A,33H,STJE ;33H 与 A 比较,不等转移 STJE
MOV 33H,#00H ;#00H-->33H
MOV 32H,#00H ;#00H-->32H
MOV 31H,#00H ;#00H-->31H
MOV 30H,#00H ;#00H-->30H
STJE: RET ;子程序调用返回
STAR3: MOV R0,#30H ;#30H-->R0
MOV R6,#0F7H ;#0F7H-->R6
SMG0: MOV P1,#0FFH ;#0FFH-->P1
MOV A,R6 ;R6-->A
MOV P1,A ;A-->P1
RR A ;A向右移一位
MOV R6,A ;A-->R6
MOV A,@R0 ;@R0-->A
ADD A,#04H ;#04H-->A
MOVC A,@A+PC ;A+PC-->
MOV P0,A ;A-->P0
AJMP SMG1 ;转程序 SMG1
SDATA: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
SMG1: LCALL STAR4 ;转子程序 SRAR4
LCALL STS00 ;转子程序 STS00
INC R0 ;R0+1
CJNE R6,#07FH,SMG0 ;#07FH 与 R6 比较,不等转移 SMG0
AJMP STAR3 ;转程序 SRAR3
STAR4: JNB P2.0,ST1 ;P2.0=0 转 ST1
CLR 00 ;位 00 清 0
SJMP ST3 ;转ST3
ST1: JNB 00,ST2 ;位 00=0 转 ST2
SJMP ST3 ;转 ST3
ST2: LCALL STAR2 ;调子程序 STAR2
SETB 00 ;位 00 置 1
ST3: RET ;子程序调用返回
ORG 0100H ;地址 0100H
STS00: MOV 60H,#003H ;#003H-->60H (211)
DE001: MOV 61H,#0FFH ;#0FFH-->61H (255)
DE002: DJNZ 61H,DE002 ;61H 减 1 不等于 0 转 DE002
DJNZ 60H,DE001 ;60H 减 1 不等于 0 转 DE001
RET ;子程序调用返回
END ;结束
上次的程序共有293句,经小组成员建议,本人经几天的研究写了下面的这个程序,现在的程序用了63句,精简了230句。功能没有减。如谁有更简练的程序,请发上来,大家一起学习。
4位八段数码管的十进制加计数仿真实验(含电路图和仿真文件)
资源简介:4位八段数码管的十进制加计数仿真实验,程序采用汇编语言编写。此程序在仿真软件上与EDN-51实验板上均通过。仿真图中的数码管位驱动采用74HC04,如按EDN-51板上用想同的PNP三极管驱动在仿真软件上则无法正常显示。程序共分5块,STAR0为数据初始化,STAR2为计...
上传时间: 2013-10-11
上传用户:sssl
资源简介:51单片机控制4位7段数码管显示,加计数 C语言编程
上传时间: 2013-12-07
上传用户:xwd2010
资源简介:微波技术基础,实验(省优课件) PDF版
上传时间: 2013-04-15
上传用户:eeworm
资源简介:本实验只为了解教学系统中8位八段数码管显示模块的工作原理,设计标准扫描驱动电路模块.
上传时间: 2015-10-02
上传用户:米卡
资源简介:DS1302四位八段数码管显示的完整程序-C语言 这段程序,不仅可以运用在数码管上,同样可以运用到液晶上进行显示.只要对程序上稍加改进就可以了.
上传时间: 2013-12-24
上传用户:diets
资源简介:本题目是设计多功能出租车计价器。具体要求如下: (1)自动记录(日、夜)单价、总额、里程、耗时、实时时钟。 (2)多位八段数码管分屏显示(日、夜)单价、总额、里程、耗时、实时时钟 (3)自动打印(日、夜)单价、总额、里程、耗时、实时时钟等相关票据...
上传时间: 2016-03-25
上传用户:Breathe0125
资源简介:4位8段数码管分别动态显示“1234” 4位8段数码管分别动态显示“1234”
上传时间: 2013-12-18
上传用户:wang0123456789
资源简介:4位8段数码管分别动态显示“1234”,希望对大家有所帮助.
上传时间: 2013-12-18
上传用户:siguazgb
资源简介:八段数码管的显示的小程序,环境是VHDL
上传时间: 2013-12-26
上传用户:417313137
资源简介:4位led7段数码管显示 DS18B20测温
上传时间: 2014-01-06
上传用户:来茴
资源简介:用汇编语言编写的6位8段数码管显示程序与MS-51单片机实验系统配合使用
上传时间: 2015-03-21
上传用户:时代电子小智
资源简介:电脑通过串口控制单片机,当按下0~9按钮后,电脑发送给单片机,单片机用八段数码管显示出来.程序中的控件在本站能找到ComDrv32.上位机用Dephi7编写,下位机用Keil2编写.分别装在两个文件夹中.在WinXP中调试通过.我是刚开始学单片机的.望大家批评指正.同时也想结交...
上传时间: 2013-12-18
上传用户:leixinzhuo
资源简介:这是一个基于单片机的八段数码管显示程序,很正确,我已经试过了
上传时间: 2013-12-17
上传用户:zhouli
资源简介:选择RAO做为模拟输入通道; 连续转换4次再求平均值做为转换结果 最后结构只取低8位 结果送数码管的低3位显示 硬件要求:拨码开关S14第2位置ON,第1位置OFF 拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF 为不影响结果,其他拨码开关置OFF。
上传时间: 2016-06-28
上传用户:chfanjiang
资源简介:1.走时,六位LED7段数码管接24小时制显示时钟。 2.一个按键实现选曲(2~3首歌),并且要将所选的曲号通过显示器显示出来。 3.一个按键用来实现播放,播放结束后正常显示时钟,一个按键用来实现停止。 4.通过单片机的P1口的某个输出口驱动喇叭发出不同音...
上传时间: 2016-06-29
上传用户:D&L37
资源简介:这是一个数字钟的VHDL实现.采用八段数码管显示! --可调闹铃,可校时。
上传时间: 2013-12-26
上传用户:qq21508895
资源简介:基于51系列单片机的超声波测距壁障程序 采用4位共阴数码管显示
上传时间: 2014-01-06
上传用户:helmos
资源简介:本源码是基于SPI的八段数码管,开发工具是CodeWarrior for ARM Developer Suite即ADS
上传时间: 2016-10-07
上传用户:kelimu
资源简介:熟悉pic单片机的 AD转换 软件思路:选择RAO做为模拟输入通道; 连续转换4次再求平均值做为转换结果 最后结构只取低8位 结果送数码管的低3位显示
上传时间: 2013-12-30
上传用户:xuanjie
资源简介:开发环境 KEIl 用4*4键盘组成0~9,确认,取消,共12个数字按键,用6位7段数码管组成显示电路,加电后,显示888888,输入密码时,会逐位显示F,密码输入过程中有错,可以按取消键再重新输入,当输入完毕后安确认键,输入密码就会和程序内部密码对比,正确绿灯就会亮,否则...
上传时间: 2014-01-20
上传用户:coeus
资源简介:熟悉A/D转换 软件思路:选择RAO做为模拟输入通道; 连续转换4次再求平均值做为转换结果 最后结构只取低8位 结果送数码管的低3位显示
上传时间: 2014-01-21
上传用户:eclipse
资源简介:AVR单片机控制八段数码管显示的C原代码及说明
上传时间: 2017-03-10
上传用户:wpt
资源简介:基于AT89C2051八段数码管显示6位电子时钟,时间可调。
上传时间: 2013-12-28
上传用户:nanshan
资源简介:5255控制按键,并且用八段数码管显示.用51做控制,5255作键的采集和显示
上传时间: 2013-12-01
上传用户:chenbhdt
资源简介:单片机访问多片DS18B20,同时显示在SPI控制的8位8段数码管上,其中用到DS18B20的单总线技术,还有演示程序截图,其中主控单片机为MEGA16
上传时间: 2014-01-07
上传用户:问题问题
资源简介:软件思路:选择RAO做为模拟输入通道 连续转换4次再求平均值做为转换结果最后结构只取低8位结果送数码管的低3位显示 硬件要求:拨码开关S14第2位置ON,第1位置OFF拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF为不影响结果,其他拨码开关置OFF。
上传时间: 2017-08-04
上传用户:zhouli
资源简介:设计一个用等精度测频原理的频率计。 频率测量范围1~9999; 其精度为 ; 用4位带小数点数码管显示其频率; 并且具有超量程、欠量程提示功能;
上传时间: 2014-01-20
上传用户:dave520l
资源简介:八段数码管实验用例S3C44b0 目录文件结构: 8led_test ├─ main.c C语言主源文件 └─ 8led.c 八段数码管处理函数源文件 如何烧写程序到Flash中,请阅读common目录下的ProgramFlash.txt文件。
上传时间: 2015-12-18
上传用户:Ants
资源简介:标准串口和模拟串口4位595动态数码管显示程序,用C语言,PIC16反73的芯片,仿真通过。
上传时间: 2016-06-18
上传用户:253189838
资源简介:1. 数码管显示原理 数码的显示方式一般有三种: 第一种是字型重叠式; 第二种是分段式; 第三种是点阵式。 目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。它可分为两种, 一是共阳极显示器(发光二极管的阳极都接在一个公共点上) ...
上传时间: 2013-05-22
上传用户:66666