单片机基础及应用项目三单片机显示器的设计与制作.ppt

单片机基础及应用项目三单片机显示器的设计与制作.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2.2数码管动态显示接口电路设计 电路设计如下:4位一体式数码管的段选端(a,b,c,d,e,f,g,dp)连接74HC245的B输出端,74HC245的 接地,DIR引脚接VCC,74HC245的A输入端接单片机的I/O口。4位一体式数码管的位选端(com1\com2\com3\ com4)通过三极管驱动,三极管选择PNP型8550,三极管的基极接单片机,发射极接VCC,集电极接数码管的位选端,接口电路设计如下图所示。 3.2.3数码管动态显示电路焊接 1.准备元器件及工具 序号 电路组成 元件名称 规格或参数 数量 1 最 小 控 制 系 统 电阻 10K 2个 2 排阻 10K 1个 3 电解电容 10uF 1个 4 瓷片电容 30pF 2个 5 晶振 12MHz 1个 6 万用板 5*7cm 1块 7 DIP40锁紧座 40PIC 1个 8 常开轻触开关 6*6*5微动开关 1个 9 发光二极管 3mm红色 1个 10 自锁开关 8*8 1个 11 USB插座 A母 1个 12 排针 40针 1个 13 晶振底座 3针圆孔插座 1个 14 焊接工具 焊烙铁 5W外热 1把 15 焊锡丝 0.8mm 若干 16 斜口钳 尺寸5 1把 17 镊子 尖咀特强型ST-16 1个 18 吸锡器 1把 19 外围电路 4位8段数码管 Ark SR410401N 1个 20 限流电阻 220Ω 12个 21 三极管 PNP(8550) 4个 22 总线收发器 74HC245 1个 23 DIP20锁紧座 20PIC 1个 24 排针 40针 1条 25 万用板 5*7cm 1个 3.2.3数码管动态显示电路焊接 2.检测元器件 数码管动态显示接口电路新增3类元器件:4位8段数码管、PNP三极管、总线收发器74HC245。焊接电路之前需对这3类元器件进行检测,检测任务包括: 确定4位数码管是共阳极还是共阴极,4位数码管每个引脚定义。 确定三极管是PNP管还是NPN管,三极管的引脚每个引脚的定义,并确定三极管的放大倍数。 根据数据手册,确定芯片74HC245的引脚定义。 3.2.3数码管动态显示电路焊接 3.焊接电路 3.2.4编程实现数码管动态显示字符“1234” 1.编程任务 编程实现4位一体式数码管同时显示字符“1234”。 2.编程思路 数码管同时显示字符“1234”,首先P2.0输出低电平,P2.1输出高电平,P2.2输出高电平,P2.3输出高电平,选中左边第一位数码管,其他右边三个数码管未选中,P0输出字符“1”的字形码,左边第一位数码管显示字符“1”。延时一段时间,紧接着P2.0输出高电平,P2.1输出低电平,P2.2输出高电平,P2.3输出高电平,选中左边第二位数码管,其他三个数码管未选中,P0输出字符“2”的字形码,第二位数码管显示字符“2”。延时一段时间,紧接着P2.0输出高电平,P2.1输出高电平,P2.2输出低电平,P2.3输出高电平,选中左边第三位数码管,其他三个数码管未选中,P0输出字符“3”的字形码,第三位数码管显示字符“3”。延时一段时间,紧接着P2.0输出高电平,P2.1输出高电平,P2.2输出高电平,P2.3输出低电平,选中左边第四位数码管,其他三个数码管未选中,P0输出字符“4”的字形码,第四位数码管显示字符“4”,延时时间在1ms~4ms。 3.2.4编程实现数码管动态显示字符“1234” #include reg52.h void delay(unsigned int i); unsigned char code duanxuan[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; unsigned char code weixuan[] = {0xfe,0xfd,0xfb,0xf7}; void main() { while(1) {P0=duanxuan[1]; P2=weixuan[0]; delay(1); P0=duanxuan[2]; P2=weixuan[1]; delay(1); P0=duanxuan[3]; P2=weixuan[2]; delay(1); P0=duanxuan[4]; P2=weixuan[3]; delay(1); }} void delay(unsigned int i) { unsigned char j;

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档