课题设计-基于51单片机的抢答器设计内容摘要:
位均为硬件复位。 硬件复位后,各专用寄存器的状态均被初始化,且对片内通用寄存器的内容没有影响。 但是,硬件复位还能自动清除中断激活标志,使中断系统能够正常工作,这样一个事实却容易为不少编码人员所忽视。 软件复位就是用一系列指令来模拟硬件复位功能,最后通过转移指令使程序从 0000H 地址开始执行。 对各专用寄存器的复位操作是容易的,也没有必要完全模拟,可根据实际需要去主程序初始化过程中完成。 而对中断激活标志的清除工作常被遗忘,因为它没有明确的位地址可供编程。 有的编程人员用 020200( LJMP 0000H)作为 软件陷阱,认为直接转向 0000H 地址就完成了软件复位,就是这类错误的典型代表。 软件复位是使用软件陷阱和软件看门狗后必须进行的工作,这时程序出错完全有可能发生在中断子程序中,中断激活标志已置位,它将阻止同级中断响应。 由于软件看门是高级中断,它将阻止说要中断响应,由此可见清除中断激活标志的重要性。 在所有的指令中,只有 RETI 指令能够清除中断激活标志。 前文各处提案到的出错处理程序 ERR 主要完成这一功能,其他的善后工作交由复位后的系统去完成。 有复位时系统的历史状况,可将复位分为“冷启动”和“热启动”。 “冷启动 ”时,系统的状态全部无效,进行彻底的初始化操作;而“热启动”时,对系复位 关中断,设定堆栈 上电标志 冷启自检 全面初始化 热启动恢复被破坏的信息部分初始化 建立上电标志 开始运转 统的当前状态进行修复和有选择的初始化。 系统初次上电投入运行时,必须是“冷启动”,以后由抗干扰措施引起的复位操作一般均为“热启动”初次上电投入运行时,必须是“冷启动”,以后由抗干扰措施引起的复位操作一般均为“热启动”。 为了使系统能正确决定采用何种启动方式,常用上电标志来区分,如图 36所示。 图 36 系统复位策略图 第四章 软件设计 软件任务分析 软件任务分析和硬件电路设计结合进 行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。 软件任务分析环节是为软件设计做一个总体规划。 从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印 [8],输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。 这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。 软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义 和接口定义(输入输出定义)。 在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。 各执行模块规划好后,就可以监控程序了。 首先根据系统功能和键盘设置选择一种最适合的监控程序结构。 相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易出问题。 这如同当一名操作工人比较容易,而当一个厂长就比较难了。 软件任务分析的另一个内容是如何安排监控软件和各执行模块。 整个系统软件可分为后台程序(背景程序)和前台程序。 后台程序指主程序及其调用的子程序,这类程序对实时性要求不是太高,延误几十 ms 甚至几百 ms 也没关系,故通常将监控程序(键盘解释程序),显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;而前台程序安排一些实时性要求较高的内容,如定时系 统和外部中断(如掉电中断)。 也可以将全部程序均安排在前台,后台程序为 “ 使系统进入睡眠状态 ” ,以利于系统节电和抗干扰。 显示子程序的设计 显示子程序,及部分注解如下: DISPLAY:MOV DPTR,DAT1。 查表显示程序 ,利用 P0口做段选码口输出 /P2 低三位做位选码输出 , MOV A,R3 MOVC A,@A+DPTR MOV P2,0feH MOV P0,A ACALL DELAY MOV DPTR,DAT2 MOV A,R5 MOVC A,@A+DPTR MOV P2,0fdH MOV P0,A ACALL DELAY MOV A,R4 MOVC A,@A+DPTR MOV P2,0fbH MOV P0,A ACALL DELAY RET DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H。 灭 ,1,2,3,4,5,6,7,8,9,灭 ,F DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H 第一个为零 ,其他与上相同 ,因为十位如果为零显示熄灭 定时器 T0、 T1 中断服务程序的设计 =====TO 溢出中断 (响铃程序 )===== T0INT: MOV TH0,0ECH MOV TL0,0FFH JNB RING,OUT。 CPL。 RING 标志位为 1时候 口不断取反使喇叭发出一定频率的声音 OUT: RETI T1溢出中断 (计时程序 ): T1INT: MOV TH1,3CH MOV TL1,0B0H INC R0 RETI END 抢答器处理程序的设计 抢答器处理程序: TRUE1: ACALL BARK。 按键发声 MOV A,R2 MOV R6,A。 抢答时间 R2送 R6 MOV R3,01H CLR OK。 因为答题的计时不再查询抢答 ,所以就锁了抢答 AJMP COUNT TRUE2:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,02H CLR OK AJMP COUNT TRUE3:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,03H CLR OK AJMP COUNT TRUE4:ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,04H CLR OK AJMP COUNT TRUE5: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,05H CLR OK AJMP COUNT TRUE6: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,06H CLR OK AJMP COUNT TRUE7: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,07H CLR OK AJMP COUNT TRUE8: ACALL BARK。 MOV A,R2 MOV R6,A MOV R3,08H CLR OK AJMP COUNT 程序及分析 单片机控制 8 路抢答器程序 OK EQU 20H。 抢答开始标志位 RING EQU 22H。 响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,30。 初设抢答时间为 30s MOV R2,60。 初设答题时间为 60s MOV TMOD,11H。 设置未定时器 /模式 1 MOV TH0,0F0H MOV TL0,0FFH。 越高发声频率越高 ,越尖 MOV TH1,3CH MOV TL1,0B0H。 50ms 为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1。 允许四个中断 ,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0。 一开始就运行定时器 ,以开始显示 ,重置 TH1/TL1 就可以了。 =====查询程序 ===== START: MOV R5,0BH MOV R4,0BH MOV R3,0BH ACALL DISPLAY。 未开始抢答时候显示 FFF JB ,NEXT。 ddddddd ACALL DELAY JB ,NEXT。 去 抖动 ,如果 开始键 按下就向下执行 ,否者跳到非法抢答查询 ACALL BARK。 按键发声 MOV A,R1 MOV R6,A。 送 R1R6,因为 R1 中保存了抢答时间 SETB OK。 抢答标志位 ,用于 COUNT 只程序中判断是否查询抢答 MOV R3,0AH。 抢答只显示计时 ,灭号数 AJMP COUNT。 进入倒计时程序 ,查询有效抢答的程序 在 COUNT 里面 NEXT: JNB ,FALSE1 JNB ,FALSE2 JNB ,FALSE3 JNB ,FALSE4 JNB ,FALSE5 JNB ,FALSE6 JNB ,TZ1 JNB ,TZ2 AJMP START TZ1:JMP FALSE7 TZ2:JMP FALSE8。 =====非法抢答处理程序 ===== FALSE1: ACALL BARK。 按键发声 MOV R3,01H AJMP ERROR FALSE2: ACALL BARK MOV R3,02H AJMP ERROR FALSE3: ACALL BARK MOV R3,03H AJMP ERROR FALSE4: ACALL BARK MOV R3,04H AJMP ERROR FALSE5: ACALL BARK MOV R3,05H AJMP ERROR FALSE6: ACALL BARK MOV R3,06H AJMP ERROR FALSE7: ACALL BARK MOV R3,07H AJMP ERROR FALSE8: ACALL BARK MOV R3,08H AJMP ERROR。 =====INT0(抢答时间 R1 调整程序 )===== INT0SUB:MOV A,R1 MOV B,0AH DIV AB MOV R5,A MOV R4,B MOV R3,0AH ACALL DISPLAY。 先在两个时间 LED 上显示 R1 JNB ,INC0。 为 +1s 键 ,如按下跳到 INCO JNB ,DEC0。 为 1s 键 ,如按下跳 到 DECO JNB ,BACK0。 为确定键 ,如按下跳到 BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,63H,ADD0。 如果不是 99,R2 加 1,如果加到 99,R1 就置 0,重新加起。 MOV R1,00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DELAY1 AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1。 如果 R1 为 0, R1 就置 99, DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1: MOV R1,63H ACALL DELAY1 AJMP INT0SUB BACK0: RETI。 =====INT1(回答时间 R2 调整程序 )===== INT1SUB:MOV A,R2 MOV B,0AH DIV AB MOV R5,A MOV R4,B MOV R3,0AH ACALL DISPLAY JNB ,INC1 JNB ,DEC1 JNB ,BACK1 AJMP INT1SUB INC1: MOV A,R2 CJNE A,63H,ADD1 MOV R2,00H ACALL DELAY1 AJMP INT1SUB ADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1: MOV A,R2 J。课题设计-基于51单片机的抢答器设计
相关推荐
5 )若接待来宾,不论男、女主人都要主动伸手表示欢迎,男主人也可对宾先伸手表示欢迎; 6 )若一方忽略了握手的先后次序, 先伸出了手,对方应立即回握,在餐旅行业中,应以客人先伸手为准,服务人员不得先伸手与客人握手。 7 )多人同时握手时,要注意别人握完再握手,不可交叉握手。 8 )握手时不能戴手套(女士是允许的)男士之间握得较紧较久,但不能用力太大,男士与女士握得不宜太紧太久。 9
解释 B、可以拒绝说明解释 C、应当予以说明解释,并提供准确,可靠的信息 D、应当告知申请人向律师咨询 2行政机关发现申请人的申请材料不齐全或者不符合法定形式而未当场告知或者未在五日内告知申请人需要补正的全部内容的,应当如何处理( )。 A、自行政机关收到申请材料之日起即为受理 B、自行政机关告知之日起即为受理 C、视为行政机关不予受理 D、自申请人补正全部内容之日起即为受理 2公民
习基地资源的同时,优化校内实习实训条件和资源,依托现有的 2 个实训室 和 物流 综合 实训中心,形成虚拟模拟、物理仿真、生产性实训三位一体的校内实训架构,有效保证“ 工学交替 ”教 学模式的 实施。 ( 3) 梯次构建,培养学生 适 用性 能力 通过梯次构建的 学习阶段及模块 和校岗轮替的教学实现途径,学生将构建扎实的物流管理与业务执行的理论和实践技能,熟悉基于物流管理与 16
际情况增益设为 100 倍即可,零点和增益的温度漂移和时间漂移极小。 按照输入电压 20mV,分辨率 20200 码的情况,漂移要小于 1 旧。 由于其具有极低的失调电压的温漂和时漂(177。 ),从而保证了放大环节对零点漂移的要求。 残余的一点漂移依靠软件的自动零点跟踪来彻底解决。 稳定的增益量可以保证其负反馈回路的稳定性,并且最好选用高阻值的电阻和多圈电位器。 由称重传感器的称量原理可知
频率计包括波形整形电路、分频电路、多路数据选择器、单片机和显示电路等几个模块。 所以 本次设计的数字式频率计的电路由以下几块构成:由施密特触发器构成的波形整形放大电路、由 74LS90构成的分频电路、 6 由 74LS153 四选一电路构成的四选一电路、 AT89C51单片机以及由 74LS138 译码电路、三极管上拉电路和八段数码显示电路构成的数码显示电路构。 信号放大整形电路
干 解调(包络检波法)和相干解调(同步检测法),相应的接收系统组成方框图如 图 32 所示。 与模拟信号的接收系统相比,这里增加了一个“抽样判决器”方 框,这对提高数字信号的接收性能是必要的。 本次课设用的是相干解调。 e2ASK(t) a b c d 输出 定时 脉冲 ( a)非相干解调方式 e2ASK(t) a b c d 输出 coswct 定时 脉冲 ( b)相干解调方式 图 32