;实战四《简易四路抢答器》
;该抢答器供不多于4个参赛队或者个人的抢答比赛场合使用。每个参赛队的座位前
;安装1只抢答按钮开关(用板上的S9、S10、S11、S12)和一个信号灯(D4、D5、D6、D7)。
;主持人座位前装一只复原开关(板上S3)、1只蜂鸣器(板上BUZ1)和一个抢答器工作状态
;指示灯(D10),每当主持人口头发出号令之后.哪个队先按下座位上的按钮开关,该座位的信
;号灯就先被点亮,同时封锁其他按钮开关的活动.并且熄灭主持人座位上的状态指示灯和发出
;三声类似于电话振铃的提示声,以声明此次抢答动作已经完成.在主持人确认后,按下复原按钮
;,状态指示灯重新点亮,并且同时发出"笛-笛-"声,为下一次抢答作好准备.
;程序文件名:"MCD-INTBUZ.ASM"
;*********************************************************************
;程序清单
;*********************************************************************
tmr0 equ 1h ;定义定时器/计数器0寄存器地址
status equ 3h ;定义状态寄存器地址
option_reg equ 81h ;定义选项寄存器地址
option_temp equ 0a6h ;(在BACK1)定义选项寄存器的备份寄存器的地址
intcon equ 0bh ;定义中断控制寄存器地址
portc equ 7h ;定义端口RC的数据寄存器地址
trisc equ 87h ;定义端口RC的方向控制寄存器地址
portb equ 06h ;定义端口RB的数据寄存器地址
trisb equ 86h ;定义端口RB的方向控制寄存器地址
c equ 0 ;定义进位标志位的位地址
z equ 2 ;定义0标志位的位地址
w equ 0 ;定义传送目标寄存器为W的指示位
f equ 1 ;定义传送目标寄存器为RAM的指示位
t0if equ 2 ;定义TMR0中断标志位的位地址
t0ie equ 5 ;定义TMR0中断使能位的位地址
inte equ 4 ;定义外部中断使能位的位地址
intf equ 1 ;定义外部中断标志位的位地址
count equ 20h ;定义一个计数器变量
count1 equ 24h ;定义一个计数器变量
count2 equ 25h ;定义一个计数器变量
count3 equ 27h ;定义一个计数器变量
count4 equ 28h ;定义一个计数器变量
portb_b equ 21h ;为PORTC定义一个备份寄存器
w_temp equ 7fh ;为W在体0和体1定义2个备份寄存器
;w_temp equ 0ffh ;(若是16F873/4,则需保留FFH单元)
status_temp equ 23h ;为STATUS定义一个备份寄存器
rp0 equ 5h ;定义状态寄存器中的页选位RP0
;******************复位向量和中断向量***********************