找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 23740|回復(fù): 0
收起左側(cè)

單片機(jī)P2和P1口控制4位共陽(yáng)極LED數(shù)碼管動(dòng)態(tài)(快速)顯示字符“8.1:2 3”

[復(fù)制鏈接]
ID:83710 發(fā)表于 2015-6-23 21:41 | 顯示全部樓層 |閱讀模式

07:P2和P1口控制4位共陽(yáng)極LED數(shù)碼管動(dòng)態(tài)(快速)顯示字符“8.1:2 3”
;AS-02 MCU StudyBoard跳線(xiàn)設(shè)置:JP3、JP6跳左邊(LED數(shù)碼管供電工作,LED不供電),
;                          JP1和JP2空,其他JP跳線(xiàn)缺省跳右邊
;MCU的P2.0—P2.7分別接4位共陽(yáng)極LED數(shù)碼管的八個(gè)字段a—h
;P1.1、P1.2、P1.3、P1.4控制4位共陽(yáng)極LED數(shù)碼管千位、百位、十位和個(gè)位數(shù)碼管的供電,低電平時(shí)供電
;0,1,2...E,F共陽(yáng)顯示字段碼是C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
;MCS-51匯編語(yǔ)言程序,文件名:digisplay3.asm
;Protues7.2軟件虛擬仿真和AS-02 MCU StudyBoard硬件實(shí)驗(yàn)調(diào)試通過(guò),電子科技大學(xué)成都學(xué)院周密,20071015
;-----------------------------------------------------------------------------------------------
MAIN:  
MOV P1,#0FFH ;P1口為高電平,4位共陽(yáng)極LED數(shù)碼管不供電,關(guān)閉4位數(shù)碼管顯示。
      
START:
CLR P1.1     ;P1.1口為低電平,千位共陽(yáng)極LED數(shù)碼管供電顯示,百位、十位和個(gè)位數(shù)碼管不供電關(guān)閉顯示。  
MOV P2,#00H  ;向P2口送8.字段碼,顯示8.
LCALL DELAY  ;調(diào)用延時(shí)子程序,延時(shí)2ms。LCALL(Long Call)長(zhǎng)調(diào)用指令(見(jiàn)P116)
SETB P1.1    ;P1.1口為高電平,關(guān)閉千位共陽(yáng)極LED數(shù)碼管供電。

  CLR P1.2     ;P1.2口為低電平,百位共陽(yáng)極LED數(shù)碼管供電顯示,千位、十位和個(gè)位數(shù)碼管不供電關(guān)閉顯示。
  MOV P2,#0F9H ;向P2口送1字段碼,顯示1
  LCALL DELAY  ;調(diào)用延時(shí)子程序,延時(shí)2ms。LCALL(Long Call)長(zhǎng)調(diào)用指令(見(jiàn)P116)
  SETB P1.2    ;P1.2口為高電平,關(guān)閉百位共陽(yáng)極LED數(shù)碼管供電。

  CLR P1.3     ;P1.3口為低電平,十位共陽(yáng)極LED數(shù)碼管供電顯示,千位、百位和個(gè)位數(shù)碼管不供電關(guān)閉顯示。
  MOV P2,#0A4H ;向P2口送2字段碼,顯示2
  LCALL DELAY   ;調(diào)用延時(shí)子程序,延時(shí)2ms。LCALL(Long Call)長(zhǎng)調(diào)用指令(見(jiàn)P116)
  SETB P1.3    ;P1.3口為高電平,關(guān)閉十位共陽(yáng)極LED數(shù)碼管供電。

  CLR P1.4     ;P1.4口為低電平,個(gè)位共陽(yáng)極LED數(shù)碼管供電顯示,千位、百位和十位數(shù)碼管不供電關(guān)閉顯示。
  MOV P2,#0B0H  ;向P2口送3字段碼,顯示3
  LCALL DELAY  ;調(diào)用延時(shí)子程序,延時(shí)2ms。LCALL(Long Call)長(zhǎng)調(diào)用指令(見(jiàn)P116)
  SETB P1.4    ;P1.4口為高電平,關(guān)閉個(gè)位共陽(yáng)極LED數(shù)碼管供電。

  MOV P1,#0F2H ;顯示冒號(hào):11110010B
  MOV P2,#0FFH ;         11111111B
  LCALL DELAY   ;調(diào)用延時(shí)子程序,延時(shí)2ms。LCALL(Long Call)長(zhǎng)調(diào)用指令(見(jiàn)P116)

  MOV P1,#0FFH
  LCALL DELAY  ;調(diào)用延時(shí)子程序,延時(shí)2ms。LCALL(Long Call)長(zhǎng)調(diào)用指令(見(jiàn)P116)
  LJMP  START   

