proteus验证沿触发和不同方式对数码管的实现

上传人:cn****1 文档编号:455628925 上传时间:2022-08-07 格式:DOCX 页数:7 大小:225.42KB
返回 下载 相关 举报
proteus验证沿触发和不同方式对数码管的实现_第1页
第1页 / 共7页
proteus验证沿触发和不同方式对数码管的实现_第2页
第2页 / 共7页
proteus验证沿触发和不同方式对数码管的实现_第3页
第3页 / 共7页
proteus验证沿触发和不同方式对数码管的实现_第4页
第4页 / 共7页
proteus验证沿触发和不同方式对数码管的实现_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《proteus验证沿触发和不同方式对数码管的实现》由会员分享,可在线阅读,更多相关《proteus验证沿触发和不同方式对数码管的实现(7页珍藏版)》请在金锄头文库上搜索。

1、一. 上升沿卞降沿的判断:在很多实际应用中要检测是上升沿触发还是下降沿触发,我们这里用proteus来仿真测试一 下,选择一个波形发生器,比如下降沿的波形,也可以选上升沿的,设置好波形的周期,然 后观察一个周期内,LED灯珠的变化,这里没有画LED电路,因为proteus里面,管脚上电 平的高低变化可以通过边上的小点是红色还是蓝色来看,#in clude sbit PIO = P1AO;厂定义发光二极管LED端I I */ void main()ITO=1;/下降沿触发EXO=1;EA=1; void INTO_trigger(void) interrupt 0 P1O=-P1O;18U119

2、XTAL1POBDOP0.1AD1PD2D2XTAL2PD33D3 PD.UMH PDSWDSP0J&WD6RSTPO.7O7P2JQW8 P2 .问PSEiTALE EAP22A10 P2311 P2.MM2P2SW13P2J6AHP2.7A15P1IKT2P3ORXDP1.1/T2EXP3.1/TXOP12P321N1UP13P331NT1P1.4P3.4xraP1SP3STT1P1J6P36WRP17P3.7/RD-293D_3i:3二. 数码管138+164的实现方式实际应用中很多情况10 I I资源是有限的,在现实这一块需要尽量少占用10, 138+164的方 式可以用比较少的单片机

3、10去实现多段数码管显示,且显示上比较稳定,对及时性要求较 低,若用164+164,即用一片164替代138去做位选,也是可以的,但是实际有些情况下会 遇到问题,我们在做一个485通信的时候,当我们保证了数据的正确通信,却发现数码管会 有晃的现彖因为他们对时间都有要求,当然也可以考虑用573+164來做,我们在卞面再讲。 #include,reg52.hH#in clude,lintrins.hn#define uchar unsigned char#define uint unsigned intvoid delay_ms(uint);void Show_164(unsigned char)

4、;void delayms(uchar z);ucharcodetable=0Xc0/0Xf9,0Xa4/0Xb0/0X99/0X92/0X82,0Xf8/0X80/0X90/0X88/0X83/0Xc6/0Xal/0X86z0X8e/0XC7,0X92/0XCl/0Xat0XBF/0X90/0x40,0x08,0x12,0x06,0x47,0x06);ucharcodetablel=0x3f/0x06/0x5b/0x4t0x66/0x6d/0x7d/0x07z0x7t0x6f/0x77/0x7c/0x39/0x5e/0x79/0x71;uchar i;sbit DSA=P2A7;sbit C

5、P=P2A4;sbit Al=P0A0;sbit B1=POA1;void enablel()A1=O;B1=O;void enable2()A1=O;B1=1;void enable3()A1=1;B1=O;void enable4()void main()while(l)i+;if(j=16)i=0;Show_164(tablei); enablel(); delay_ms(100);Show_164(tablei+1); enable3(); delay_ms(100);Show_164(tablei+2); enable2(); delay_ms(100);Show_164(table

6、i+3); enable4(); delay_ms(100);void delay_ms(uint t)uint x,y;for(x=t;x0;x-) for(y=1000;y0;y-);void Show_164(unsigned char _ShowValue) unsigned char CountO; for(Count0=0;Count0=7;Count0+) if(_ShowValue &0x80)=0x80)DSA=1;elseDSA=0;_ShowValue=l;CP=O;_nop_();_nop_();CP=1; JUVCAAIC rc.iui 1 rC2ZI2XTXL2FC

7、3ZI3EFC.KIFOriWlTrw2CTA2P23TA10AlP2VA12CArimzrSOfAl PMWrantvc-ri trT7tzrj.irTxirixrSJMIHJP13FGifrrrHETtKC羞戈至車 聿TC-T- U4A. gC :KM*、卜*三. 数码管573+164的实现方式用两片锁存,一个反相器来减少对10丨1的占用,做到了尽少,但是器件相对增多,实际应 用中除非万不得已,一般不采用。#include,reg52.h#include,intrins.h,sbit DSA=P2A7;/P1A1;sbit CP= P2A4;/P1AO;sbit dw=PlA7;un si

8、gnedcharcodetable=0Xc0/0Xf9/0Xa4/0Xb0/0X99/0X92/0X82/0Xf8/0X80,0X90/0X88/0X83/0Xc6/0Xal/0X86z0X8etable=0x3f,0x06,0x5b/0x4f/0x66/0x6d/0x7d/0x07/0x7fz0x6f/0x77/0x7c/0x39,0x5e,0x79/0x71;*/void delay_ms(unsigned int);void Show_164(unsigned char);unsigned char izj;void main()while(l)i+;讦(i=10)i=0;j+;if(j

9、=16)j=0;dw=l;Show_164(0x01);dw=l;delay_ms(ll);dw=0;Show_164(tablej);dw=0;delay_ms(ll);/dw=l;Show_164(0x02);dw=l;delay_ms(ll);dw=0;Show_164(tablej);dw=0;delay_ms(ll);/dw=l;Show_164(0x04);dw=l;delay_ms(ll);dw=O;Show_164(tablej);dw=O;delay_ms(ll);/dw=l; Show_164(0x08);dw=l;delay_ms(ll);dw=O;Show_164(tablej);dw=O;delay_ms(ll);void Show_164(unsigned char _ShowValue) unsigned char CountO; for(Count0=0;Count00;x-) for(y=100;y0;y-);U6;A r r*C|T &IDXTAll 阿fUDADO ra.iwi nxaxDZ 0W 1004 R1WSD3 BMXX TCLlftOTP2X pnaa托tvAltgUM2巴细3 WMKK 刃 ZCMS1HT23azoi.i/T5e3 vry&i?2nrnjFJ3(WTfnorci防如M.1I36JCTTtftn - 14

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 电气技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号