计控实验报告LED动态显示_动态显示实验报告

2020-02-27 其他范文 下载本文

计控实验报告LED动态显示由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“动态显示实验报告”。

实验 LED动态显示

主要教学目标:

掌握LED动态显示的方法。

教学的方法及教学手段:讲授法,讨论法,练习法,实验法 教学重点及难点:LED动态显示 实验内容

1.LED用动态显示123456;

2.时间切换开关K1,可切换动态扫描时间间隔,1ms和50ms。

(一)作法

微型机定时地对显示器件扫描。

显示器件分时工作,每次只能有一个器件显示。1.LED用动态显示123456;

2.时间切换开关K1,可切换动态扫描时间间隔,1ms和50ms。

(二)1、8155 的PA口输出显示码,PB口用来输出位选码。

2、74LS07为 6 位驱动器,为LED提供一定的驱动电流3、8155的PB口经75452缓冲器/驱动器反向后,作为位控信号。

4、75452内部包括两个缓冲器/驱动器,它们各有两个输入端。

(三)显示原理1、8155初始化,建立显示缓冲区为 DISBUF, 存放待显示数据。

2、用软件译码法求出待显示的数对应的七段显示码,由PA口输出,并经过74LS07驱动后送到各显示器

3、由PB口输出位选码。各位从左至右依次显示,每个数码管显示1ms。显示完最后一位数后,再重复上述过程,(四)电路图

(五)参考程序 #include #include #include #define uint unsigned int #define uchar unsigned char /*8155控制字和PA,PB口地址定义*/ #define CON_8155 XBYTE[0x7F00] #define PA_8155 XBYTE[0x7F01] #define PB_8155 XBYTE[0x7F02] //数码管字型定义 uchar LEDDATA[]={

0x3F,/*0*/

0x06, /*1*/

0x5B, /*2*/

0x4F, /*3*/

0x66, /*4*/

0x6D, /*5*/

0x7D, /*6*/

0x07, /*7*/

0x7F, /*8*/

0x6F, /*9*/

0x77, /*A*/

0x7C, /*b*/

0x39,/*C*/

0x5E,0x79,0x71,};

/*d*/ /*E*/ /*F*/ //动态扫描时间间隔50ms标志位 bit g_delay50ms = 0;//函数原型声明 void Delay1ms(void);void Delay50ms(void);void main(){

uchar i, selectLED;IT0 = 1;EX0 = 1;EA = 1;CON_8155 = 0x03;selectLED = 0x20;while(1){

for(i=1;i

PA_8155 = LEDDATA[i];PB_8155 = selectLED;

//从8155 A口输出显示码

//PA口、PB口基本输入输出 //LED位选,从左到右扫描

//外部中断0,边沿触发

//从8155 B口输出位选码 //准备显示下一位 selectLED = _cror_(selectLED, 1);if(selectLED == 0x80){ }

if(g_delay50ms){ } else { } PB_8155=0x00;

//消隐 Delay1ms();

Delay50ms();

selectLED = 0x20;

//动态扫描时间间隔50ms

//动态扫描时间间隔1ms

} } }

void Int0(void)interrupt 0 { } void Delay1ms(void){ uchar i, j, k;for(j=142;j>0;j--)

for(i=1;i>0;i--)

} void Delay50ms(void){

unsigned char a,b;

for(b=173;b>0;b--)

for(a=143;a>0;a--);}

for(k=2;k>0;k--);g_delay50ms =!g_delay50ms;

《计控实验报告LED动态显示.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
计控实验报告LED动态显示
点击下载文档
相关专题 动态显示实验报告 实验报告 动态 LED 动态显示实验报告 实验报告 动态 LED
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文