本站单片机qq群号:5813023,7344883人都是爆满希望大家冲入qq币升级为高级群,以方便大家学习单片机
七君 19:09:07
有谁用单片机做过电容表的吗
七君 19:09:13
教我几招
市丸银 19:45:22
市丸银 19:45:43
怎么错了 哪位大哥告诉我 谢谢
聂强 19:51:17
完整程序打出来我看看吧。
市丸银 19:52:16
plcd: mov r1,#71h ;显示内容在71h 72h 73h
lcall delay ;延时一段时间
mov p1,#01h ;写指令01H,清屏
lcall enable
mov p1,#38h ;写指令38H,设定LCD为16*2显示,5*7点阵,8位数据接口
lcall enable
mov p1,#0fh ;写指令0FH,显示ON,光标ON,闪烁ON
lcall enable
mov p1,#06h ;写指令06H,光标输入方式增量移位
lcall enable
mov p1,#80h ;第一行起始字符地址
lcall enable
mov dptr,#table1 ;第一行显示字符表头地址
lcallL disp1 ;显示第一行数据
mov p1,#0c0h ;第二行起始字符地址
lcallL disp1
mov dptr,#table2 ;第二行显示字符表头地址
lcallL disp2 ;显示第二行数据
ret
;-----------------
ENABLE: CLR RS ;写指令子程序(请参照1602LCD使用说明书)
CLR RW
CLR E
LCALL DELAY
SETB E
RET
;-----------------
DISP1: MOV R3,#16 ;准备显示一行16个字符
LOOP1: MOV A,#00H ;将ACC清零
MOVC A,@A+DPTR ;查表取得要显示的数据
LCALL DISP0 ;写入一个数据
INC DPTR ;数据表指针加1,准备取下一个数据
DJNZ R1,LOOP1 ;一行没有显示完就继续
RET
;-----------------
disp2: mov r3,#16 ;准备显示一行16个字符
loop2: mov a,@r1
movc a,@a+aptr
lcall disp0
inc r1
djnz r3,loop2
ret
;___________________
DISP0: MOV P1,A ;写1字节数据到显示端口
SETB RS ;写数据时序(请参照1602LCD使用说明书)
CLR RW
CLR E
LCALL DELAY
SETB E
RET
;-----------------
DELAY: MOV R7,#255 ;延时子程序
D1: MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET
TABLE1: DB 54h,45h,4dh,50h,45h,52h,41h,54h,55h,52h,45h
TABLE2: DB 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h
聂强 20:00:48
标号不统一啊。
聂强 20:00:58
一个大写,一个小写
聂强 20:01:12
LACALL DELAY
聂强 20:01:17
试试行吧。
海洋之心 20:01:23
哪个没关系的,呵呵
市丸银 20:01:32
恩啊
市丸银 20:02:30
有个程序错了 找不到错误啊 我晕啊……………………
市丸银 20:02:53
今天都耗在上面了
聂强 20:04:10
确实没关系。呵呵
聂强 20:04:16
我再看看哈。
聂强 20:07:52
我的怎么一编译,第一行直接就出现错误啊。
市丸银 20:08:17
我的也是
市丸银 20:10:52
上一个是我写的
市丸银 20:11:05
下面的是复制网页的
聂强 20:11:47
下边这个从哪里找的?我觉得下边的这个可能是因为EQU这条指令不能对位操作。不知道这么想对不对。
市丸银 20:12:18
;******** TC1602液晶模块字符显示试验单片机汇编程序 ********
;******** 第一行显示“welcme! ********
;******** 第二行显示“www.51hei.com” ********
市丸银 20:12:39
改成bit也不行 貌似
市丸银 20:13:14
在哪找的 忘记了
聂强 20:17:42
回去研究研究,我也该下班了。家里没网线。明天再讨论吧。
市丸银 20:17:58
好的 再见
walkman 20:20:30
请问那种圆形的电阻
上面标有
SAS
511KD20是多大阻值的
海洋之心 20:25:00
RS EQU P3.4
RW EQU P3.5
E EQU P3.6
本站单片机qq群号:5813023,7344883
ORG 0000H
AJMP START
ORG 0033H
START: MOV SP,#60H
MAIN: LCALL DELAY; ;延时一段时间
MOV P1,#01H; ;写指令01H,清屏
LCALL ENABLE
MOV P1,#38H; ;写指令38H,设定LCD为16*2显示,5*7点阵,8位数据接口
LCALL ENABLE
MOV P1,#0FH; ;写指令0FH,显示ON,光标ON,闪烁ON
LCALL ENABLE
MOV P1,#06H; ;写指令06H,光标输入方式增量移位
LCALL ENABLE
MOV P1,#80H; ;第一行起始字符地址
LCALL ENABLE
MOV DPTR,#TABLE1 ;第一行显示字符表头地址
LCALL DISP; ;显示第一行数据
MOV P1,#0C0H; ;第二行起始字符地址
LCALL ENABLE
MOV DPTR,#TABLE2; ;第二行显示字符表头地址
LCALL DISP; ;显示第二行数据
AJMP MAIN; ;返回主程序循环
;_______________________________________________________________________
ENABLE: CLR RS; ;写指令子程序(请参照1602LCD使用说明书)
CLR RW
CLR E
LCALL DELAY
SETB E
RET
;________________________________________________________________________
DISP: MOV R1,#16; ;准备显示一行16个字符
LOOP: MOV A,#00H; ;将ACC清零
MOVC A,@A+DPTR; ;查表取得要显示的数据
LCALL DISP1; ;写入一个数据
INC DPTR; ;数据表指针加1,准备取下一个数据
DJNZ R1,LOOP; ;一行没有显示完就继续
RET
; ;;-----------------
DISP1: MOV P1,A; ;写1字节数据到显示端口
SETB RS; ;写数据时序(请参照1602LCD使用说明书)
CLR RW
CLR E
LCALL DELAY
SETB E
RET
; ;-----------------
DELAY: MOV R7,#255; ;延时子程序
D1: MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET
TABLE1: DB " welcome! "
TABLE2: DB " www.51hei.com "
end
海洋之心 20:25:13
你在编辑一下看。
小刀 20:25:35
温度传感器有ad590可以嘛
无嗔 20:26:09
市丸银 20:26:28
我看看
市丸银 20:27:14
哦也 好了
市丸银 20:27:23
怎么回事
市丸银 20:28:06
少个伪指令end吗
市丸银 20:28:12
海洋
walkman 20:28:15
压敏电阻 511KD20阻值是多大的?
市丸银 20:04:19
恩
市丸银 20:10:09
去吃饭了 一会再来
聂强 20:10:20
这个程序是从哪里弄来的?