版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程名称:微机原理课程设计课题:随机抽奖器专业班级:计算机系10101班学号:202317010101姓名:指导老师:日期:2023年06月27日教师评语:成绩评定:指导教师〔签名〕:1.课题简介本课题需要设计一个应用接口芯片作为四个七段LED数码管输出口,编一个程序,使用四个LED数码管循环快速闪烁数字〔显示0—100〕,15秒后停滞,此号码即为随机中奖号码。根据课题的设计要求,作如下的分析:抽奖器需要显示抽奖数字,初始值为000,可以控制抽奖开始,抽奖开始后要不停的显示随机数直到15秒后停滞。根据以上分析可知,我们需要解决以下几个问题:=1\*GB3①随机数怎么样产生?=2\*GB3②怎么样存储产生的随机数?=3\*GB3③使用什么样的接口电路来实现?=4\*GB3④如何显示随机数?设计方案根据以上的题义,现在对上述四个问题进行逐一解决。下面我们可用列表比拟的方法来选择器件,具体器件的名称和特点如表1-1所示。由表1-1可以得到以下分析结果:随机数通过软件的方法来实现。1秒设置问题用软件实现:因为本钱低,而且是验证型实验,无需精确。接口电路采用8255芯片:因为在抽奖器设计时,距离很近,而且要求数据各位同时传送,这些都符合8255可编程并行接口的特点。显示问题选用LED:因为OLED效果佳,但价格高,LCD不稳定,容易出现闪烁问题,驱动器选择74LS244:因为本课程设计只需单向传送,74LS245显得浪费。综上所述,本课程设计需要一块8086CPU,一片8255A可编程并行接口芯片,七段LED显示器,74LS244驱动器。表1-1器件比照表器件对比18253计数器当到一秒时,产生一个负脉冲,定时准确,本钱高软件实现在程序中用一初始值近似代替1秒时间,本钱低28255A芯片8255芯片是可编程的并行接口,数据的各位同时进行传送,,速度快,但传输距离不远,不需要附加外部电路便可和大多数并行传输数据的外部设备直接相连。8251A芯片8251芯片是可编程的串行接口,数据一位一位地顺序传送,电路简单,只需一对传输线就可实现双向通信,速度慢,只能在固定方式下工作,不灵活。3LED光效率高,品质高,能耗小,寿命长,可靠耐用,应用灵活,回应时间短。LCD稳定性不是很好,容易出现闪烁,接触不良问题。OLED单个元素反响速度是LCD液晶屏的1000倍,在强光下也可以照看不误,利用LED技术,更薄,更亮,更清晰。474LS244单向传送,一般用于总线电平匹配,提供比拟大的输出电流74LS245具备选通输入输出的功能,双向传送。1)硬件局部8255A工作于方式0,将PC口作为输入端,将PB口和PA口作为输出端,PB口用来输出位选码,PA口用来输出段选码。显示器初始状态显示为000。2)软件局部通过观察和实际检测可以知道程序的每条指令的硬件时间执行时时非常快的,每秒8086可以执行8万次以上的操作。所以我们可以如下设置随即函数:开始抽奖时显示000,随机数产生函数中产生的数字从0开始,第一个数时0,第二个数便在第一个数根底上加一,如循环往复执行,到100时再从一开始重新进行加一运算。这样我们可以保证在一秒的时间内随机数可以从0变化到100已满足随机抽奖器的需要。3.具体设计3.1系统原理硬件设计1.8255芯片1〕8255A在本设计中的作用从PC口输入开关量,从PA口和PB口进行输出显示。2〕8255A的功能分析下面主要介绍方式0的工作特点,8255A工作方式0又称为根本输入/输出〔同步传送〕方式,该方式下可将三个数据端口划分为四个独立的局部,A口和B口作为两个8位端口,C口高四位和低四位可用作两个4位端口。方式0使用在无条件传送和查询式传送两种场合。无条件传送一般用于简单的外部设备,例如:键盘、开关量的输入,状态指示灯等等,此时不使用联络信号。而查询传送时,A口和B口作为数据的输出,C口的假设干位作为联络信号。其具体功能如表2-1所示,8255A的方式控制字表如图2-1所示。表2-18255A的端口录址及操作功能表A1A0eq\o(\s\up8(—),\s\do3(RD))eq\o(\s\up8(—),\s\do3(WR))eq\o(\s\up8(—),\s\do3(CS))端口号及其功能00010端口A—>数据总线输入操作〔读〕01010端口B—>数据总线10010端口C—>数据总线00100数据总线—>端口A输出操作〔写〕01100数据总线—>端口B10100数据总线—>端口C11100数据总线—>控制字存放器xxxx1未选中8255A,数据总线—>三态断开功能11010非法状态xx110数据总线—>三态D7D6D5D4D3D2D1D0100010011:工作方式A口方式0输出B口方式0输出C口高4位输入C口低4位输入表2-28255A的方式控制字3〕8255局部技术参数分析8255A的技术参数表如表2-3所示:表2-38255A技术参数表参数名称符号测试条件标准值最大最小输入低电平电压VIL0.8v-0.5v输入高电平电压VIHVcc2.0v输入低电平电压<数据总线>VOLIOL=2.5mA0.45v输入低电平电压<外部端口>VOLIOL=1.7mA0.45v输入高电平电压<数据总线>VOHIOH=-400μA2.4v输入高电平电压<外部端口>VOHIOH=-200μA2.4v达林顿驱动电流IDARREXT=750VEXT=1.5v4.0mA1.0mA电源电流ICC120mA输入负载电流IILI=VCC~0v+10mA-10mA输出浮动电流IOFLVOUT=VCco~0v+10mA-10mA8255A工作最大电流为120MA,VCC为-5V~+5V,I〔DAR〕工作电流最大为4.0mA,最小为1.0mA。选择器件LED1〕LED在本设计中的作用LED发光二级管在本设计中作为终端输出显示器,显示时间的分秒。2〕LED功能分析1.物理构造:LED发光二级管,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。其示意图如图2-2所示,真值表如表2-4所示。图2-1LED发光管示意图2.工作原理:当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大局部以光的形式出现。3.将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,即可显示出定义数字。表2-4LED发光二极管的真值表数字DPgfedcba二进制编码〔字形〕0001111113FH10000001103H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FHA0111011177HB011111007CHC0011100169HD010111105EHE0111100179HF0111000171H3〕LED技术参数分析LED发光二极管的压降一般为1.5-2.0V,其工作电流一般取10-20Ma,发光二极管可应用于直流驱动电路、交流驱动电路和脉冲驱动电路。由于8255A的最大驱动电流为4.0mA,而LED的工作电流一般为10-20mA,所以需要加一个驱动器74LS244。74LS244的技术参数分析74LS244的技术参数表如表2-5所示:表2-574LS244的技术参数表最小典型最大单位电源电压Vcc4.7555.25V高电平输出电流IOH-1.5mA低电平输出电流IOL24MA工作环境温度070oC由于74LS244的驱动电流为24mA,满足题义要求,可以使计时数字从LED发光二极管上显示出来。选择芯片4—逻辑开关1〕开关在本次设计中的作用本设计中开关主要起到复位和控制的作用。2〕功能分析二进制逻辑开关主要是用来输入信息的,当开关拨上时为1,拨下时为0;3〕技术参数当K接VCC=+5V时为1,接地时输出为0。5.硬件总逻辑图及其说明图2-2硬件总逻辑图说明:PC机的AD0~AD7经数据总线与8255A的D0~D7相连,地址线A1、A0与8255的A0、A1相连,即偶地址有效。控制总线RD、WR、RESET分别与8255相应的控制信号线连接。片选信号CS0与8255的CS信号连接,那么8255的端口地址为04A0~04A6。8255的PA口用于存放位选码,使用的是高四位,分别连接到四个七段LED显示器上。使用的是共阴极接;PB口用于存放段选码,八位全部连接到八个二极管上;PC口用作信号输入。3.2关键技术分析1.控制程序设计思路说明本课程设计用到了三片LED显示芯片,分别显示随机数的百分位、十分位、个位。为节省硬件,所以采用动态扫描显示方式,每次只使一位LED显示器公共端的电平有效,因而每次只有一位LED显示器发光。但由于人眼的视觉暂留的效应,只要间隔的时间足够短,那么依次从右向左显示时就感觉是3位LED是同时点亮一样。用8255的PA口接LED显示器的公共端作位选择,用PB口接LED的各片的发光二极管作段选择的控制,用PC口接二进制开关作初始值的控制输入和复位。在本程序中用了一个延时子程序来完成这个功能的。在LED显示器上显示的数字是从0~9共十个字符,将其相应的转换代码存入一个缓冲区中,用查表转换的方式来控制编程调用。2.程序流程图图3-1程序流程图开始初始化8255开始初始化8255K8=1显示000K6=1=1调用随机函数调用DISPLAY1显示K5=1调用DISPLAY1显示中奖号K1=1K7=1调用随机函数调用DISPLAY1显示K5=1调用DISPLAY1显示第一个中奖号K5=1调用随机函数调用DISPLAY1显示K5=1调用DISPLAY1显示第二个中奖号yyynnyynynnnyyynnyK5=1调用随机函数调用DISPLAY1显示K5=1K5=1调用DISPLAY2显示三个中奖号K1=1调用DISPLAY1显示第三个中奖号ynynynK5=1调用随机函数调用DISPLAY1显示K5=1K5=1调用DISPLAY2显示三个中奖号K1=1调用DISPLAY1显示第三个中奖号ynynynyn测试4.1测试过程中遇到的问题记录问题一:在编码正确后,显示在LED数码管上的数字不停跳跃,无法读出数据。解决方法:要解决这个问题,可以在每个延时子程序的后面加上MOVAL,0FFH MOVDX,PC_ADD OUTDX,AL ;禁止显示因为在进入第二个数字的显示时,如果不关一个位选码〔即禁止显示〕,那么数字要在两个数码管之间跳跃,使人看不清楚。因此,要在每个数字显示后均要禁止显示,防止串位,使之看见清楚。问题二:在实现一次抽三个中奖数时抽奖完毕后不能显示三个中奖号。解决方法:先申请一个空间用以存储每次中奖的号码,等到三次抽奖完毕后再从LED上输出中奖号码。问题三:每次抽奖完成后想进行下次抽奖必须关机重新运行。解决方法:我们可以设置一个开关变量用于复位操作。每次执行玩抽奖后按复位开关将数据区的数据去除并返还到初始状态。4.2测试结果当程序开始全速运行时,LED显示器上无显示。置开关开K8为1时抽奖器开始工作,LED显示器上显示“000〞。假设K7为1那么进入单次抽奖程序。在置K5为1开始抽奖,LED显示器上闪烁显示随机号,置K4为1产生中奖号,并在LED显示器上显示。如需复位那么先将所有开关置为0,再将K1置为1.此时复位完成。如需重新开始那么将K1置为0后置K8为1.假设K6为1那么进入一次抽三个中奖号的程序。在置K5为1开始抽奖,LED显示器上闪烁显示随机号,第一次置K4为1产生第一个中奖号,并在LED显示器上显示。再将K4拨为0,此时LED显示器上重新显示随机数,再置K4为1产生第二个随机数并在LED显示器上显示,再将K4拨为0,此时LED显示器上重新显示随机数,置K4为1产生第三个随机数并在LED显示器上显示。此时三次抽奖完毕。置K4为0这是LED显示器上循环显示三个中奖号。如需复位那么先将所有开关置为0,再将K1置为1.此时复位完成。如需重新开始那么将K1置为0后置K8为1.总结本课题的设计方法是科学的,合理的,所得到的结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新农合医保权益保证
- 联合体合作合同详实版解析
- 石材供应合同协议格式
- 动力电池批量订购协议
- 2024车体车身广告合同
- 大数据分析与环境保护考核试卷
- 无人机的商业模式创新与实践案例考核试卷
- 塑料制品的材料属性与性能测试考核试卷
- 家用纺织品的产品创新与差异化竞争考核试卷
- 兽用药品批发商的个性化服务考核试卷
- 浙江重症医学专科护士理论考核试卷与答案
- 沟槽土方开挖工程专项施工方案范文
- 住宅质量通病防治手册=防渗漏篇
- 第二单元良知与悲悯《学习任务三:分析戏剧冲突,探究悲剧产生的原因》名师单元教学设计2课时
- 产品质量风险辨识与控制清单范例
- 文化差异与跨文化交际知到章节答案智慧树2023年郑州大学
- 电力电缆试验
- 压疮与失禁性皮炎鉴别
- 2023跨界联名营销趋势报告-SocialBeta
- 急性酒精中毒急救护理
- 做好车险续保工作探讨课件
评论
0/150
提交评论