请高手帮我用8051单片机用汇编一个数字的显示 开关按一下 数字增加一 从0到9 汇编程序

作者&投稿:昌玛 (若有异议请与网页底部的电邮联系)
求使用8051单片机和lcd显示图片的汇编程序,要汇编的,不要C语言版本的。~

不知道楼主用的是什么LCD,我以前用的是128*64的,可以先把图片用取模软件取模,会得到图片的取模数据,然后把这些数据按一定顺序写入单片机,在LCD上显示就可以了

设个定时器。
然后一个端口,赋值1(高电平亮),如果低电平就 赋值 11111110 b
然后每隔一秒给它做个移位。
不就完了。

硬件设置:
1、P0口接共阳极数码管,P0口与数码管串接300~470欧电阻;
2、P1.0接按键,低电平有效;
3、晶振为12M
软件部分如下:
ORG 00H
LJMP MAIN
ORG 100H
MAIN:
MOV 30H,#00H
MOV DPTR,#TAB
START:
LCALL SHOW_DATA
JB P1.0,START
LCALL DELAY_50MS
JNB P1.0,$
MOV A,30H
MOV B,#09H
DIV AB
JZ ADD_1:
MOV 30H,#00H
SJMP START
ADD_1:
INC 30H
SJMP START

DELAY_50MS:
MOV R7,#200D
LP:
MOV R6,#250D
DJNZ R6,$
DJNZ R7,LP
RET

SHOW_DATA:
MOV A,30H
MOVC A,@A+DPTR
MOV P0,A
RET

TAB: ;表:共阳数码管 0-9 A-F
DB 0C0H,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
END

TIM EQU 30H

CNTA EQU 31H

CNTB EQU 32H

ORG 00H

LJMP START

ORG 0BH

LJMP T0X

ORG 30H

START: MOV TIM,#00H

MOV CNTA,#00H

MOV CNTB,#00H

MOV TMOD,#01H

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256

SETB TR0

SETB ET0

SETB EA

SJMP $

T0X:

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256

MOV DPTR,#TAB

MOV A,CNTA

MOVC A,@A+DPTR

MOV P3,A

MOV DPTR,#DIGIT

MOV A,CNTB

MOV B,#8

MUL AB

ADD A,CNTA

MOVC A,@A+DPTR

MOV P1,A

INC CNTA

MOV A,CNTA

CJNE A,#8,NEXT

MOV CNTA,#00H

NEXT: INC TIM

MOV A,TIM

CJNE A,#250,NEX

MOV TIM,#00H

INC CNTB

MOV A,CNTB

CJNE A,#10,NEX

MOV CNTB,#00H

NEX: RETI

TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

DIGIT: DB 00H,00H,3EH,41H,41H,41H,3EH,00H

DB 00H,00H,00H,00H,21H,7FH,01H,00H

DB 00H,00H,27H,45H,45H,45H,39H,00H

DB 00H,00H,22H,49H,49H,49H,36H,00H

DB 00H,00H,0CH,14H,24H,7FH,04H,00H

DB 00H,00H,72H,51H,51H,51H,4EH,00H

DB 00H,00H,3EH,49H,49H,49H,26H,00H

DB 00H,00H,40H,40H,40H,4FH,70H,00H

DB 00H,00H,36H,49H,49H,49H,36H,00H

DB 00H,00H,32H,49H,49H,49H,3EH,00H

END

SP1 EQU P3.2

ORG 0000H
MOV 30H, #3FH ;0
MOV 31H, #06H ;1
MOV 32H, #5BH ;2
MOV 33H, #4FH ;3
MOV 34H, #66H ;4
MOV 35H, #6DH ;5
MOV 36H, #7DH ;6
MOV 37H, #07H ;7
MOV 38H, #7FH ;8
MOV 39H, #6FH ;9
M_0: MOV R0, #30H
DISP: MOV P2, @R0
WT: JB SP1, $
MOV R6, #40
DJNZ R7, $
DJNZ R6, $ - 2
JB SP1, WT
JNB SP1, $
INC R0
CJNE R0, #3AH, DISP
SJMP M_0
END


