数码管显示程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数码管接线模块图
+5V GND
MCU04 显示模块 数码管
CS1 CS2 WR
D0~D7
MCU02 电源模块
+5V GND P0口 +5V GND P2.7 P2.6 P2.5
MCU01 主机模块
数码管程序
#include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define port P0 sbit cs1=P2^7; sbit cs2=P2^6; /*位定义 sbit wr =P2^5; uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xff}; /* 字形编码表 0~9 灭 uchar disbuf[]={0,1,2,3,4,5,6,7}; 延时函数: void delay(uint i) { while(i--) }
数码管显示程序设计
8个七段数码管 3个控制信号 cs1 cs2 wr 8个插孔 和2个排线 插口
数码百度文库显示原理
LED数码管由7段或8段发光二极管组成,在平面上排成8 字型。分类:有共阴极和共阳极两种。显示原理:使某些 段点亮而另一些段不亮就可以显示0---9,A---F等字型。 有共阴极和共阳极两种接法
数码管程序
显示子函数 void display() { uchar i p=0x7f; for(i=0;i<8;i++) { cs1=0;cs2=1; port=tab[disbuf[i]]; wr=1;wr=0; cs1=1;cs2=0; port=p;wr=1;wr=0; delay(100); p=_cror_(p,1); cs1=cs2=0; port=0xff;wr=1;wr=0; } } 主函数 void main() { while(1) {display()} }
数码管编程方法
YL-236试验台Led数码管采用共阳极的接法,它由8位构成。其段由 74HC377锁存芯片U3驱动,其位由74HC377锁存芯片U2经三极管放大 驱动。段和位的数据都来自于数据总线D0~D7。控制端CS1,CS2分别选 中U3和U2,通过锁存脉冲WR将数据送到U3,U2的Q端,且低电平信号有 效。
数码管程序
显示子函数 void display() { uchar i p=0x7f; for(i=0;i<8;i++) { cs1=0;cs2=1; port=tab[disbuf[i]]; wr=1;wr=0; cs1=1;cs2=0; port=p;wr=1;wr=0; delay(100); p=_cror_(p,1); cs1=cs2=0; port=0xff;wr=1;wr=0; } LOGO } 主函数 void main() { while(1) {display()} }
动态扫描的的基本流程:(从高位到低位的扫描) 1. 送段码 送高位的段码到总线 拉低CS1,置位CS2。(CS1=0,CS2=1) 用WR发送锁存脉冲信号。(WR=1) 2.送位码 送8位数据到总线 拉低CS 2,置位CS1.(CS1=1,CS2=0) 用WR发送锁存脉冲信号,第一位数码管点亮。(WR=1) 3. 稍作延迟(用延迟函数完成) 4 .关闭三极管数据总线,并关闭相应的三极管,完成一位的显 示。 5. 循环1~4,直到8位轮流显示。
数码管程序
显示子函数 void display() { uchar i p=0x7f; for(i=0;i<8;i++) { cs1=0;cs2=1; port=tab[disbuf[i]]; wr=1;wr=0; cs1=1;cs2=0; port=p;wr=1;wr=0; delay(100); p=_cror_(p,1); cs1=cs2=0; port=0xff;wr=1;wr=0; } LOGO } 主函数 void main() { while(1) {display()} }