;*********************************************
;FILE NAME: FRONT PANEL
;MCU: HT48R10A-1
;MAST OPTION: WDT CLOCK SOURCE: DISABLE WDT
; CLR WDT: ONE
; TIMER CLOCK SOURCE: SYSTEM CLOCK
; WAKE-UP PA: NONE
; INPUT TYPE PA: SCHMITT TRIGGER
; PULL-HIGH: PA,PB,PC
; BZ/BZB: ALL DISABLE
; LVR: ENABLE
; OSC: EXT. CRYSTAL
; FOSC: EXTERNAL
; SYSVOLT: 5.0V
; SYSFREQ: 8MHZ
; PWM: DISABLE
; PFD: DISABLE
;AUTHOR: RADOME
;HISTORY: 2003.07.08
;*********************************************
include ht48r10a-1.inc
;----------------------------------------
vfd_mosi equ pa.5 ;define vfd data_in signal (di pin)
vfd_mosi_ctrl equ pac.5
vfd_miso equ pa.4 ;define vfd data_out (do pin)
vfd_miso_ctrl equ pac.4
vfd_clk equ pa.6 ;define vfd clk signal(clk pin)
vfd_clk_ctrl equ pac.6
vfd_cs equ pa.7 ;define vfd cs signal(cs pin)
vfd_cs_ctrl equ pac.7
;*********************************************
FrontPanel_data .section 'data'
;*********************************************
;System
acc_bk db ? ;define register for the backup of acc
status_bk db ? ;define register for the backup of status
pa_bk db ? ;define register for the backup of pa
;VFD
data_buffer1 db ?
data_buffer2 db ?
vfd_temp db ?
key_buffer1 db ?
key_buffer2 db ?
key_buffer3 db ?
;*********************************************
FrontPanel_code .section 'code'
;*********************************************
org 0000h
jmp main
org 0004h ;External Interrupt
reti
org 0008h ;Timer Interrupt
timer_int:
push
timer_end:
pop
reti
;*********************************************
;Initializers
;*********************************************
main: ;initial mcu,clear ram
clr wdt
clr intc
clr tmrc
clr pa
clr pac
clr pb
clr pbc
clr pc
clr pcc
mov a,40h ;clear ram from 40h~7fh
mov mp,a
mov a,64
set iar
inc mp
sdz acc
jmp $-3
call init_vfd
call write_vfd2
jmp $
;*********************************************
;VFD HT16512
;*********************************************
;-------------------------------------------
;Initialize HT16512
;-------------------------------------------
init_vfd:
clr vfd_cs_ctrl ;set serial I/O
clr vfd_mosi_ctrl
set vfd_miso_ctrl
clr vfd_clk_ctrl
clr vfd_cs
mov a,00000010b ;display mode setting:6/16
mov data_buffer1,a
call data2vfd
set vfd_cs
nop
ret
;-------------------------------------------
;Write VFD
;-------------------------------------------
write_vfd1:
mov a,01000100b ;data setting:normal mode/fixes address/write display
mov data_buffer1,a
clr vfd_cs
call data2vfd
set vfd_cs
nop
clr vfd_cs
mov a,11000010b ;address
mov data_buffer1,a
call data2vfd
mov a,0ffh
mov data_buffer1,a
call data2vfd
set vfd_cs
nop
clr vfd_cs
mov a,10001111b ;dimming quantity setting:display on/14/16
mov data_buffer1,a
call data2vfd
set vfd_cs
ret
write_vfd2:
mov a,01000000b ;data setting:normal mode/inc address/write display
mov data_buffer1,a
clr vfd_cs
call data2vfd
set vfd_cs
nop
clr vfd_cs
mov a,11000011b ;address:from 1
mov data_buffer1,a
call data2vfd
mov a,18
mov vfd_temp,a
mov a,50h
mov mp,a
write_vfd_loop:
mov a,iar
mov data_buffer1,a
call data2vfd
inc mp
sdz vfd_temp
jmp write_vfd_loop
set vfd_cs
nop
clr vfd_cs
mov a,10001111b ;dimming quantity setting:display on/14/16
mov data_buffer1,a
call data2vfd ;sent data to vfd
set vfd_cs
ret
;-------------------------------------------
;Write LED
;-------------------------------------------
write_led:
mov a,01000101b ;data setting:normal mode/fixes address/write display
mov data_buffer1,a
clr vfd_cs
call data2vfd
set vfd_cs
nop
clr vfd_cs
mov a,00001111b ;led
mov data_buffer1,a
call data2vfd
set vfd_cs
ret
;-------------------------------------------
;Read Key
;-------------------------------------------
read_vfd_key:
mov a,01000000b ;data setting:normal mode/fixes address/read key
mov data_buffer1,a
clr vfd_cs
call data2vfd
call data_in
mov key_buffer1,a
call data_in
mov key_buffer2,a
call data_in
mov key_buffer3,a
set vfd_cs
nop
clr vfd_cs
ret
;-------------------------------------------
;Data out
;-------------------------------------------
data2vfd:
mov a,8 ;write data to vfd
data2vfd_loop:
clr vfd_clk
rrc data_buffer1
snz c
jmp out_0
out_1:
set vfd_mosi
jmp out_loop_next
out_0:
clr vfd_mosi
nop
out_loop_next:
set vfd_clk
sdz acc
jmp data2vfd_loop
ret
;-------------------------------------------
;Data in
;-------------------------------------------
data_in:
mov a,8 ;read data to mcu
data_in_loop:
set vfd_clk
nop
clr vfd_clk
snz vfd_miso
jmp in_0
in_1:
set c
jmp in_loop_next
in_0:
clr c
in_loop_next:
rrc data_buffer2
sdz acc
jmp data_in_loop
mov a,data_buffer2
ret
;*********************************************
end
HT16512VFD_asm.rar_HT16512_HT48R10A-1_vfd
版权申诉
178 浏览量
2022-09-22
19:02:39
上传
评论
收藏 1KB RAR 举报
JonSco
- 粉丝: 70
- 资源: 1万+
最新资源
- xlsxhandler
- 问题1 只考虑使用A类无人机,请给出公交与无人机协同配送方案,使总费用最小;要求给出具体的飞行路径及时刻表无人机.xlsx
- NCSU PDK 45nm
- E语言 CompleteUI-窗体控件美化支持库1.0版(静态版CompleteUI.fne)
- PyQt5实现PDF预览
- VMware-ESXI7.0.2镜像
- YOLOv8绘制map曲线图,采用matlab实现
- 毕业设计基于mysql+php实现的外卖点餐系统源码+答辩PPT+项目说明文档.zip
- OCPP-2.0.1 欧洲V2G开放充电协议
- 无人机自主导航-基于强化学习实现的无人机自主导航-附项目源码-优质项目实战.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