- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目五 数码管显示控制
单片机应用技术 单片机应用技术 广西电力职业技术学院动力工程系 单片机应用技术 单片机应用技术 项目五 数码管显示控制 主讲:谢祥强 项目四 数码管显示 任务1 任务2 相关知识 相关知识 1.数码管的结构及原理 共阳极接法,公共端COM接+5V电源,当a,b,c,d,e,f,g,dp(h)接低电平时,就会亮起来。 共阴极接法是公共端接地,当a,b,c,d,e,f,g,dp(h)接高电平(+5V)时,就会起来。 数码管字型编码表 显示字符 共阳极数码管(输出0则亮) dp g f e d c b a 字型码 0 1 1 0 0 0 0 0 0 0XC0 1 1 1 1 1 1 0 0 1 0XF9 2 1 0 1 0 0 1 0 0 0XA4 3 1 0 1 1 0 0 0 0 0XB0 4 1 0 0 1 1 0 0 1 0X99 5 1 0 0 1 0 0 1 0 0X92 6 1 0 0 0 0 0 1 0 0X82 7 1 1 1 1 1 0 0 0 0XF8 8 1 0 0 0 0 0 0 0 0X80 9 1 0 0 1 0 0 0 0 0X90 共阴极数码管(输出1则亮) 显示数字 dp g f e d c b a 字形码 0. 1 0 1 1 1 1 1 1 0XBF 1. 1 2. 1 3. 1 4. 1 1 1 0 0 1 1 0 0XE6 5. 1 1 1 0 1 1 0 1 0XED 6. 1 1 1 1 1 1 0 1 0XFD 7. 1 0 0 0 0 1 1 1 0X87 8. 1 1 1 1 1 1 1 1 0XFF 9. 1 1 1 0 1 1 1 1 0XEF 四位数码管的结构 个位接P0.7:位选码;0X7F 十位接P0.6:位选码;0XBF 百位接P0.5:位选码;0XDF 千位接P0.4:位选码;0XEF 显示原理 四位数码管的a,b,c,d,e,f,g,dp(h)是公共接在P2口的 因数码管是共阳极接法,要显示数字,必须送出低电平的段码,然后再送出位选码。比如要在最右边(个位)显示数字“1”(b和c亮),应在在P2口送出段码,0XBD,然后使个位的三极管导通(输出0电平)。 d7 d6 d5 d4 d3 d2 d1 d0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 g c h d e f b a 1 0 1 1 1 1 0 1 显示字符 共阳极数码管(输出0则亮) P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 字型码 g c h d e f b a 0 1 0 1 0 0 0 0 0 0XA0 1 1 0 1 1 1 1 0 1 0XBD 2 0 1 1 0 0 1 0 0 0X64 3 0 0 1 0 1 1 0 0 0X2C 4 0 0 1 1 1 0 0 1 0X39 5 0 0 1 0 1 0 1 0 0X2A 6 0 0 1 0 0 0 1 0 0X22 7 1 0 1 1 1 1 0 0 0XBC 8 0 0 1 0 0 0 0 0 0X20 9 0 0 1 0 1 0 0 0 0X28 静态显示学习任务 在个位上先显示0,延时后再显示1,延时后再显示2,显示到9后再从0开始。 #includereg51.h #define uchar unsigned char #define uint unsigned int uchar ledg[10]={0XA0,0XBD,0X64,0X2C, 0X39,0X2A,0X22,0XBC, 0X20,0X28};//定义数组段码 void delay(unsigned int t)//延时函数 { uint i; for(;t0;t--) {for (i=1;i124;i++);} } void main() //下面是主函数 { uint y; for(y=0;y10;y++)//显示0~9 { P2=ledg[y];//P2口送显示段码(0~9) P0=0X7F;//P0口送位选码(个位) delay(800);//延时 } } 学习任务 1、在个位数码管上显示9~0的减1计数。 2、在十位数码管上显示0~9、A、b、C、D、E、F加1计数。 3、在千位数码管上显示F~0的减1计数。 任务2 多位数码管动态显示 动态显示原理: 利用人的视觉延滞感觉,通过扫描的方式显示不同数字,如要显示数字“26”的方法是先在个位显示“
原创力文档


文档评论(0)