欧美视频综合-欧美视频中文字幕-欧美视频在线观在线看-欧美视频在线观看网站-直接观看黄网站免费视频-正在播放久久

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
廣告燈設計(利用取表方式)
廣告燈設計(利用取表方式)
 更新時間:2008-7-27 16:16:22  點擊數:2
【字體: 字體顏色
廣告燈設計(利用取表方式)

桂林電子工業學院   孫安青    

http://www.gliet.edu.cn/           

1.      實驗任務

利用取表的方法,使端口P1做單一燈的變化:左移2次,右移2次,閃爍2次(延時的時間0.2秒)。

2.      電路原理圖

    

3.      系統板上硬件連線

  把“單片機系統”區域中的P1.0P1.78芯排線連接到“八路發光二極管指示模塊”區域中的L1L8端口上,要求:P1.0對應著L1,P1.1對應著L2,……P1.7對應著L8。

4.      程序設計內容

在用表格進行程序設計的時候,要用以下的指令來完成

(1).  利用MOV DPTR,#DATA16的指令來使數據指針寄存器指到表的開頭。

(2).  利用MOVC A,@ADPTR的指令,根據累加器的值再加上DPTR的值,就可以使程序計數器PC指到表格內所要取出的數據。

因此,只要把控制碼建成一個表,而利用MOVC 工,@ADPTR做取碼的操作,就可方便地處理一些復雜的控制動作,取表過程如下圖所示:

5.

 

       

6.      匯編源程序

                            ORG 0

START:               MOV DPTR,#TABLE

LOOP:                CLR A

                            MOVC A,@A+DPTR

                            CJNE A,#01H,LOOP1

                            JMP START

LOOP1:              MOV P1,A

                           MOV R3,#20

                            LCALL DELAY

                            INC DPTR

                           JMP LOOP

DELAY:              MOV R4,#20

D1:                     MOV R5,#248

                            DJNZ R5,$

                            DJNZ R4,D1

                           DJNZ R3,DELAY

                            RET

TABLE:              DB 0FEH,0FDH,0FBH,0F7H

                            DB 0EFH,0DFH,0BFH,07FH

                           DB 0FEH,0FDH,0FBH,0F7H

                            DB 0EFH,0DFH,0BFH,07FH               

                           DB 07FH,0BFH,0DFH,0EFH

                            DB 0F7H,0FBH,0FDH,0FEH

                            DB 07FH,0BFH,0DFH,0EFH

                            DB 0F7H,0FBH,0FDH,0FEH

                            DB 00H, 0FFH,00H, 0FFH

                            DB 01H

                            END

7.      C語言源程序

#include <AT89X51.H>

unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,

                            0xef,0xdf,0xbf,0x7f,

                            0xfe,0xfd,0xfb,0xf7,

                            0xef,0xdf,0xbf,0x7f,

                            0x7f,0xbf,0xdf,0xef,

                            0xf7,0xfb,0xfd,0xfe,

                            0x7f,0xbf,0xdf,0xef,

                            0xf7,0xfb,0xfd,0xfe,

                            0x00,0xff,0x00,0xff,

                            0x01};

unsigned char i;

 

void delay(void)

{

  unsigned char m,n,s;

  for(m=20;m>0;m--)

  for(n=20;n>0;n--)

  for(s=248;s>0;s--);

}

 

void main(void)

{

  while(1)

    {

      if(table[i]!=0x01)

        {

          P1=table[i];

          i++;

          delay();

        }

        else

          {

            i=0;

          }

    }

}

  • 上一篇: 電壓表(ADC0804控制程序)
  • 下一篇: 簡易電子琴的設計
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1