51微控制器:P3.3口輸入/P 1口輸出實驗
51微控制器:P3.3口輸入/P 1口輸出實驗
一、實驗內容
1 P3.3口做輸入口,外接一脈衝,每輸入一個脈衝, P1口按十六進位制除2(乘2)。
2. P1口做輸出口,P1口接的8個發光二極體L1—L8按十六進位制除2(乘2)方式點亮。
二、模擬圖
三、程式碼實現
C語言實現:
#include<reg52.h>
#include<intrins.h>
sbit KEY=P3^3;
void delay10ms(void);
void main()
{
char num=0xfe;
KEY=1;
while(1)
{
if(KEY==0)
{
delay10ms(); //消抖
if(KEY==0)
{
P1=num;
//num=_crol_(num,1); //_crol_迴圈左移(乘2)
num=_cror_(num,1); //_cror_迴圈右移(除2)
}
while(!KEY); //消抖 剛剛鬆開始
}
}
}
void delay10ms(void) //誤差 0us
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
彙編實現:
ORG 0000H
LJMP START
ORG 0030H
START: MOV SP, #60H
J100: MOV A,#0feH
J101: JB P3.3,J101
LCALL DELAY10MS ;消抖
JB P3.3,J101 ;P3.3電平為低嗎?
RL A ;左移(乘法)
; RR A ;右移(除法)
MOV P1,A ;驅動發光二極體
J102 : JNB P3.3,J102 ;P3.3電平高?
AJMP J101 ;迴圈
DELAY10MS: ;誤差 0us
MOV R7,#01H
DL1:
MOV R6,#26H
DL0:
MOV R5,#82H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
END
相關文章
- 輸入輸出
- 輸入輸出流
- 輸出乘法口訣表
- 實驗1 C語言輸入輸出和簡單程式編寫C語言
- 實驗1_C語言輸入輸出和簡單程式編寫C語言
- Linux 按鍵輸入實驗Linux
- 1.輸入輸出
- 【C++】輸入輸出C++
- 輸入輸出系統
- shell——shell輸入輸出
- Java 輸入輸出流Java
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- C語言之輸入輸出C語言
- 常用輸入輸出函式函式
- Java基礎輸入輸出Java
- C語言輸入輸出C語言
- 03 資料輸入-輸出
- 格式化輸入輸出
- Shell輸入\輸出重定向
- 排序,檔案輸入輸出排序
- Java —— 標準輸入輸出Java
- 資料的輸入輸出
- python ----輸入輸出 變數Python變數
- Python輸入和輸出(IO)Python
- python 標準輸入輸出Python
- 實驗1_C語言輸入輸出和簡單程式應用程式設計實驗報告C語言程式設計
- 1.變數and輸入輸出變數
- 格式化輸入和輸出
- 輸出輸入函式彙總函式
- 06Numpy輸入與輸出
- ACM的Python版輸入輸出ACMPython
- 實驗1_C語言輸入輸出和簡單程式應用程式設計C語言程式設計
- 實驗二:編寫輸出"Hello World!"
- Flutter 密碼輸入框 驗證碼輸入框Flutter密碼
- Nucleo入門--004通用輸入輸出
- Python資料的輸入與輸出Python
- AUTOCAD——圖形的輸入與輸出
- StreamingPro 支援多輸入,多輸出配置