DELAY:  MOV R5,#04H   ;延時(shí)子程序
DELAY1: MOV R6,#0F0H  ;實(shí)際延時(shí)2.10177ms,估算是(4X240)X(2X1.085)us= 2.0832 (ms)
DELAY2: DJNZ R6,DELAY2
              DJNZ R5,DELAY1
              RET
             END





/*-----------------------------------------------------------------------------------------------
實(shí)驗(yàn)07:P2和P1口控制1位共陽(yáng)極LED數(shù)碼管動(dòng)態(tài)(快速)顯示字符“0 1 2 3”
AS-02 MCU StudyBoard跳線(xiàn)設(shè)置:JP3、JP6跳左邊(LED數(shù)碼管供電工作,LED不供電),
                           JP1和JP2空,其他JP跳線(xiàn)缺省跳右邊
MCU的P2.0—P2.7分別接4位共陽(yáng)極LED數(shù)碼管的八個(gè)字段a—h
P1.1、P1.2、P1.3、P1.4控制4位共陽(yáng)極LED數(shù)碼管千位、百位、十位和個(gè)位數(shù)碼管的供電,低電平時(shí)供電
0,1,2...E,F共陽(yáng)顯示字段碼分別是0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,
                                0x83,0xC6,0xA1,0x86,0x8E
Cx51語(yǔ)言程序,文件名:digisplay3.c
Protues7.1軟件虛擬仿真和AS-02 MCU StudyBoard硬件實(shí)驗(yàn)調(diào)試通過(guò),電子科技大學(xué)成都學(xué)院周密,20070924
-----------------------------------------------------------------------------------------------*/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit P11=P1^1;  //KEIL Cx51提供的關(guān)鍵字“sbit”定義某些特殊位,格式:sbit 位變量名=位地址
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
void delay(uint x)         //延時(shí)函數(shù)。x=1時(shí)延時(shí)是1ms
{
uchar  j=0;            //根據(jù)匯編代碼分析表明,用j進(jìn)行的內(nèi)部循環(huán)大約延時(shí)8us(12MHz)
while(x--)
{
  for(j=0;j<113;j++) //125應(yīng)根據(jù)實(shí)驗(yàn)進(jìn)行補(bǔ)償調(diào)整為113(11.0592MHz)
  {;}
}
}
void main()       //主函數(shù)
{
P11=0;    //千位顯示。P1.1控制4位共陽(yáng)極LED數(shù)碼管千位數(shù)碼管的供電,低電平時(shí)供電
P2=0xC0;   //顯示0。   0的共陽(yáng)顯示字段碼是0xC0
delay(10);//調(diào)延時(shí)函數(shù),延時(shí)10ms
P11=1;    //關(guān)閉千位顯示。P1.1控制4位共陽(yáng)極LED數(shù)碼管千位數(shù)碼管的供電,高電平時(shí)不供電

P12=0;    //百位顯示。P1.2控制4位共陽(yáng)極LED數(shù)碼管百位數(shù)碼管的供電,低電平時(shí)供電
P2=0xF9;   //顯示1。 1的共陽(yáng)顯示字段碼是0xF9
delay(10);//調(diào)延時(shí)函數(shù),延時(shí)10ms
P12=1;    //關(guān)閉百位顯示。P1.2控制4位共陽(yáng)極LED數(shù)碼管百位數(shù)碼管的供電,高電平時(shí)不供電

P13=0;    //十位顯示。P1.3控制4位共陽(yáng)極LED數(shù)碼管十位數(shù)碼管的供電,低電平時(shí)供電
P2=0xA4;   //顯示2
delay(10);
P13=1;
   
P14=0;    //千位顯示。P1.4控制4位共陽(yáng)極LED數(shù)碼管個(gè)位數(shù)碼管的供電,低電平時(shí)供電
P2=0xB0;   //顯示3
delay(10);
P14=1;
}






回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表