|
實(shí)驗(yàn)內(nèi)容
1.P1 口做輸出口,接八只發(fā)光二極管,編寫(xiě)程序,使發(fā)光二極管循環(huán)點(diǎn)亮
2.P1.0,P1.1作輸入口接兩個(gè)撥動(dòng)開(kāi)關(guān),P1.2,P1.3作輸出口,接兩個(gè)發(fā)光二極管,編寫(xiě)程序讀取開(kāi)關(guān)狀態(tài),將此狀態(tài),在發(fā)光二極管上顯示出來(lái)。編程時(shí)應(yīng)注意P1.0,P1.1作為輸入口時(shí)應(yīng)先置1,才能正確讀入值。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
實(shí)驗(yàn)1
實(shí)驗(yàn)2
單片機(jī)源程序如下:
- //實(shí)驗(yàn)1
- #include <reg51.h>
- #define LED P1
- void delay(int); //聲明延遲函數(shù)
- //主程序
- main()
- {
- unsigned char i;
- //讓LED最右端的燈亮
- while(1)
- {
- LED = 0xfe;
- for(i=0;i<8;i++)
- {
- delay(100);
- LED=(LED<<1)|0x01; //讓左邊一個(gè)LED燈亮
- }
- }
- }
- //延遲函數(shù)
- void delay(int x)
- {
- int i,j;
- for(i=0;i<x;i++)
- for(j=0;j<600;j++);
- }
復(fù)制代碼- //實(shí)驗(yàn)2
- #include<reg51.h>
- #define uchar unsigned char
- #define unit unsigned int
- sbit k1=P1^0;
- sbit k2=P1^1;
- sbit led1=P1^2;
- sbit led2=P1^3;
- void main()
- {
- while(1)
- {
- k1=1;
- k2=1;
- if(k1==0)
- led1=0;
- else led1=1;
- if(k2==0)
- led2=0;
- else led2=1;
- }
- }
復(fù)制代碼
全部資料51hei下載地址:
實(shí)驗(yàn)一 IO口輸入輸出實(shí)驗(yàn).zip
(397.89 KB, 下載次數(shù): 14)
2020-6-22 22:39 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|