数码管随机模拟显示乘法口诀实验报告.doc

上传人:文库蛋蛋多 文档编号:2882036 上传时间:2023-03-01 格式:DOC 页数:10 大小:84.50KB
返回 下载 相关 举报
数码管随机模拟显示乘法口诀实验报告.doc_第1页
第1页 / 共10页
数码管随机模拟显示乘法口诀实验报告.doc_第2页
第2页 / 共10页
数码管随机模拟显示乘法口诀实验报告.doc_第3页
第3页 / 共10页
数码管随机模拟显示乘法口诀实验报告.doc_第4页
第4页 / 共10页
数码管随机模拟显示乘法口诀实验报告.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数码管随机模拟显示乘法口诀实验报告.doc》由会员分享,可在线阅读,更多相关《数码管随机模拟显示乘法口诀实验报告.doc(10页珍藏版)》请在三一办公上搜索。

1、宁 波 工 程 学 院设计与讨论课程设计报告课 题 题 目: 数码管随机模拟显示乘法口诀 学 院 名 称: 电子与信息工程学院 专 业: 学生 姓名: 指 导 教 师: 目录第一章 技术指标1.1整体功能要求1.2系统结构要求1.3设计条件第二章 整体方案设计1. 整体方框图及原理第三章 单元电路设计3.1数码管显示及其扫描程序3.2数码管显示的生成3.3主程序3.4 随机产生被乘数与乘数,并得到乘积3.5 整体电路图第四章 测试与调整第五章 设计小结5.1 设计任务完成情况5.2 问题及改进5.3心得体会附录AT89C51七段显示数码管74LS245参考文献第一章 技术指标1. 整体功能要求

2、(1) 每次按下一次K1键时会模拟显示一道乘法口诀,第1,3位数码管显示被乘数与乘数,第4位数码管显示等号,第5,6位数码管显示乘积.(2) 在模拟口诀时先显示被乘数与乘数,在接下来的偶数次按键下闪烁显示结果,在结果闪烁显示时,被乘数与乘数保持静态显示,再次按键时继续这一过程。系统结构与要求按键输入控制的方波输出装置结构要求如图所示。按键扫描单片机(产生随机被乘数与乘数)按键次数奇偶判断数码管显示数码管随机模拟显示乘法口诀整体方案结构方框图2. 设计条件软件要求:uVision,protuse仿真软件具体的器件模块: 态扫描数码管模块 单片机控制模块 数码管显示模块 驱动模块元器件列表 如表1

3、元器件名数量AT89C511按键2排阻1数码管(六位)1普通电容(22pf)274LS2451有向电容(10uf)1RX81电阻(10K)1 表1第二章 整体方案设计1.整体方框图及原理:如图2-1原理框图开始判断是否有键按下动态扫描数码管Tmp=0Tmp=tmp+1判断按键次数即判断tmp是否为偶数显示六位数码管上数字显示前四位数码管数字产生随机数值并进行相关运算图2-1原理框图原理:通过动态扫描数码管同时设置按键次数标志位,判断按键次数是否为偶数,如果是奇数,随机产生两个数值,进行乘法运算,显示四位数码管数值;如果是偶数,显示六位数码管数值。 第三章 单元电路设计3.1 数码管显示及其扫描

4、程序,按键图3-1。图3-1按键扫描显示程序:动态扫描数码管 uchar DSY_Index=0xFE; /动态扫描数码管的索引 for (k=0;k6;k+) P3=DSY_Index;/DSY_Index赋值给P3口 P0=DSY_CODE M_ABCk ;/将被乘数与乘数,乘积,从P0口输出 DSY_Index=_crol_(DSY_Index,1);/DSY_Index的值向左循环移位1位 DelayMS(1); 3.2数码管显示的生成,如图3-2:图3-3结果的生成程序:/乘积(在4,5两位中显示)M_ABC4=M_ABC0*M_ABC2/10;M_ABC5=M_ABC0*M_ABC

5、2%10;/当乘积的十位数(即数组中的第4位)为0时不显示if (M_ABC4=0) M_ABC4=10;3.3 主程序:void main()P0=0x00;P3=0xff;srand(56); /设置随机种子while(1)if(K1=0) tmp=tmp+1;DelayMS(10);while (K1=0); /等待K1键释放 if(tmp%2=1)Get_Random_Num_A_B();if(K2=0) tmp=tmp+1;DelayMS(10);while (K2=0); if(tmp%2=1)Get_Random_Mul_A_B();Display_ABC(); /显示三个数3.

6、4 随机产生被乘数与乘数,并得到乘积:/-/得到随机数,随机产生被乘数与乘数,并得到乘积/-void Get_Random_Num_A_B() /随机生成被乘数,乘数M_ABC0=rand()%9+1; M_ABC2=rand()%9+1;/乘积(在4,5两位中显示)M_ABC4=M_ABC0*M_ABC2/10;M_ABC5=M_ABC0*M_ABC2%10;/当乘积的十位数(即数组中的第4位)为0时不显示if (M_ABC4=0) M_ABC4=10;3.5 整体电路图,如图3-4图3-4 第四章 测试与调整1:通过按一下按钮钮得到两个相乘的数,再按一下得到乘法口诀,看与事实是否相符,测试

7、1组。第一组:如图4-1图4-1所得结果如表4-1:乘数乘数结果236表4-1达到实验设计目的,并且得到合格的实验结果第五章 设计小结5.1 设计任务完成情况通过课程设计,顺利地完成了本次设计的技术指标,本设计主要模块如下:动态扫描数码管模块;单片机控制模块;数码管显示模块;驱动模块。按键的输入直接影响着随机函数生成被乘数与乘数,同时按键次数影响着显示数码管的状态。 5.2 问题及改进在设计实验时,存在问题:本实验随机数产生的都是个位数,限于数码管显示缺陷,无法显示乘号 ;起始没有在奇数次显示被乘数与乘数,在偶数次显示全部数码管的功能,解决方法是添加按键奇偶标志位,通过判断标志位来决定数码管的

8、显示5.3心得体会通过本次课程设计与实际操作,在确立目的的前提下设计相关单片机控制电路,是我们必须掌握的能力。同时在使用部分芯片,我们得查阅相关资料,通过自学芯片的原理并且使用,了解更多在课本上没有的知识。确定使用的元器件之后,布局的调整也是必不可少的。尤其在布线的时候,容易引起一系列问题,这时候锻炼我们的布线布局能力。还有在设计电路原理图之后,我们得设计编写相关程序,测试和调试,在仿真软件操作,同时在遇到问题之后,对问题解决的能力。虽然在短暂的学习中,但是学到的知识与能力不仅仅只是本实验中应用到的,还有更多程序实验的设计。附录AT89C51简要说明:AT89C51是一块单片机,在硅片上集成了

9、各种部件的微型计算机。这些部件包括中央处理器CPU,数据存储器RAM,程序存储器ROM,定时器/计数器和多种I/O接口电路。七段显示数码管简要说明:能显示六位的共阴数码管74LS245DIR是H时,AB74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收) DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。参考文献彭伟单片机C语言程序设计实训100例

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号