📄 turboc.src
字号:
;****************************************
; 串口通信程序
;CREATE BY SUNSHENYAN
;HaiLea Group
;Modify in 2006-12-28
;8M
;数码管正端接一三极管有二个作用:一可以做为驱动.二可以做刷新数码管的显示
; 51单片机(2051)
;****************************************
led_ctrl bit p3^3
ORG 0000H
AJMP main0
ORG 0030H
main0:
MOV TMOD,#20H
MOV SCON,#40H
MOV TH1,#0F7H ;设置速率4800,(8M晶体)计算出来的值为f8,但可能是8M有误差,所以设为F7刚好能收/发到数据
mov tl1,#0f8h
MOV PCON,#80H
SETB TR1
SETB REN ;允许接收
ajmp start
start:
l1:
setb led_ctrl ;开灯
jnb p3.5,l5
jbc ri,rec
jmp l1
rec: mov a,sbuf ;缓冲数据送到a
mov dptr,#table
movc a,@a+dptr
mov p1,a
clr led_ctrl ;关灯
t10:ljmp L1
l3: mov dptr,#ok1 ;置表头1
ajmp senda3
senda3: clr a ;
movc a,@a+dptr
cjne a,#'$',senda_3
ajmp start ;遇到$则从头开始执行。
senda_3:mov sbuf,a ;发送数据
JNB TI,$;
CLR TI ;
inc dptr
Ljmp senda3
l4: mov dptr,#ok2 ;置表头2
ajmp senda3
l5: mov dptr,#ok3 ;置表头3
ajmp senda3
l6: mov dptr,#ok4 ;置表头4
ajmp senda3
delay:
mov r5,#0ffh
djnz r5,$
ret
table:
DB 11000000B ;'0'code
DB 11111001B ;'1'code
DB 10100100B ;'2'code
DB 10110000B ;'3'code
DB 10011001B ;'4'code
DB 10010010B ;'5'code
DB 10000010B ;'6'code
DB 11111000B ;'7'code
DB 10000000B ;'8'code
DB 10010000B ;'9'code
DB 10001000B ;'A'code
DB 10000011B ;'b'code
DB 10100111B ;'c'code
DB 10100001B ;'d'code
DB 10000110B ;'E'code
DB 10001110B ;'F'code
DB 00000000B ;ret data
ok1: db 0dh,0ah,0dh,0ah,"can send english","能发中文吗",'$'
ok2: db 0dh,0ah,0dh,0ah,"如果上天能再给我一次机会,我会对那个女孩说:借点钱,可以吗?",'$'
ok3: db 0dh,0ah,0dh,0ah,"如果上天能再给我一次机会,我会对那个女孩说:借点钱,可以吗?",'$'
ok4: db 0dh,0ah,0dh,0ah,'$'
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -