0

    C51单片机超市抓奖器控制系统设计.ppt 34页VIP

    2023.07.31 | admin | 166次围观

    超市抽奖器的设计与制作 实际应用 第一部分 实际应用超市为了增加营业额,吸引更多顾客,经常 会利用店庆或节假日的机会举办“抽奖”活动来进 行促销,大都通过抽奖器抽出一组数字的编码作 为中奖号码,持有本店会员卡的顾客可凭会员卡 后四位数字参与兑奖。除此之外,各种电视娱乐 节目中也经常将抽奖器用来作为电视节目的道具。 第二部分 项目成果展示 超市抓奖器控制系统设计 1.任务 为某超市设计一个周年纪念的抽奖器。 2.要求●用四位0~9数字组合作为中奖号码ppt抽奖器开始停止,并显示。●按动抽奖器按钮,抽奖器自动进行编码,松开按钮时,抽奖器停止运行,当前编码即为中奖号。●设计时要求采用MCS-51系列单片机作为控制内核。 第三部分 基本功能设计 按键输入。当按键按下时,抽奖器开始工作,按键松开后,停止工作,显示号码即为中奖号码。 显示电路。在抽奖器工作时,实时显示数字;抽奖器停止时,显示中奖号码。用什么来显示?如何显示? 中奖号码要是随机数,不能重复,如何得到? 方案提示: 本系统使用AT89C51单片机、按键、 显示、C51库函数中断实现抽奖功能。 具体如下: 按键:按键抽奖是一个随机事件, 如果采用前面的查询方式,效率较低, 为保证高效处理这样的随机随机事件, 按键的扩展可结合中断实现。

    中奖号码显示:系统能及时显示中 奖号码。 中奖号码产生:中奖是一个随机事 件,要保证号码随机性,就必须要求系 统能产生一个随机码以减少重复,而随 机码产生的算法较为复杂,为较为简单 地实现该算法,本项目采用C51编译环 境提供的库函数。 第四部分 知识补充 知识一 单片机中断的使用介绍 知识二 C51库函数的使用介绍 知识一 单片机中断的使用介绍 1.中断介绍中断实际上是CPU与外设之间交换信息的一种方式,这种方式是指当计算机执行正常程序时,系统中出现某些急需处理的异常情况或特殊请求(中断请求),CPU暂时中止现行的程序,而转去对随机发生的更紧迫的事件进行处理(中断服务程序),在处理完毕后,CPU自动又返回原来的程序继续运行。 (1)中断的优点 可以提高CPU的工作效率 可以提高实时数据的处理实效 (3)中断优先级与中断嵌套通常,一个CPU总会有若干中断源,但在同 一瞬间,CPU只能响应其中的一个中断请求,为了 避免在同一瞬间若干个中断源请求中断而带来的混 乱,必须给每个中断源的中断请求设定一个中断优 先级,CPU先响应中断优先级高的中断请求。中断 优先级直接反映每个中断源的中断请求为CPU响应 的优先程度,也是分析中断嵌套的基础。

    (4)中断系统功能中断系统是指能够实现中断功能的那部分硬件电路和软件程序。中断系统的功能通常有如下几条: 进行中断优先级排队 实现中断嵌套 自动响应中断 实现中断返回 2、MCS-51单片机中断系统结构、功能 (1)中断源8051单片机有5个中断源,分为3类:外部输入中断源(外中断)2个,分别为INT0和INT1;定时器溢出中断源(定时中断)2个,分别为T0和T1;串行口发送或接收中断源(串行中断)1个。 (2)中断控制 ①中断允许控制IEMCS-51单片机中的特殊功能寄存器IE是中断允许寄存器,它控制CPU对中断源的开放或屏蔽,以及每个中断源是否允许中断。IE是个8位寄存器,字节地址为A8H,可位寻址。其各位的定义如下: CPU中断允许位EA: EA =“l”时CPU中断允许ppt抽奖器开始停止, EA =“0”时CPU屏蔽一切中断请求。 串行接口中断允许位ES: ES =“1”时允许串行接口中断,ES =“0”时禁止串行接口申请中断。 定时器/计数器中断允许位ET0、ET1: ETi =“1”时允许定时器/计数器申请中断,ETi =“0”时禁止定时器/计数器中断。 外部中断中断允许位EX0、EX1 :EXi =“1”时允许外部中断申请中断,EXi =“0”时禁止中断。

    ②中断优先权控制MCS-51单片机有两个中断优先级,可由软件设 置每个中断源为高优先中断。每个中断源的中断优 先级都是由中断优先级寄存器IP中的相应位的状态 来控制的。IP也是一个8位的特殊功能寄存器,字节 地址为B8H,可位寻址,各位的定义如下:当系统复位时后,IP的低5位全部清0,即将所有 的中断源设置为低优先级中断。 串行口中断优先级选择位PS: PS =“1”,串行接口中断确定为高优先级,PS =“0”时为低优先级。 定数器/计数器中断优先级选择位PT0、PT1,PTi =“1”时定时器/计数器中断确定为高优先级,PTi =“0”时为低优先级。 外部中断中断优先级选择位PX0、PX1: PXi =“1”时外部中断为高优先级,PXi =“0”时为低优先级。同一优先级中的中断源优先权排队由中断系统的硬件确定,用户无法自行安排。优先权排队顺序如下:外部中断0高定时器/计数器 0中断外部中断1定时器/计数器1中断串行口中断低 ③MCS-51系列单片机的中断响应顺序CPU同时接收到几个中断请求时,首先 响应优先权最高的中断请求。正在进行的低 优先级中断服务程序能被高优先级中断请求 所中断,实现二级中断嵌套。

    正在进行的中 断过程不能被新的同级或低优先级的中断请 求所中断,一直到该中断服务程序结束,返 回了主程序且执行了主程序中的一条指令 后,CPU才响应新的中断请求。 (3)中断响应条件CPU要在以下3个条件同时具备的情况下 才有可能响应中断: 中断源有中断请求; CPU的中断允许位EA(IE.7)被置位,即开放中断; 相应的中断允许位被置位,即某个中断源允许中断。后两条可通过编程来设置 (4)中断响应过程中断响应满足下列三个条件 没有同级或高优先级的中断正在处理。 现行的机器周期是所执行指令的最后一个机器周期。 正在执行的指令不是RETI或访问IE、IP的指令。CPU在执行RETI或访问IE、IP的指令后,至少需要再执行一条其他指令后才会响应中断请求。 (5)中断服务程序 各中断中断源对应的服务程序入口地址如下: 外部中断00003H 定时器/计数器 0中断000BH 外部中断10013H 定时器/计数器1中断001BH 串行口中断0023H 3.中断的C51编程中断函数的具体形式为: 函数类型 函数名(形式参数表) interrupt m using n在interrupt m修饰符中,m的取值为0~31,对应 的中断情况如下: 0——外部中断0 1——定时/计数器T0 2——外部中断1 3——定时/计数器T1 4——串行口中断 5——定时/计数器T2修饰符using n用于指定本函数内部使用的工作寄存 器组,其中n的取值为0~3,表示寄存器组号。

    编写MCS-51中断函数时应注意: 中断函数不能进行参数传递。 中断函数没有返回值。 在任何情况下都不能直接调用中断函数,否则会产生编译错误。 如果在中断函数中调用了其它函数,则被调用函数所使用的寄存器必须与中断函数相同,否则会产生不正确的结果。 C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容。 C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。 中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明。防止其它程序调用。 例5-1编写一个用于统计外中断0的中断次数的中断服务程序 extern int x; void int_0() interrupt 0 using 1 { x++;} 知识二 C51库函数的使用介绍库函数并不是C语言的一部分,它是由编 译软件开发公司根据需要编制并提供给用户 使用的。由于本书介绍的主要编译工具是Keil 软件的uVision2版本 ,因次,本项目只介绍 本软件提供的库函数C51 Library Functions。

    知识二 C51库函数的使用介绍 例:随机数产生程序前面我们介绍过,KEIL C软件自带一些功能函数,其 中就有一个伪随机数发生器: #include int rand (void); 具体方法: #include #include /* for printf */ void tst_rand (void) { int i; int r;for (i = 0; i < 10; i++) { printf ("I = %d, RAND = %d\n", i, rand ()); } } 第五部分 项目实施 硬件电路电路图的设计 元器件清单 程序流程图设计 (一)硬件电路电路图的设计 (二)元器件清单 (三)程序流程图设计 相关课程设计课题 课题:数码管水平流动显示设计制作。 1.任务 设计并制作一个数码管水平流动显示装置。 2.要求 (1) 按下按键抽取两个随机数。 (2) 将所抽取的随机数通过四位数码管水平流动 循环显示,两个随机数的显示要有间隔。按照超市抽奖器的设计思路,设计制作上述 数码管水平流动显示装置,并完成相应设计说明 文档。 本书专配 1 块 MCU_1 实验电路板 12 2 只 6mm*6mm 轻触开关(按钮) 11 4 个 1k/0.25W 电阻 10 8 个 200/0.25W 电阻 9 1 个 5.1k/0.25W 电阻 8 1 个 10k/0.25W 电阻 7 5 个 8050 三极管 6 2 个 30P 瓷片电容 5 1 个 10Uf/25V 铝电解电容 4 1 个 12M 晶振 3 四位八段共阳数码管 1 只 SM410564 数码管 2 1 片 AT89C51 IC 1 备 注 数 量 单 位 型 号 名 称 序 号 * 超市抓奖器设计与制作单片机编程与实现 (2)中断源在计算机中,引起中断的原因和发出中 断申请的来源称为中断源。 外部设备中断 控制对象中断 故障中断 定时脉冲中断

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论