




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 动态显示窗口的设计与应用在单片机及智能仪器应用中,显示是人机交互的一个重要的部分。在显示应用中,最简单的显示单元可由若干个指示信号灯加面板说明组成,常见的显示窗口由若干个七段数码管组成,而复杂的显示窗口则是由液晶显示屏甚至是CRT显示器组成。作为显示窗口设计入门级训练,本实验选用以七段(或者八段)数码组成的显示单元作为实训内容。从七段数码的工作形式来分,七段数码显示单元分为静态和动态两种。因此,本节我们也将以两小节来分别叙述七段数码静态和动态的工作原理、组成显示窗口的硬件电路设计以及显示窗口驱动的程序设计。第一部分 教学要求一、 目的要求1了解七段数码管静态显示的工作原理。2掌握七段数码管静态显示窗口硬件电路的设计方法。3掌握七段数码管静态显示窗口驱动程序的编写方法。4. LED灯为流水点亮,同时8个LED数码管轮流显示一个数字(比如自己的学号)。二、 预备知识1. 七段数码管的构造及工作原理 七段数码管由八个发光二极管组成(其中七个发光二极管组成七段“8”字形,另一个表示小数点),当发光二极管导通时,相应的一个笔划或小数点就发光。因此,控制相应的发光二极管导通,就能显示出对应的数字。为了方便的驱动七段数码管,通常将七段数码管中的八个发光二极管的阴极或阳极连接到一起,形成共阴极或共阳极七段数码。七段数码管的构造如图XXX所示。图1 七段数码管的构造 1 七段数码管的字形码 习惯上人们常以逻辑“1”对应高电平,以逻辑“0”对应低电平。因此,对于共阴极七段数码管而言对应笔划段的引脚,若接逻辑“1”,则该笔划段被点亮。而对于共阳极七段数码管而言对应笔划段的引脚,若接逻辑“0”,则该笔划段被点亮。对照七段数码管的构造,七段数码管的字形码如下:共阴极七段数码管数字符0123456789字形码0111111000011010110111001111110011011011011111101111100011111111111011共阳极七段数码管数字符0123456789字形码10000001111001010010001100000011001001001000000100000111000000000001002 可编程并行I/O接口芯片8255A的使用。七段数码管静态显示窗口的硬件电路框图图2 静态显示窗口的硬件电路框图1 图3 静态显示窗口的硬件电路框图2设计原则:1选择七段数码管,若七段数码管每段的驱动电流与锁存器端口每位的驱动电流相当,则驱动器可省略。否则,在七段数码管和锁存器端口之间要加入驱动器,驱动器一般采用TTL门电路,如74LS07等。应尽量选用管每段的驱动电流小而显示亮度大的七段数码管。2在单片机系统中,七段数码管的字形码来自数据总线,由于单片机在运行之中,数据总线上的信号是动态的,故与七段数码管连接的输出端口必须带有锁存功能。图4 实验板七段数码管静态显示窗口的硬件电路原理图3框图2中的地址信号用于选择不同的锁存器端口,地址信号可以来自单片机系统中地址译码器的输出,也可以直接来自单片机的地址总线中的某些位。原则是能够通过地址选择不同的锁存器端口。4框图2中的锁存信号用于将数据总线上七段数码管的字形码锁存至输出端口上,锁存信号通常是单片机的写(WR)信号。这样就可以用MOVX DPTR,A指令方便地将七段数码管的字形码锁存至指定的输出端口上(注:DPTR中为指定的输出端口的地址,A中为要输出的七段数码管的字形码)。三、 实验平台介绍1 普中科技51单片机原理与接口实验平台图5 开发板整机2 运行Keil U4软件,编写你的单片机应用程序,并进行编译产生单片机机器码程序(扩展名是:.EXE)3 用mini USB线连接单片机实验板到计算机USB口图6 连接实验板与计算机打开实验板电源:按下电源开关,电源指示灯亮按下电源开关,电源指示灯亮按下电源开关,电源指示灯亮图7 打开实验板电源4 下载机器码程序到单片机实验板:(1)、打开“自动下载软件”:图8 普中自动下载软件界面然后,在这个软件上,我们需要选择配置。如图5所示:图12 配置界面设置图9 选择配置1. 选择对应的芯片类型。因为我们使用的是51单片机,所有这里我们选择STC90C5XX系列。2. 打开所需要下载的hex文件,这里我们选择实验内容的第一个例程,LED例程。该hex文件的路径在 光盘资料下:光盘资料步骤3 51单片机例程1、LED灯左右跑马灯C版。如图10所示:图10选择hex文件3. 打开所需要下载的hex文件之后,我们点击下载。如图7所示:图11 下载成功界面四、 Keil uVision4单片机应用开发软件的使用Keil uVision4支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。Keil uVision4使用汇编语言或C语言编写单片机应用程序。使用它的编译器,把写好的单片机应用程序编译为机器码,才能把HEX可执行文件写入单片机内。该软件的使用方法请点击:Keil uVision4使用教程(请仔细阅读!)五、 附件: 1、 跑马灯汇编语言:/* * 武汉理工大学电子信息工程系-* 实 验 名 : 跑马灯实验* 实验说明 : LED灯做右移跑马灯,同时第一位LED数码管分段熄灭* 连接方式 : 见接线图* 注 意 : */ORG 0000H ;程序0000起始地址AJMP MAIN ;跳转到MAINORG 030H ;MAIN 程序起始地址MAIN:MOV P0,#0FEHACALL DEL ;调用子程序MOV P0,#0FDH;将立即数传给P2ACALL DELMOV P0,#0FBHACALL DELMOV P0,#0F7HACALL DELMOV P0,#0EFHACALL DELMOV P0,#0DFHACALL DELMOV P0,#0BFHACALL DELMOV P0,#07FHACALL DELMOV P0,#0FFHAJMP MAIN ;延时子程序DEL:MOV R5,#04HDEL1:MOV R6,#0FFHDEL2:MOV R7,#0FFHDEL3:DJNZ R7, DEL3DJNZ R6, DEL2DJNZ R5, DEL1RETEND 跑马灯C语言程序:/* * 武汉理工大学电子信息工程系-* 实 验 名 : LED二进制加法显示实验* 实验说明 : LED灯做右移跑马灯* 连接方式 : 见接线图* 注 意 : */-包含你要使用的头文件#include #include /-声明全局函数-/void Delay10ms(unsigned int c); /延时10ms/* 函 数 名 : main* 函数功能 : 主函数* 输 入 : 无* 输 出 : 无*/void main(void)unsigned char LED;LED = 0xFE;while(1)P0 = LED;Delay10ms(50);LED = _crol_(LED,1); /循环右移1位,点亮下一个LED 此函数于库函数/* 函 数 名 : Delay10ms* 函数功能 : 延时函数,延时10ms* 输 入 : 无* 输 出 : 无*/void Delay10ms(unsigned int c) /误差 0us unsigned char a, b;/-c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了-/ for (;c0;c-)for (b=38;b0;b-)for (a=130;a0;a-); 本程序是LED灯作流水点亮,第一位LED数码管的每一段轮流熄灭(显示位置见图5)。大家可以先将本程序下载到实验板上观察效果,然后再做修改。2、 动态显示C语言程序/* * 武汉理工大学电子信息工程系-* 实 验 名 : 动态数码管显示试验* 实验说明 : 8位数码管显示07* 连接方式 : 见连接图* 注 意 : */#include/-定义使用的IO口-/#define GPIO_DIG P0/段选#define GPIO_PLACE P1/位选/-定义全局变量-/unsigned char code DIG_PLACE8 = 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位选控制 查表的方法控制unsigned char code DIG_CODE17 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码unsigned char DisplayData8;/用来存放要显示的8位数的值/-声明全局函数-/void DigDisplay(); /动态显示函数/* 函 数 名 : main* 函数功能 : 主函数* 输 入 : 无* 输 出 : 无*/void main(void)unsigned char i;for(i=0; i8; i+)DisplayDatai = DIG_CODEi;while(1)DigDisplay();/* 函 数 名 : DigDisplay* 函数功能 : 使用数码管显示* 输 入 : 无* 输 出 : 无*/void DigDisplay()unsigned char i;unsigned int j;for(i=0; i8; i+)GPIO_PLACE = DIG_PLACEi; /发送位选GPIO_DIG = DisplayDatai; /发送段码j = 10; /扫描间隔时间设定while(j-);GPIO_DIG = 0x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路基分项工程方案(3篇)
- 酒店保安工程合并方案(3篇)
- 2025年垃圾填埋气发电技术创新与环保产业技术合作研究报告
- 2025年乡村旅游接待设施安全风险评估报告
- 固体化妆品制造工技能操作考核试卷及答案
- 水生产处理工技术考核试卷及答案
- 拍卖服务师5S管理考核试卷及答案
- 2025新能源行业安全管理智能化升级案例分析报告
- 洞察2025年白酒市场高端消费者饮酒场景与品牌策略深度研究报告
- 提琴吉他制作工转正考核试卷及答案
- 中医备案诊所管理办法
- 浙江省浙南名校联盟2025-2026学年高二上学期开学返校联考英语试卷(含音频)
- (康德卷) 重庆市2026届高三9月开学考联考英语试卷(含答案解析)
- 2025-2026学年人教版(2024)小学美术二年级上册《指尖撕撕乐》教学设计
- 安全驾驶教育培训课件
- 六年级上册心理健康教育教案-正确认识我自己 北师大版
- 2025北京京剧院招聘10人备考题库及答案解析
- 防护用品使用课件
- 贵州省桐梓县狮溪铝多金属(含锂)普查项目环境影响评价报告表
- 吉林省梅河口市2025年上半年公开招聘辅警试题含答案分析
- 灭火和应急疏散预案演练制度(足浴会所)
评论
0/150
提交评论