ä¸è¬æ¯è¦åºç¨è½¯ä»¶å®ç°çï¼æä¸æ¬¾showçµåèµè®¯åå¸ç³»ç»ï¼å¾å¼ºå¤§ï¼å¯ä»¥æ室å¤å
¨å½©å±ï¼å¾æè§é¢é½å¯ä»¥ï¼æççæ¯å®å¯ä»¥å¤ç¹èç½åæ¥å®ç°ï¼èä¸å¯ä»¥åçµè§ä¸æ ·ç¼è¾èç®åä»ä¹ï¼å¾å¥½ç¨ï¼ä¸è¿æ¯æ¶è´¹çå¦ï¼ï¼ï¼
æ§å¶ç³»ç»éé¢è®¾ç½®ï¼æçæè¿ä¸ªé项ï¼å¾ä¸å°±å¯ä»¥å¾ªç¯ï¼æ²¡æè¿ä¸ªé项çä¸è¬é½è¿è°æ´æåçææ¾æ¶é´ï¼ä½¿ä¹å¾ªç¯ææ¾ï¼æ»ä¹ï¼åºæ¬ä¸ææçæ§å¶ç³»ç»é½æè¿ä¸ªåè½ã建议å¤å¤çä¸ä½ æ¾ç¤ºå±ä¾åºåç»ä½ æä¾ç使ç¨è¯´æ书ã
t;
#include "toppic.h"
unsigned int num=0;
void LED4_display(unsigned int i);
void PIC18F_High_isr(void);/*ä¸ææå¡å½æ°å£°æ*/
void PIC18F_Low_isr(void);
#pragma code high_vector_section=0x8
/*é«ä¼å
级ä¸æååºæ¶ï¼ä¼èªå¨è·³è½¬å°0x8å¤*/
/*å©ç¨é¢å¤çå¨æ令#pragma codeæ¥æå®åé¢çç¨åºå¨ROMä¸çèµ·å§å°å为0x08ï¼*/
/*å®æ¯åè¯è¿æ¥å¨å®ä½å°ç¹å®ç代ç 段ï¼HIGH_INTERRUPT_VECTOR æ¯è¯¥ç¹å®ä»£ç 段ç段å*/
void high_vector (void)
{
_asm goto PIC18F_High_isr _endasm/*éè¿ä¸æ¡è·³è½¬æ令(æ±ç¼æ令ï¼ï¼è·³è½¬å°ä¸ææå¡å½æ°ï¼ä¸ææå¡ç¨åºï¼å¤*/
}
#pragma code low_vector_section=0x18
/*ä½ä¼å
级ä¸æååºæ¶ï¼ä¼èªå¨è·³è½¬å°0x18å¤*/
void low_vector (void)
{
_asm goto PIC18F_Low_isr _endasm
}
#pragma code
/*è¿æ¡è¯å¥ä¸æ¯å¤ä½çï¼å®æ¯åè¯è¿æ¥å¨åå°é»è®¤ç代ç 段ï¼*/
/*å¦æä¸å çè¯ï¼è¿æ¥å¨å°±ä¼å»å»å°æåé¢ç代ç ç´§è·çä¸é¢ç代ç ä¸ç´æ¾ä¸å»ã*/
/*è18f4520.lkræ件éå®ä¹äºåéåºå°åæå¤å°0x29ï¼æ以å¦æ没å æ¤å¥é常ä¼æ¥é*/
/*---é«ä¼å
级ä¸ææå¡ç¨åº---*/
#pragma interrupt PIC18F_High_isr
/*å©ç¨é¢å¤çå¨æ令#pragma interruptæ¥å£°æåé¢çå½æ°æ¯ä½ä¼å
级ä¸ææå¡å½æ°ï¼ä¸ææå¡ç¨åºï¼ï¼*/
/*注æï¼å
³é®åæ¯interruptï¼åä½ä¼å
级ä¸ææ¶ä¸å*/
/*ä¸æ¦æå®åé¢çå½æ°æ¯ä½ä¼å
级ä¸ææå¡ç¨åºï¼ç³»ç»å¨è¿å
¥è¯¥å½æ°æ¶ï¼ä¼èªå¨ä¿æ¤ç°åºï¼éåºåèªå¨æ¢å¤ç°åºï¼*/
/*åæ¶ä¸ææå¡ç¨åºæ§è¡å®æ¯åï¼ä¼èªå¨è¿åæç¹,*/
/*ä¸ææå¡å½æ°åå¿
é¡»å 该è¯å¥*/
void PIC18F_High_isr (void)
{
TMR0H=0X67;/*TMR0ç½®åå¼,å
åé«åèï¼ååä½åè*/
TMR0L=0X69;
num++;
if (num>9999) num=0;
INTCONbits.TMR0IF=0;/*TMR0溢åºæ å¿æ¸
é¶*/
}
/*---ä½ä¼å
级ä¸ææå¡ç¨åº---*/
#pragma interruptlow PIC18F_Low_isr
/*注æï¼å
³é®åæ¯interruptlowï¼åé«ä¼å
级ä¸ææ¶ä¸å*/
void PIC18F_Low_isr (void)
{
}
void main(void)/*主å½æ°*/
{
RCONbits.IPEN=1; /*使è½ä¸æä¼å
级*/
toppic_init();/*TOPPICå¼åæ¿åå§å*/
T0CON=0b00000101;/*TMR0设置ï¼åæ¢è¿è¡ã16ä½å®æ¶ï¼é¢åé¢1:64*/
TMR0H=0X67;/*TMR0ç½®åå¼,å
åé«åèï¼ååä½åè*/
TMR0L=0X69;
INTCONbits.TMR0IE=1;/*å
许Timer0溢åºä¸æ*/
T0CONbits.TMR0ON=1;/*å¯å¨TMR0*/
INTCONbits.GIE=1;/*å¼å
¨å±ä¸æ*/
while(1)
{
LED4_display(num);/*å®æ4ä½æ°ç 管çä¸æ¬¡å¨ææ«æ*/
}
}
/*0-Få
±é´åå½¢ç 表*/
const rom uchar DB[17]={0x3f , 0x06 , 0x5b , 0x4f , 0x66 ,
0x6d ,0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,
0x39 , 0x5e , 0x79 , 0x71 , 0x00};
void LED4_display(unsigned int i)
{
unsigned int a,bit1000,bit100,bit10,bit1;
a=i;
bit1000=a/1000;//æååä½
a=a%1000;
bit100=a/100;//æåç¾ä½
a=a%100;
bit10=a/10;//æååä½
bit1=a%10;//æå个ä½
COL4=0;
PORTD=DB[bit1];
COL1=1; //个ä½çä½é
delayms(5);/*延æ¶5mS*/
COL1=0;
PORTD=DB[bit10];
COL2=1; //åä½çä½é
delayms(5);/*延æ¶5mS*/
COL2=0;
PORTD=DB[bit100];
COL3=1; //ç¾ä½çä½é
delayms(5);/*延æ¶5mS*/
COL3=0;
PORTD=DB[bit1000];
COL4=1; //åä½çä½é
delayms(5);/*延æ¶5mS*/
}
å¦å¤,èæºå¢ä¸äº§åå¢è´,è¶
级便å®
LEDæ¾ç¤ºå±ä½ä¸ºæ·å¤å¤§å±çé¢å¯¼è
ï¼æ¾ç¤ºæ§è½ä»¥é«æ¸
ï¼è²å½©ä¸°å¯ï¼é«äº®åº¦ï¼ç»´æ¤ç®åçç¹ç¹ï¼åå°å¸åºéçãèæ±åæ¯æ常ç¨æåä¹ä¸ãä¸é¢ç»å¤§å®¶å±ç¤ºLEDæ¾ç¤ºå±æ±åç设计è¿ç¨åæ¹æ¡ã
ããLEDæ¾ç¤ºå±æ¯å©ç¨åå
äºæ管ç¹éµæ¨¡åæåç´ åå
ç»æçå¹³é¢å¼æ¾ç¤ºå±å¹ãå®å
·æåå
çé«ã使ç¨å¯¿å½é¿ãç»æçµæ´»ãè²å½©ä¸°å¯ä»¥å对室å
å¤ç¯å¢éåºè½å强çä¼ç¹ã并广æ³çç¨äºå
¬äº¤æ±½è½¦ãååºãä½è²åºé¦ã车ç«ãå¦æ ¡ãé¶è¡ãé«éå
¬è·¯çå
Œ
±åºæçä¿¡æ¯åå¸å广åå®£ä¼ ãLEDæ¾ç¤ºå±åå±è¾å¿«ï¼æ¬æ讲述äºåºäºAT89C51åçæº16Ã16LEDæ±åç¹éµæ»å¨æ¾ç¤ºçåºæ¬åçã硬件ç»æä¸è®¾è®¡ãç¨åºç¼åä¸è°è¯ãProteus软件仿ççåºæ¬ç¯èåç¸å
³ææ¯ã
ãã1 硬件çµè·¯ç»æåå·¥ä½åç
ããæ¬äº§åéç¨ä»¥AT89C51åçæºä¸ºæ ¸å¿è¯çççµè·¯æ¥å®ç°ï¼ä¸»è¦ç±AT89C51è¯çãæ¶éçµè·¯ãå¤ä½çµè·¯ãåæ«æ驱å¨çµè·¯(74HCl54)ã16Ã16LEDç¹éµ5é¨åç»æï¼å¦å¾1æ示ãå
¶ä¸ï¼AT89C51æ¯ä¸ç§å¸¦4kBéªçå¯ç¼ç¨å¯æ¦é¤åªè¯»åå¨å¨(Falsh Programmable and Erasable Read OnlyMemoryï¼FPEROM)çä½çµåãé«æ§è½CMOSå8ä½å¾®å¤çå¨ï¼ä¿ç§°åçæºã该å¨ä»¶éç¨ATMELé«å¯åº¦éæ失åå¨å¨å¶é ææ¯å¶é ï¼å·¥ä¸æ åçMCSä¸5læ令éåè¾åºç®¡èç¸å
¼å®¹ãç±äºå°å¤åè½8ä½CPUåéªçåå¨å¨ç»åå¨å个è¯çä¸ï¼è½å¤è¿è¡1 000次å/æ¦å¾ªç¯ï¼æ°æ®ä¿çæ¶é´ä¸º10å¹´ãä»æ¯ä¸ç§é«æå¾®æ§å¶å¨ï¼ä¸ºå¾å¤åµäººå¼æ§å¶ç³»ç»æä¾äºä¸ç§çµæ´»æ§é«ä¸ä»·å»çæ¹æ¡ãå æ¤ï¼å¨æºè½åçµå设计ä¸å¶ä½è¿ç¨ä¸ç»å¸¸ç¨å°AT89C51è¯çãæ¶éçµè·¯ç±AT89C5lç18ï¼19èçæ¶é端(XTAI låXTAL2)以å12 MHzæ¶æ¯Xãçµå®¹C2ãC3ç»æï¼éç¨çå
æ¯è¡æ¹å¼ãå¤ä½çµè·¯éç¨ç®æçä¸çµå¤ä½çµè·¯ï¼ä¸»è¦ç±çµé»Rï¼R2ï¼çµå®¹Cï¼å¼å
³Kç»æï¼åå«æ¥è³AT89C51çRSTå¤ä½è¾å
¥ç«¯ãLEDç¹éµæ¾ç¤ºå±éç¨16Ã16å
±256ä¸ªè±¡ç´ çç¹éµï¼å¯éè¿ä¸ç¨è¡¨æ£æµåå
äºæ管çæ¹æ³æµè¯å¤æåºè¯¥ç¹éµçå¼èåå¸ã
ããæ们æè¡åæ»çº¿æ¥å¨åçæºçI/0å£ï¼ç¶åæä¸é¢åæå°çæ«æ代ç éå
¥æ»çº¿ï¼å°±å¯ä»¥å¾å°æ¾ç¤ºçæ±åäºãä½æ¯è¥å°LEDç¹éµçè¡å端å£å
¨é¨ç´æ¥æ¥å
¥89S5 1åçæºï¼åéè¦ä½¿ç¨32æ¡I/0å£ï¼è¿æ ·ä¼é æI/0å£èµæºçèå°½ï¼ç³»ç»ä¹åæ æ©å
çä½å°ãå æ¤ï¼æ们å¨å®é
åºç¨ä¸åªæ¯å°LEDç¹éµç16æ¡è¡çº¿ç´æ¥æ¥å¨P0å£åP2å£ï¼è³äºåéæ«æä¿¡å·åæ¯ç±4â16线è¯ç å¨74HCl54æ¥éæ©æ§å¶ï¼è¿æ ·ä¸æ¥åéæ§å¶åªä½¿ç¨äºåçæºç4个I/Oå£ï¼è约äºå¾å¤I/Oå£èµæºï¼ä¸ºåçæºç³»ç»æ©å
使ç¨åè½æä¾äºæ¡ä»¶ãèèå°P0å£å¿
é设置ä¸æçµé»ï¼æ们éç¨4.7 kΩæçµé»ä½ä¸ºä¸æçµé»ãæ±åæ«ææ¾ç¤ºçåºæ¬è¿ç¨æ¯è¿æ ·çï¼éçµåç±äºçµé»Rï¼çµå®¹c1çä½ç¨ï¼ä½¿åçæºçRSTå¤ä½èçµå¹³å
é«åä½ï¼ä»èè¾¾å°å¤ä½;ä¹åï¼å¨CãC3ãX以ååçæºå
é¨æ¶éçµè·¯çä½ç¨ä¸ï¼åçæº89C51æç
§è®¾å®çç¨åºå¨P0åP2æ¥å£è¾åºä¸å
é¨æ±å对åºç代ç çµå¹³éè³LEDç¹éµçè¡é线(é«çµå¹³é©±å¨)ï¼åæ¶å¨P1.1ï¼P1.2ï¼P1.3ï¼P1.4æ¥å£è¾åºåéæ«æä¿¡å·(ä½çµå¹³é©±å¨)ï¼ä»èéä¸ç¸åºçè±¡ç´ LEDåå
ï¼å¹¶å©ç¨äººç¼çè§è§æçç¹æ§åææ´ä¸ªæ±åçæ¾ç¤ºãåæ¹åå表å°åå®ç°æ±åçæ»å¨æ¾ç¤ºã
ãã2 æ±åçç¹éµæ¾ç¤ºåçåååºä»£ç è·åæ¹æ³
ããæ们以UCDOSä¸æå®ä½ååºä¸ºä¾ï¼æ¯ä¸ä¸ªåç±16è¡16åçç¹éµç»ææ¾ç¤ºãå³å½æ æ±ååºä¸çæ¯ä¸ä¸ªååç±256ç¹éµæ¥è¡¨ç¤ºãæ们å¯ä»¥ææ¯ä¸ä¸ªç¹ç解为ä¸ä¸ªè±¡ç´ ï¼èææ¯ä¸ä¸ªåçåå½¢ç解为ä¸å¹
å¾åãäºå®ä¸è¿ä¸ªæ±åå±ä¸ä»
å¯ä»¥æ¾ç¤ºæ±åï¼ä¹å¯ä»¥æ¾ç¤ºå¨256è±¡ç´ èå´å
çä»»ä½å¾å½¢ãå¦æ¥ç¨8ä½çAT89C51åçæºæ§å¶ï¼ç±äºåçæºçæ»çº¿ç±8ä½ï¼ä¸ä¸ªåéè¦æå为2个é¨åã
ãã为äºå¼æ¸
æ¥æ±åçç¹éµç»æè§å¾ï¼é¦å
éè¿åæ«ææ¹æ³è·åæ±åç代ç ãæ±åå¯æå为ä¸é¨åä¸é¨ï¼ä¸é¨ç±8Ã16ç¹éµç»æï¼ä¸é¨ä¹ç±8Ã16ç¹éµç»æãæ¬ä¾éè¿åæ«ææ¹æ³é¦å
æ¾ç¤ºå·¦ä¸è§ç第ä¸åçä¸åé¨åï¼å³ç¬¬0åçP00ï½P07å£ï¼æ¹å为P00å°P07ï¼æ¾ç¤ºæ±åâæâæ¶ï¼ä¸ºå
¨çï¼ç¬¬ä¸åçä¸åé¨åä¹ä¸ºå
¨çã第äºåçä¸åé¨åP06ãç¹äº®ï¼ç±ä¸å¾ä¸æåï¼ä¸ºï¼PO.0çï¼PO.1çï¼P0.2çPO.3çï¼PO.4çï¼P0.5çï¼P0.6亮ï¼P0.7çãå³äºè¿å¶00000010ï¼è½¬æ¢ä¸ºåå
è¿å¶ä¸º02hãä¸åé¨ç¬¬äºåå®æåï¼ç»§ç»æ«æä¸åé¨ç第äºåï¼ä¸ºäºæ¥çº¿çæ¹ä¾¿ï¼æ们ä»è®¾è®¡æç±ä¸å¾ä¸æ«æï¼å³ä»P27åP20æ¹åæ«æï¼ä»å¾3å¯ä»¥çå°ï¼è¿ä¸åP23亮ï¼å³ä¸º00001000ï¼åå
è¿å¶å为08hãä¾ç
§è¿ä¸ªæ¹æ³è½¬å第ä¸åã第ååï¼â¦â¦ï¼ç´è³ç¬¬åå
åçæ«æï¼ä¸å
±æ«æ32个8ä½ï¼å¯ä»¥å¾åºæ±åâæâçæ«æ代ç 为ï¼
ãã00Hï¼02Hï¼08Hï¼06Hï¼28Hï¼02Hï¼24Hï¼22H
ãã0FCHï¼3FHï¼24Hï¼2 1Hï¼20Hï¼10Hï¼3CHï¼08H
ãã0E2Hï¼07Hï¼20Hï¼0AHï¼0E4Hï¼11Hï¼0A8Hï¼20H
ãã20Hï¼30Hï¼00Hï¼00Hï¼00Hï¼00Hï¼00Hï¼00H
ããç±è¿ä¸ªåçå¯ä»¥çåºï¼æ 论LEDæ¾ç¤ºå±æ¾ç¤ºä½ç§åä½æå¾åï¼é½å¯ä»¥ç¨è¿ä¸ªæ¹æ³æ¥åæåºä»çæ«æ代ç ä»èæ¾ç¤ºå¨å±å¹ä¸ãä¸è¿°æ¹æ³è½ç¶è½å¤è®©æ们å¼æ¸
æ¥æ±åç¹éµä»£ç çè·åè¿ç¨ï¼ä½æ¯ä¾é 人工æ¹æ³è·åæ±å代ç æ¯ä¸ä»¶é常ç¹ççäºæ
ã为æ¤ï¼æ们ç»å¸¸éç¨ååºè½¯ä»¶æ¥æ¾å符代ç ï¼è½¯ä»¶æå¼åè¾å
¥æ±åï¼ç¹âæ£åâï¼åå
è¿å¶æ°æ®çæ±å代ç å³å¯èªå¨çæï¼ææ们æéè¦çç«ææ°æ®å¤å¶å°ç¨åºä¸å³å¯ã
ããå¯è§ï¼æ±åç¹éµæ¾ç¤ºä¸è¬æç¹æ«æãè¡æ«æååæ«æ3ç§ã为äºç¬¦åè§è§æçè¦æ±ï¼ç¹æ«ææ¹æ³çæ«æé¢çå¿
须大äº16Ã64â1 024 Hzï¼å¨æå°äº1 mså³å¯ãè¡æ«æååæ«ææ¹æ³çæ«æé¢çå¿
须大äº16Ã8ä¸128 Hzï¼å¨æå°äº7.8 mså³å¯ï¼ä½æ¯ä¸æ¬¡é©±å¨ä¸åæä¸è¡(8é¢LED)æ¶éå¤å 驱å¨çµè·¯æé«çµæµï¼å¦åLED亮度ä¼ä¸è¶³ã
ãã3 å¨Keilç¯å¢ä¸ç¨åºè®¾è®¡ä¸è°è¯
ãã软件ç¨åºä¸»è¦ç±å¼å§ãåå§åã主ç¨åºãååºç»æã
ããå¨keil软件ä¸å®æç¨åºç¼åãè°è¯åç¼è¯ä¹åï¼çæè½è®©åçæºè¿è¡çHexæ件ã
ãã4 è¿ç¨Proteus软件仿çLEDæ±åæ¾ç¤ºå±
ããProteusä¸å
¶å®åçæºä»¿ç软件ä¸åçæ¯ï¼å®ä¸ä»
è½ä»¿çåçæºå¤å´çµè·¯æ没æåçæºåä¸çå
¶å®çµè·¯çå·¥ä½æ
åµï¼ä¹è½ä»¿çåçæºCPUçå·¥ä½æ
åµãå æ¤å¨ä»¿çåç¨åºè°è¯æ¶ï¼æ¯ä»å·¥ç¨çè§åº¦ç´æ¥çç¨åºè¿è¡åçµè·¯å·¥ä½çè¿ç¨åç»æãä»æç§æä¹ä¸è®²Proteus仿çï¼åºæ¬æ¥è¿ä¸å·¥ç¨åºç¨ãæ¬æ¬¡åºäºAT89C51åçæº16Ã16LEDæ±åæ»å¨æ¾ç¤ºå±ç设计已è¿ç¨Proteus软件仿çå®ç°ã
ããè½ç¶æ¬è®¾è®¡åªä½¿ç¨äºä¸å16Ã16LEDç¹éµï¼çµè·¯ç®åï¼ä½æ¯å·²ç»å
涵äºLEDæ±åæ»å¨æ¾ç¤ºå±ççµè·¯åºæ¬åçãåºæ¬ç¨åºåProteus软件仿çï¼åªè¦æ©å±åçæºç10æ¥å£ï¼å¹¶å¢å ä¸äºLEDç¹éµåç¸å
³è¯çï¼å°±è½è®¾è®¡åºæ´å¤§é¢ç§¯ãæ´å¤è±æ ·çLEDæ¾ç¤ºå±ãå æ¤æ¬æ对å类设计å
·æä¸å®çç论åå®è·µåèä»·å¼ã
ããå½å
LEDæ¾ç¤ºå±çæ±åæ»å¨æ¯å¸¸è§çææ¾æ¹å¼ä¹ä¸ï¼åªè¦æ©å±åçæºçIOæ¥å£ï¼å°±å¯ä»¥å¢å LEDæ¾ç¤ºå±çç¹éµï¼éçLEDç¹éµçå¢å ï¼æ¾ç¤ºå±çé¢ç§¯å°±å¯ä»¥èªå¨å¢å ãå½è®¾è®¡æ±åï¼éè¦é对æ¾ç¤ºå±çé¢ç§¯æ¥åæåéç设计ã
è½æ带ååº12864液æ¶æ¾ç¤ºæ±åäºï¼ç¨åºå¦ä¸ï¼ä»¥ä¾åè
æ¾ç¤ºä¸å±æ±åï¼æ¯å±æ¾ç¤ºä¸ç§ï¼æ¥å循ç¯æ¾ç¤º
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define lcd_data P0
uchar code table1[]="éå±±é£é¨èµ·èé»æ¯""ç¾ä¸éå¸è¿å¤§æ±æ³½""亦å°å©å追穷å¯ä¸""ä¸å¯æ²½åå¦é¸çä¸";
uchar code table2[]="å¦ä¹ ææ¯å¤©å¤©åä¸""åªåå¦ä¹ æææé«""æ»ç»ç»éªä¸æåè¿""çµå设计ä¸è·¯é¢å
";
uchar code table3[]="ç±ä¸ä¸ªäººé¾å´è¿ç±""交ç»æåå¯è·¯æ´å®½""è¯å®å®ä¿¡å æ²¹åªå""æåå人æååäº";
sbit lcden=P2^7;
sbit rd=P2^6;
sbit wr=P2^5;
sbit psb=P3^2; //并/串æ¹å¼éæ©
void delay(uint z) //延è¿å½æ°
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--)
;
}
void write_com(uchar com) //åæ令
{
rd=0;
wr=0;
lcden=0;
P0=com;
delay(5); //è¿ä¸ªå»¶è¿å½æ°å¿
é¡»è¦æï¼å 为读æ°æ®æ¶å½E为é«æ¶ï¼æ°æ®å¿
é¡»ä¿æ稳å®
lcden=1;
lcden=0;
}
void write_date(uchar date) //åæ°æ®
{
rd=1;
wr=0;
lcden=0;
P0=date;
delay(5); //è¿ä¸ªå»¶è¿å¿
é¡»è¦æ
lcden=1;
lcden=0;;
}
void write_word(uchar *add) //ç¨æé
{
uchar i;
write_com(0x80); //ä»ç¬¬ä¸è¡å¼å§æ¾ç¤º
for(i=0;i<64;i++) //ä¸ä¸ªæ±åå 两个åè
{
write_date(*add);
add++; //æéå ï¼æåä¸ä¸ä¸ªåè
}
}
void init() //åå§å
{
psb=1; //设置并å£æ¹å¼
write_com(0x 0c); //æ¾ç¤ºç¶æ æ´ä½æ¾ç¤ºå¼
write_com(0x01); //游æ 左移
write_com(0x30); //åè½è®¾å®åºæ¬æ令æä½
write_com(0x10); //游æ 左移
}
void main()
{
init();
while(1)
{
write_word(table1);
delay(3000); //æ¯ä¸å±æ¾ç¤ºç§é
write_word(table2);
delay(3000);
write_word(table3);
delay(3000);
}
}
æé£æ¶åç¨çæ¯å´é´é¹°åçæºå¼åæ¿ï¼åæ¹é¢è¿æ¯ä¸éçã
ä»åå¼å§æ¥è§¦åçæºï¼å°ç°å¨å·²ç»æ4å¹´çæ¶é´äºï¼å¨è¿æé´å¦ä¹ å使ç¨äº51åçæºãé£æå¡å°åçæºï¼LPC2138ï¼PIC16F887çç³»åçåçæºï¼æ¯æ¥è§¦ä¸æ¬¾åçæºï¼é½ä¼ç»åçæå
¶åºæ¬å¼åï¼ç¶åå°å
¶ç¨äºé¡¹ç®ä¸çè¿ç¨ï¼å¯¹äºå¦ä½å¦ä¹ ä¸æ¬¾åçæºï¼èªå·±åäºå¦ä¸çæ»ç»ã
大家é½ç¥éï¼51åçæºæ¯æ容æå
¥é¨çï¼ä¸ä»
å 为å
¶ç¼ç¨ç®åï¼æ´éè¦çæ¯ç½ä¸çèµæé常丰å¯ãæ以ä¸è¬å¦ä¹ åçæºå¼åçé½å°51åçæºä½ä¸ºå
¥é¨å¼åçé¦éãæå¦ä¹ 51åçæºçæ¶åæ¯éç¨è¿æ ·çä¸ä¸ªæ¥éª¤è¿è¡å¦ä¹ çï¼
第ä¸æ¥(çæçè¿ç¨)ï¼ä¹°äºä¸æ¬¾51åçæºå¼åæ¿ï¼ç¶åå°±å¼å§äºæçå¦ä¹ ä¹æ
ï¼åå¼å§çæ¶å没æå»çè§é¢æç¨ï¼èæ¯å¯¹çä¸æ¬å®éªææè¿è¡å¦ä¹ ï¼é£æ¬å®éªææçååè®°ä¸æ¸
æ¥äºï¼ä½æ¯å
¶å
容就æ¯å´ç»åçæºçLEDç¯è¿è¡æ§å¶ï¼å°51åçæºå
é¨çå个åè½é¨ä»¶å
¨é¨é½ä½¿ç¨å°äºï¼è¿æ ·å°±è½ä½¿æå¨å¾ççæ¶é´å
ï¼éè¿æ§å¶LEDç¯ç亮ãççæäº51åçæºçå
é¨çåç§èµæºï¼è¿æ¶å¯¹51åçæºä¹å°±æ²¡ææå°éçäºãæ以ï¼ä¸ªäººè§å¾ï¼å¦ä¹ åçæºï¼è¦ä»å®éªå
¥æï¼å
çæåçæºå说ï¼å¼åè¯è¨å¼å§ä½¿ç¨çæ¯Cè¯è¨ã
第äºæ¥(è¿é¶çè¿ç¨)ï¼æäºç¬¬ä¸æ¥çåºç¡ä¹åï¼æ¥ä¸æ¥ç便æ¯è¿é¶çè¿ç¨ï¼å½æ¶ï¼æççæ¯é天祥å天å¦ä¼åçæºçè§é¢æç¨ï¼å 为è¿ä¸ªæç¨ä»åºç¡å°å¤æçç¼ç¨æ
¢æ
¢æ·±å
¥ï¼è®²çæ¯è¾çå
¨é¢ï¼èä¸ä¹çå¨ï¼æ以é£ä¸é¶æ®µï¼ä¹æ¯æå¦ä¹ åçæºè¿æ¥æå¿«çé¶æ®µï¼æ¯æ¬¡å¬è¯¾çæ¶åï¼æç
§ä¸é¢çå®éªï¼ä»¥å课å ä¸é¢è°è¯ç¨åºæ¶åºç°çä¸äºé®é¢ï¼èªå·±è®¤ççå¨çµèä¸è¿è¡è°è¯ï¼å¹¶åæ产çæ
éçåå ï¼è®©ææäºä¸å®çå¼ååºç¡ãå¨çå®äºè§é¢æç¨ä¹åï¼åé¢å对åºç¡çç¥è¯è¿è¡äºä¸è¡¥ä¹ ï¼ä¸»è¦æ¯çåçæºåçæ§çææï¼å 为æäºç»èæ§çä¸è¥¿è¿æ¯è¦ä»ææä¸é¢è·å¾ã
第ä¸æ¥(项ç®å®æçé¶æ®µ)ï¼å¦ä¹ åçæºçæ¶åï¼è½ç¶ä¹ç¼åäºä¸äºç¨åºï¼ä½æ¯é£äºé½æ¯ä¸äºå¾å°ç模åç¨åºï¼å¹¶æ²¡æèµ·å°ç»¼ååºç¨çç®çï¼æ以å¨è¿ä¹åï¼æåå¦å¤ä¸ä¸ªå¦ä¹ 硬件çåå¦ä¸èµ·ç»æäºä¸ä¸ªå°çå¢éï¼è¿è¡é¡¹ç®å®è·µå¼åï¼é£æ¶åï¼å®éªå®¤çæ¡ä»¶æ¯ä»·å¥½ï¼æå¾å¤çå¨ä»¶å¯ä»¥èªå·±ä½¿ç¨ãæ以ï¼æ们就设计äºæ们ç第ä¸ä¸ªä½åï¼åºäºåçæºç液ä½ç¹æ»´çæ§ç³»ç»ãåè¿ä¸ªç³»ç»æ¶ï¼å°±å°ä»¥ååçæºæå¦çç¥è¯ï¼åäºä¸ä¸ªç»¼åçåºç¨ï¼å
æ¬æLCD1602æ§å¶ï¼ä¸²å£çæ§å¶çã
ç»è¿ä»¥ä¸ä¸ä¸ªæ¥éª¤çå¦ä¹ ä¹åï¼å¯¹äº51åçæºçå¼ååºæ¬ä¸å°±ç®å
¥é¨äºãè对äºå
¶ä»ç±»åçåçæºï¼å¦é£æå¡å°åçæºï¼LPC2148 ARM7åçæºï¼PIC16F887çï¼è½ç¶æ¯ä¸ªç³»åçåè½ä¸ä¸æ ·ï¼ä½æ¯æåºæ¬çç¼ç¨ææ³è¿æ¯ä¸æ ·çï¼ä¸åçå¯è½å°±æ¯ç¼è¯å¨ï¼ç¨åºä¸è½½ç软件çå·®å«ï¼æ以æäº51åçæºçå¼ååºç¡ä¹åï¼å¦ä¹ å
¶ä»åçæºæéç¨çæ¹æ³å°±æ¯ä¸ä¸ªå·®å¼åçå¦ä¹ ï¼å¦ä¹ åç§åçæºä¸åçå°æ¹ï¼è¿æ ·ï¼å°±è½å¾å¿«ççæä¸æ¬¾æ°çåå·çåçæºã
å¦å¨å¦ä¹ PIC16F887è¿ä¸ªç³»åçåçæºæ¶ï¼æé¦å
åçå·¥ä½ä¸æ¯å»é
读æ°æ®æåï¼èæ¯å
æ¿çDEMO代ç ï¼å¨ç¼è¯è½¯ä»¶ä¸ç¼è¯ãé¾æ¥ãçæHEXæ件ï¼ç¶åå°å
¶ä¸è½½å°å¼åæ¿ä¸è·èµ·æ¥ï¼è¿ä¸ªè¿ç¨ä¸»è¦å°±æ¯å¦ä¹ å
¶è½¯ä»¶çåºæ¬æä½ï¼æäºè¿ä¸ªåºç¡ä¹åï¼å°±è½èªå·±è¿è¡ç¼ç¨ãæµè¯ãä¹åå°±æ¯çæå
¶ç¼ç¨ç模å¼ï¼æè°å
¶ç¼ç¨æ¨¡å¼ï¼å°±æ¯å¯åå¨çæ§å¶ï¼ä¸æç¨åºçç¼åï¼çæäºè¿ä¸ªæä½ï¼ä¹å°±è½æ§å¶å
¶ä»çåè½æ¨¡åäºï¼å¦ä¸²å£çæ§å¶ãI2C硬件æ§å¶å¨çæ§å¶ãè¿äºåºæ¬çå¼åçæäºä¹åï¼æ¥ä¸æ¥ä¾¿æ¯å¦ä¹ å·®å¼çé¨åï¼ä¾å¦PICåçæºCè¯è¨ä¸ï¼å
¶å æ 深度ä¸è½è¶
è¿8级ï¼è¶
è¿äºä¹åï¼å°ä¼ä½¿å¾ç¨åºåºç°è·é£çç°è±¡ãèä¸å
åçåé
å®å
¨è¦é èªå·±æ¥æ§å¶ï¼åæäº4个BANKçæ°æ®ï¼BANK0,BANK1,BANK2,BANK3 çãè¿äºå°±æ¯æ¯ä¸ªç³»ååçæºæç¬æçä¸äºä¸è¥¿ï¼è¿äºä¸è¥¿éè¦è¯¦ç»çäºè§£ï¼å 为å®ä»¬å¯è½ä¸ºä½ çç¼ç¨å¸¦æ¥å¾å¤§ç便å©ã
以ä¸å°±æ¯æå¦ä¹ åçæºçæ»ç»ï¼å¦æ大家ææ´å¥½çå¦ä¹ æ¹æ³ï¼å¸æ大家è½å¤æåºæ¥ï¼ä¸èµ·è®¨è®ºï¼å
±åè¿æ¥ã
追é®ææï¼ä½ 就帮æççæä¹å è¿å»ï¼ä½ åé£ä¹å¤æä¹çä¸æï¼æå¦çJAVAè·C++ï¼æè½çæ代ç ææè·å½æ°çï¼å°±æ¯ä¸ç¥éæä¹å ï¼è¿ä¸ªæ¯åºäºsopcçç¹éµå大å¥