8051f310,pc 有高手能帮忙写一下8051f310单片机与pc机串口通信的程序...
c8051f310单片机是cygnal的单片机有高手能帮忙写一下cygnalc8051f310单片机与pc机串口通信的程序吗感激

单片机8051电子时钟设计
\/ 将刷新操作放在定时器中断函数的外面。\/ include <reg51.h> include <stdio.h> define uchar unsigned char void timer0();void init_T0();void delay(uchar);void display();void convert();void pressKey();sbit K0=P3^0;sbit K1=P3^1;sbit K2=P3^2;sbit K3=P3^3;\/\/共阴:0,1...

8051f系列单片机如何使用XRAM
定义变量的时候 前面加 xdata关键字 例如 unsigned char xdata str[] = "Hello Word!";也可以在Keil或者编译环境中调整内存模式为Large,变量使用XRAM,定义 data关键字才使用RAM。C8051系列单片机的特点 C8051F具有上手快(全兼容8051指令集)、研发快(开发工具易用,可缩短研发周期)和见效快(调试手段...

8051单片机IO口不够用,又不想用IO扩展芯片,怎么办?
要是我的话,我会这样:p0口可以共用,既可以作液晶的数据总线,又可以用作做sram的寻址 p0口接地址锁存芯片就可以了 另外用p3口做时钟芯片也没什么的 只要你的时序正确 它一样可以正常工作

单片机入门,急求高手大虾指教!!!
对于这个问题我今天就我自己是如何开始学单片机、如何开始上手、如何开始熟练这个过程给大家讲讲。先说说单片机,我们现在用的比较多的是8051单片机,它的资料比较多,用的人也较多,市场也很大,51单片机内部结构比较简单,非常适合初学者学习,建议初学者将51单片机做为入门级芯片。单片机属于硬件,我强烈不推荐大家使用单片机...

8051的p1口有什么用\/
P0口三态双向口,没有接内部拉高电路,作为输出口时需外接拉高电路,P0口一般作地址总线低8位,当作地址总线输出后的时序作数据总线,得到数据 P2口是可作总线口的准双向口,一般作为地址总线的高八位地址,与P0口配合形成16位地址 其实8051有4个口P0, P1 ,P2,P3 ,并非楼主所说 P1,P2,P3都可以驱动4...

8051reset手动复位编程
硬件连接:P0_0口连接RESET void main(){ int i;P0_0=0;for(i=5000;i>0;i--); \/\/延时用的 }

...请单片机高手进, 说明一下单片机8031,8051,8751的区别
三个都是INTEL公司推出的。同是8位单片机。8031是8051单片机的前身。8031单片机没有内部存储器,也就是说,程序需要烧写到另外的一个存储芯片,这两个芯片必须同时出现才能使用。8051单片机比8031多了一个内部的4K的ROM,刚开始的时候,你如果要应用8051单片机的话,需要把程序寄给INTEL让他们代为烧写程序...

8051单片机数字温度计单片机的设计
-55~125度,你自己修改:;***WAVE-E6000\/T ;*MCU: AT892051 ;*MCU-crystal: 12M ;*Version: 01 ;*Last Updata: 2007-5-27 ;*Author: zhaojun ;*Description:;DS18B20的读写程序,数据脚P3.4 ;温度传感器18B20汇编程序,采用器件默认的12位转化 ;最大转化时间750微秒,显示温度...

8051单片机的一个问题
比如P2.7接ADC0809的CS,P2.6接A0,P2.5接A1,P2.4接A2,P3.6接WR,P3.7接RD 那么当我们要选通第7通道进行转换时,CS=0,A0=1,A1=1,A2=1,所以P2口的高4为应该是7,其他的管脚电平随便什么都可以,你可以是7FH,也可以是70H。习惯上我们喜欢吧没有用的脚置高,这样可以省电,^_^...

通江县19417598764: 跪求高手给帮忙编一段程序,基于8051的汇编程序 -
弥汤洛庆: 那么简单org 4000h ljmp main table: db 03fh,30h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh db 0bfh,0b0h,0dbh,0cfh,0e6h,0edh,0fdh,87h,0ffh,0efh org 000bh ljmp sever org 4100h main:mov r0,#0ah mov tmod,#01h mov th0,#38h mov tl0,#00h setb et0 setb ea ...

通江县19417598764: 8051单片机 谁能帮我用汇编编一个"1000(03E8H)减去16(FH)结果放入R1"
弥汤洛庆: 减完以后还是十六位数字,怎么放到R1中啊,除非高位放到R1,R0 MOV A, #0E8H SUBB A, #0FH MOV R0, A MOV R1, #03H RETI

通江县19417598764: 求一个用汇编语言编写一个8051单片机的时钟程序(急急急啊) -
弥汤洛庆: 给你当参考...不足功能自己改...有问题再发问..;P1.4小时调整 P1.5分种调整 CODE_SEG SEGMENT CODE DATA_SEG SEGMENT DATA STACK_SEG SEGMENT IDATA K1 BIT P1.4 K2 BIT P1.5 RSEG DATA_SEG KEY_S: DS 1 KEY_V: DS...

通江县19417598764: 8051单片机c语言编程 如何嵌入汇编语言呢? -
弥汤洛庆: 这和的你的的编译器是有关的 还有楼上说的根本不对 那是 上位机嵌入汇编的方式 根本不是 51 的· 如果在51 KEIL 中 方法是这样的#pragma ASM ; Assembler Code Here#pragma ENDASM 不过你还得在 Project 窗口中包含汇编代码的 C 文件...

通江县19417598764: 8051单片机手工汇编具体操作方法 -
弥汤洛庆: 比如说,P1口是控制4*4键盘的,P1.0到P1.3是行控制(分别对应1到4行),P1.4到P1.7是列控制(对应1到4列).例如,你给P1口赋值,mov P1 #11H(也就是给P1.7和p1.3高电平,其余都是低电平),这是代表P1.7和P1.3相交的那个键位被按下,即4行4列的那个键(矩阵键盘最右下角那个键),由此我们可以通过P1口的值的情况来判定按键情况,从而进行编程控制.

通江县19417598764: 请问以下8051单片机程序怎么写(用汇编语言) -
弥汤洛庆: ORG 0000H SETB TR0 ;启动T0 CLR P1.2 SETB P1.3 LP1: MOV R2, #50 ;定时计数初值 LOOP: MOV TH0, #(8192 - 5000) / 32 ;定时10ms MOV TL0, #(8192 - 5000) MOD 32 JNB TF0, $ ;等待8ms CLR TF0 DJNZ R2, LOOP ;每隔10ms,R2减一次一 CPL P1.2 ;R2为0则LED亮灭转换 CPL P1.3 ;R2为0则LED亮灭转换 LJMP LP1 END

通江县19417598764: 用汇编语言写一个用8255扩展的8051单片机4*6键盘扫描程序 -
弥汤洛庆: P1口接4根线作为检测时输出,p2口接6跟线作为检测输入,键盘接上拉电阻,首先往p1口上送数据,检测p2口,无变化则检测下行,有变化直接读取键值表(键值表自设),送入内存变量,大概就是这个样子,很简单的

通江县19417598764: 某单片机控制系统有8个发光二极管.试画8051与外设的连接图并用汇编语言编程使它们从左到右轮流点亮 -
弥汤洛庆: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV A,#7FH LOOP: MOV P0,A LCALL DELAY RR A SJMP LOOP DELAY: MOV R2,#200 DLY: MOV R3,#250 DJNZ R3,$ DJNZ R2,DLY RETEND

通江县19417598764: 8051单片机用汇编程序让八个LED灯每隔一秒亮一个,轮流亮(加说明啊,谢谢了) -
弥汤洛庆: 设个定时器. 然后一个端口,赋值1(高电平亮),如果低电平就 赋值 11111110 b 然后每隔一秒给它做个移位. 不就完了.

通江县19417598764: 怎样运行8051单片机汇编程序? -
弥汤洛庆: 如有了源程序,你可以下载个KEIL软件,在软件环境里就可以运行汇编程序了, 如想在硬件上运行,可以把KEIL里编译过的文件通过另一个烧写软件写入单片机里运行

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网