線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1482
推到 Plurk!
推到 Facebook!

【問題】中文字幕16X16LED

缺席
收件人
一般會員


發表:3
回覆:1
積分:0
註冊:2005-08-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-21 12:39:38 IP:59.113.xxx.xxx 未訂閱
這是我接電路8051和8255電路圖架構不知對不對--能幫看一下。 程式碼~~~不知道錯在哪裡----能幫看一下。(謝謝) #include "io51.h" #define wrpa 0xb0 #define wrpb 0xb1 #define wrpc 0xb2 #define wrct 0xb3 void delay(int); static const char PatternTable[] ={0x2D,0x00,0x11,0x20,0xA9,0x2F,0xA7,0x34, 0xA0,0x24,0xA7,0x34,0xAC,0x2F,0x1A,0x20, 0x25,0x00,0x02,0x00,0xFE,0x3F,0x02,0x04, 0x32,0x08,0x4A,0x10,0x86,0x0F,0x00,0x00}; inrerrupt void TO_int(void) { TH0 = timerHi; TL0 = timerLo; PortC_1 = 0xff; poreA_1 = PatternTable[(Pointer)*2+0]; poreB_1 = PatternTable[(Pointer)*2+1]; poreC_1 = Pointer; if (Pointer++ == 16) { Pointer =0; } { void Init_Timer(void) { IE =0x82; TMOD = 0x01; THO = TimerHi; TLO = TimerLo; TRO=1; } void main(void) { P3=wrct; delay(10); P0=0x80; delay(10); P3=0xff; while(1) { P3=wrpa; delay(10); P0=0xf0; delay(10); P3=0xff; delay(10); P3=wrpa; delay(10); P0=0x0f; delay(10); P3=0xff; } } void delay(int m) { int i; for(i=0;i
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-22 08:51:35 IP:211.21.xxx.xxx 未訂閱
重新整理程式碼  
 
#include "io51.h"
#define wrpa 0xb0
#define wrpb 0xb1
#define wrpc 0xb2
#define wrct 0xb3
void delay(int);
static const char PatternTable[]
      ={0x2D,0x00,0x11,0x20,0xA9,0x2F,0xA7,0x34,
        0xA0,0x24,0xA7,0x34,0xAC,0x2F,0x1A,0x20,
        0x25,0x00,0x02,0x00,0xFE,0x3F,0x02,0x04,
        0x32,0x08,0x4A,0x10,0x86,0x0F,0x00,0x00};
        inrerrupt void TO_int(void)
 {
  TH0 = timerHi;
  TL0 = timerLo;
  PortC_1 =  0xff;
  poreA_1 = PatternTable[(Pointer)*2+0];
  poreB_1 = PatternTable[(Pointer)*2+1];
  poreC_1 = Pointer;
  if (Pointer++ == 16)
   {
   
     Pointer =0;
    }
   
  {
    void Init_Timer(void)
    {
     IE =0x82;
     TMOD = 0x01;
     THO = TimerHi;
     TLO = TimerLo;
    
     TRO=1;
   }
void main(void)
{   
    P3=wrct;    
    delay(10); 
    P0=0x80;
    delay(10);  
    P3=0xff; 
    while(1)
  {
      P3=wrpa;
      delay(10);
      P0=0xf0;
      delay(10);
      P3=0xff;
      delay(10);
      P3=wrpa;  
      delay(10); 
      P0=0x0f;
      delay(10);          P3=0xff;
   }
}
void delay(int m)
{
    int i;
    for(i=0;i    看不出來16X16LED接在哪裡耶!    發表人 - 阿信 於 2005/11/22  09:10:31
        
EdisonTop
一般會員


發表:1
回覆:5
積分:1
註冊:2005-01-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-23 17:21:09 IP:220.130.xxx.xxx 未訂閱
硬體電路 1.電源名稱不適當,VCC一般指 5V,15P電容一般接GND,且注意8255的cs應接GND 2.8051 Reset 應接在電阻、電容中間。 3. if A0 = T0,A1 = T1 ,一般會使用同名稱 4. 8255 Reset 接GND 軟體次序不適當 P3=wrct; delay(10); P0=0x80; delay(10); P3=0xff; 如要確保無誤,最好依下列次序 1.確定A0,A1的狀態 delay 2.P0 = data delay 3.WR = 0 delay 4.WR = 1, Ax = x 若會用組合語言,可以使用外部RAM讀寫指令
系統時間:2024-06-07 5:52:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!