叫这个。。。 傻了 看成protues了
先画出元件的引脚图在用表框来标出元件的封装信息(各个环境下原件的运行状态,七段数码显示管的应该就各引脚所对应的是显示到或显示不到这些吧)这里有个TLC2652的封装形式给你参考一下 http://www.autooo.net/e/Do
本制作主要通过对置零复位法的应用,将十六进制74LS161芯片构成(00——59)六十进制的分、秒计数器和(00——23)二十四进制的时计数器;并将“时”、“分”、“秒”计数器的输出状态进行七段显示译码器译码,由数码管
如果是7段数码管,在原理图,99se在Miscellaneous Devices.lib库里找7-SEG就可以找到原理图的封装,其实原理图的封装随便你怎么画,只要信号和引脚对了就行了 PCB的封装你最好看看你选的数码管的datasheet,这个可是不能错的
先说共阴极四位七段数码管的原理图库,protei99se的Miscellaneous Devices库里没有现成的,只有单个的,也没有共阴引脚。其元件名为DPY _7-SEG或DPY _7-SEG-DP。你可试一试自己复制、修改,很容易的。或者,添加仿真库C:\
比如是LED1602的 数码管 你可以从网上下载一个 它的PDF文件 看所有引脚的属性 比如名字 位置啥的。 自己新建一个PCB库以后,可以画出来,引脚和LED都可以用绘图工具弄出来,引脚的名字和编号都要编辑好 ,然后你保存到LIBR
如何用protel99SE制作一个七段数码管?
LED_BUFEQU 50H ;显示数据首址 COUNTER_INT EQU 3BH ;中断计数器 SECOND EQU 3DH ;秒单元 ;=== ;常数定义 ;=== CN_COUNT_INT EQU 100 ;10ms * 100 = 1S SET_MODELEQU 0FFH ;完全译码模式 SET
} while(P3_5==0);} } } } void t0(void) interrupt 1 using 0 { tcnt++;if(tcnt==4000){ tcnt=0;second++;if(second==100){ second=0;} P1=dispcode[second/10];P2=dispcode[second%10];} }
;程序如下:;fosc = 11.0592MHz SP1 BIT P3.2 LED BIT P3.4 ;--- ORG 0000H SJMP START ORG 000BH MOV TH0, #4CH JNB F0, T0_END DJNZ R5, T0_END MOV R5, #20 INC R4
数字秒表是以0.01S为最小定时单位的定时器,可以利用51单片机自身所具有的16位定时/计数器实现0.01S定时,每0.01S定时到,修改显示值,送4位LED显示。本课题需用4个LED数码管显示秒表值,并且需启动、暂停、复位等控制键。在Dais-52PH+单
用AT89C51设计一个2位的LED数码显示作为“秒表”,这应该是一个仿真题,可用两位一体的共阴数码管,用定时器T0定时,得到1秒计时。
//12M晶振。2位共阳数码管,P0为段码,P2.2、P2.3位控 //2011 05 07 三个按键:开始 P2.0 暂停 P2.1 清零 P2.2 include
EA = 1;ET0 = 1;TR0 = 1;} void timer0() interrupt 1 { TH0 = (65536 - 50000)/256;TL0 = (65536 - 50000)%256;aa ++;}
学校的课程设计,用proteus单片机和keil设计一个LED数码管显示的秒表,如下
步骤:1.在proteus软件中画出原理图,单片机选用AT89C51,参考原理图如图2所示。2.在keil中编程,并使用keil提供的调试窗口调试程序。3.生成hex文件,下载到proteus原理图中运行。 图2 数码管静态显示电路图将调试好的源程序写在下面:数码管
为了找到Proteus中7段数码管显示的模型,只需在组件搜索框中输入要搜索的模型的前4个关键字,然后选择列表中的特定模型。7段数码管显示器由发光二极管组成,通过不同的组合可以显示0—9、A—F和小数点等字符。它可以分为两
实例6:使用P3口流水点亮8位LED 实例7:通过对P3口地址的操作流水点亮8位LED 实例8:用不同数据类型控制灯闪烁时间 实例9:用P0口、P1 口分别显示加法和减法运算结果 实例10:用P0、P1口显示乘法运算结果 实例11:用P1
这个显示的设置方法如下:1、打开Proteus软件,选择“ISISSchematicCapture”模式,然后从元件库中拖拽一个8位共阳数码管和一个计数器(例如74HC161)到画布上。2、连接8位共阳数码管的引脚和计数器的引脚。3、双击时钟信号源
unsigned char code LEDDisplay[] = { 0x3F, // 0 0x06, // 1 0x5B, // 2 0x4F // 3 };sbit DIO = P1^0; // 串行数据输入 sbit RCLK = P1^1; // 数据锁存时钟 sbit SCLK = P1^2;
include
使用模拟软件Proteus,绘制一个单片机系统,用LED数码管, 能循环显示12个不同的数字。
如,先输出第一个数码管显示的段码,再输出第一位数码管阳极有效的位码,只有这一个阳极为1。延时,再依次输出后面的数码管显示的段码和位码。这样不断循环显示才行的。但显示每一位的延时不能太长了,如你这个延时子
首先,在元器件库里边查找到数码管,在元器件查找浏览器(点击P即可打开)中输入*7seg*,其中‘*’为通配符,代表任何字符或者字符串;7seg为数码管在proteus中的名字的一部分,点击Enter确认即可找到如附件所示的数码管列表。
在proteus中找7段数码管显示器型号时,只需要在元件搜索框中输入需要查找的型号前4位关键字,接着在列表中选择具体需要的型号即可。7段数码管显示器由发光二极管构成,通过不同的组合可以显示0~9,A~F和小数点等字符。分
从而实现四位数码管的显示,由此也可推出多位数码管显示的原理。2Proteus仿真电路图 在这里插入图片描述 此实验用到的是一个共阴极数码管 3所用元器件图 在这里插入图片描述 4C51代码 include
在Proteus仿真环境中,可以使用计数器(Counter)和分频器(Divider)来模拟显示秒数的两位数码管。具体实现方法如下:1、首先,在Proteus中打开工作区,从左侧工具栏中选择“MCUControl”下的“Counter”和“Divider”组件,并
为了找到Proteus中7段数码管显示的模型,只需在组件搜索框中输入要搜索的模型的前4个关键字,然后选择列表中的特定模型。7段数码管显示器由发光二极管组成,通过不同的组合可以显示0—9、A—F和小数点等字符。它可以分为两
这个显示的设置方法如下:1、打开Proteus软件,选择“ISISSchematicCapture”模式,然后从元件库中拖拽一个8位共阳数码管和一个计数器(例如74HC161)到画布上。2、连接8位共阳数码管的引脚和计数器的引脚。3、双击时钟信号源
怎么用proteus做出数码管的显示?
#include #define uint unsigned int#define uchar unsigned char uchar code table[]={ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88,0x83 ,0xc6 , 0xa1, 0x86 , 0x8e , 0xff }; sbit dula=p2^6; sbit wela=p2^7; uint t0,bai,shi,ge; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void init(); void display(uint,uint,uint); void main() { init(); while(1) { display(bai,shi,ge); } } void init() { tmod=0x01; th0=(65536-10000)/256; tl0=(65536-10000)%256; ea=1; et0=1; tr0=1; } void time0() interrupt 1 { th0=(65536-10000)/256; tl0=(65536-10000)%256; t0++; if(t0==1000) { t0=0; } bai=t0/100; shi=t0%100/10; ge=t0%10; } void display(uint bai,uint shi,uint ge) { dula=1; p0=table[bai]; dula=0; p0=0x00; wela=1; p0=0x01; wela=0; delay(1); dula=1; p0=table[shi]; dula=0; p0=0x00; wela=1; p0=0x02; wela=0; delay(1); dula=1; p0=table[ge]; dula=0; p0=0x00; wela=1; p0=0x04; wela=0; delay(1); }你仔细观察一下数码管显示的情况,是没有稳定显示还是显示的不正常。 是不是把共阴共阳弄反了,造成字段码表和电路不对应。还有就是检查走线。
是要画仿真图吗?设定值怎么设置,也用一个按纽吗?
//Timer0 void Timer0_Init(void) { EA=1; TMOD=0x01; ET0=1; TH0=(65535-10000)/256; TL0=(65535-10000) %256; //赋初值,10ms中断一次,即0.01秒 TR0=1; } void Timer0(void) interrupt 1 { TH0=(65535-10000)/256; TL0=(65535-10000) %256; t++;