廣告燈(利用取表方式)

2021-04-16 10:08:48 字數 2012 閱讀 6124

1.

實驗任務

利用取表的方法,使埠

p1做單一燈的變化:左移

2次,右移

2次,閃爍

2次(延時的時間

0.2秒)。

2.

電路原理圖

圖4.5.1

3.

系統板上硬體連線

把「微控制器系統」區域中的

p1.0

-p1.7用8

芯排線連線到「八路發光二極體指示模組」區域中的l1-

l8埠上,要求:

p1.0

對應著l1

,p1.1

對應著l2,……

,p1.7

對應著l8。

4.

程式設計內容

在用**進行程式設計的時候,要用以下的指令來完成

(1).

利用movdptr

,#data16

的指令來使資料指標暫存器指到表的開頭。

(2).

利用movca,@

a+dptr

的指令,根據累加器的值再加上

dptr

的值,就可以使程式計數器

pc指到**內所要取出的資料。

因此,只要把控制碼建成乙個表,而利用

movc

工,@a

+dptr

做取碼的操作,就可方便地處理一些複雜的控制動作,取表過程如下圖所示:

程式框圖

圖4.5.2

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

rettable: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

end7.c語言源程式

#include

unsigned char code table=;

unsigned char i;

void delay(void)

void main(void)

else

}

}

微控制器廣告燈實驗總結 基於微控制器的廣告燈實驗方案

1 實驗任務 利用取表的方法,使埠p1做單一燈的變化 左移2次,右移2次,閃爍2次 延時的時間0.2秒 2 電路原理圖 圖4.5.1 3 系統板上硬體連線 把 微控制器系統 區域中的p1.0 p1.7用8芯排線連線到 八路發光二極體指示模組 區域中的l1 l8埠上,要求 p1.0對應著l1,p1.1...

微控制器廣告燈實驗總結 基於微控制器的廣告燈實驗方案

基於微控制器的廣告燈實驗方案 實驗任務 利用取表的方法,使埠 p1做單一燈的變化 左移 次,右移 次,閃爍 次 延時的時間 0.2秒 電路原理圖 圖4.5.1 3 系統板上硬體連線 把微控制器系統區域中的 p1.0 p1.7 用芯排線連線到八路發光二極體指示模組區域中的 l1l8 埠上,要求 p1....

利用正則爬取貓眼電影

爬取貓眼電影 import json import requests from requests.exceptions import requestexception import redef get one page url 獲取乙個頁面的資訊 try proxies get random ip ...