版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、任务 1)利用单片机的P0口驱动一个共阳数码管,实现0-9显示; 2)编程并采用PROTEUS仿真实现。二、学习目的 1)掌握主程序的延时函数的调用和延时函数的编写; 2)掌握单片机的引脚排列和数码管引脚排列;并理解数码管的显示数组;3.1 3.1 任务说明第1页/共14页 单片机系统常用的数码管有共阳型和共阴型两种类型,它是单片机常用的外围显示器件。两种类型的数码管外形和结构类似,只是数码管内部组成数码段和标点的LED接法有区别,共阳型数码管的内部所有LED的正极接在一起为公共极引脚,负极分别引出,依次命名为a、b、c、d、e、f、g、dop,见图2-1所示数码管电路符号。使用时,共阳型
2、数码管的公共极接正极,其他引脚分别接驱动电路,数码管显示时低电平有效。数码管可以显示0到93.2数码管的显示原理第2页/共14页共十个数字,如果加上小数点的显示,驱动一个数码管显示至少需要8位有效数据。驱动数码管显示数字的8位数据编码见表3-1和3-2所示,其中表3-1为共阳型数码管编码,表3-2为共阴型编码。由于共阴型数码管内部所有LED的负极接在一起,所以数码管显示时驱动数据高电平有效。第3页/共14页表3-13-1共阳数码管显示编码数字显示dotgfedcba16进制0110000000 xc01111110010 xf92101001000 xa43101100000 xb041001
3、10010 x995100100100 x926100000100 x827111110000 xf88100000000 x809100100000 x90第4页/共14页表3-23-2共阴数码管显示编码数字显示dotgfedcba16进制0001111110 x3f1000001100 x062010110110 x5b3010011110 x4f4011001100 x665011011010 x6d6011111010 x7d7000001110 x078011111110 x7f9011011110 x6f第5页/共14页二、数码管的驱动 本节任务所需的电路只需在单片机的最小系统基础
4、增加一个数码管即可。在图3-13-1中,单片机的P0P0口接一只共阳数码管,其中P0.0P0.7P0.0P0.7口分别接数码管的adotadot引脚,P0P0的每个端口只要有低电平输出,对应的数码管的那个段就显示。如让数码管显示1 1,数码管b b、c c段亮,程序控制P0P0输出0 xbe0 xbe十六进制编码即可,因此共阳数码管显示0909十进制数字,需要利用1010个显示码组成的数组。小数点在不用时一般不让显示,高位端口P0.7P0.7输出高电平即可。第6页/共14页图3-1 3-1 单片机驱动共阳数码管电路第7页/共14页 由于P0每个端口的灌电流达20mA,数码管每段LED正常显示5
5、mA即可,因此电路中需要R29八个电阻用来限制数码管每一段电流,以防止驱动电流过大而烧毁器件。利用Proteus软件仿真时,数码管采用Optoelectronics元件库中7-Segment Displays下的7-SEG-COM-ANODE元件,可以不接限流电阻。3.33.3程序设计 一、程序设计 数码管显示0到9数字过程中,数字的变化需要有一定第8页/共14页的时间间隔,因此还采用程序延时的方法实现。程序清单如下:第9页/共14页/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
6、* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /#include#includecode unsigned char seven_seg10 = code unsigned char seven_seg10 = 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;void delay (void) /void
7、delay (void) /* * 时间延迟函数 * */ / unsigned char i,j;unsigned char i,j;for(i = 0;i 255;i+)for(i = 0;i 255;i+)for (j = 0;j 255;j+);for (j = 0;j 255;j+); void main (void)void main (void) unsigned char i; /unsigned char i; /* * 变量 i i 用来储存 09 09 * */ / /* *无穷循环 * */ /while (1)while (1) for (i = 0; i10; i+
8、)for (i = 0; i10; i+) 第10页/共14页P0 = seven_segi; /*输出09到共阳七段显示器*/delay(); /*调用时间延迟函数delay*/*/第11页/共14页二、程序说明 (1)当程序中使用常量数据时,如共阳数码管数字显示编码、液晶显示器的汉字编码等,一般希望这些数据当程序下载到单片机时存放在单片机的ROM区,对此类数据声明前面需要加上关键字code或const。 (2)本程序数码管显示使用了一个for循环,让变量i依次由0递增到9,并将数字显示码送到P0,需要注意seven_seg10 有10个数据,seven_seg0 为第一个数据,seven_seg9 为第10个数据。数码管显示数据的变第12页/共14页化时间由延时函数决定。for循环体嵌套在while循环体中,数码管会循环显示09,永不结束,除非电路断电。利用数码管也可以显示日期和时间,但是在本案例中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 优衣库工作制度
- 剔旧工作制度
- 2026 年中职工程测量(测量仪器操作)试题及答案
- 键盘的认识讲课方案
- 呼吸放松疗法方案
- 半导体纯水系统理论培训
- 选矿厂班组安全教育培训
- 幼儿园教师音乐课培训
- 平面设计构图培训【课件文档】
- 雨课堂学堂在线学堂云《农业经济学(甘肃农业)》单元测试考核答案
- 2026年浙江省十校联盟高三3月质量检测试题试英语试题试卷含解析
- 2026年春季人教版小学数学二年级下册教学计划(含进度表)
- 雨课堂学堂在线学堂云《导弹总体设计导论(国防科技)》单元测试考核答案
- 信息技术中考知识点(汇编册)
- 2025年高一政治上学期教学工作总结及2026年工作计划
- 精神卫生法知识课件
- 2025年包头钢铁职业技术学院单招职业适应性考试模拟测试卷附答案
- 楼顶发光字施工组织设计方案
- 2026年江苏建筑职业技术学院单招职业倾向性测试题库及答案详解1套
- 外墙镀锌穿孔板施工方案
- 郑钦文事迹介绍
评论
0/150
提交评论