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). 利用mov dptr,#data16的指令來使資料指標暫存器指到表的開頭。
(2). 利用movc a,@a+dptr的指令,根據累加器的值再加上dptr的值,就可以使程式計數器pc指到**內所要取出的資料。
因此,只要把控制碼建成乙個表,而利用movc a,@a+dptr做取碼的操作,就可方便地處理一些複雜的控制動作,取表過程如下圖所示:
5. 程式框圖
圖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)
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;
微控制器廣告燈實驗總結 基於微控制器的廣告燈實驗方案
基於微控制器的廣告燈實驗方案 實驗任務 利用取表的方法,使埠 p1做單一燈的變化 左移 次,右移 次,閃爍 次 延時的時間 0.2秒 電路原理圖 圖4.5.1 3 系統板上硬體連線 把微控制器系統區域中的 p1.0 p1.7 用芯排線連線到八路發光二極體指示模組區域中的 l1l8 埠上,要求 p1....
微控制器彩燈移動實驗 基於微控制器的廣告移動彩燈
基於微控制器的廣告移動彩燈 摘要隨著電子技術的迅速發展,微控制器得到了越來越多的應用。本設計用微控制器89s51結合led 發光二極體 製作了乙個廣告移動彩燈,它由一塊89s51組成,通過逐次掃瞄其中一塊的p2.0 p2.7口,從而依次實現彩燈輪流點亮 逐點點亮 間隔點亮。如果控制交流彩燈,可在p1...
基於微控制器的智慧型交通燈
摘要 近年來隨著科技的飛速發展,微控制器的應用正在不斷深入,同時帶動傳統控制檢測技術日益更新。在實時檢測和自動控制的微控制器應用系統中,微控制器往往作為乙個核心部件來使用,僅微控制器方面知識是不夠的,還應根據具體硬體結構軟硬體結合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。...