|
- /*-----------------------------------------------
- 名稱:IO口高低電平控制
- 編寫(xiě):shifang
- 修改:無(wú)
- 內(nèi)容:花樣燈一般有兩種方法實(shí)現(xiàn):
- 1、程序循環(huán)執(zhí)行
- 2、查表法
- 這里我們兩種都使用一下
- ------------------------------------------------*/
- #include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義
- sfr P1M1 = 0x91; //PxM1.n,PxM0.n =00--->Standard, 01--->push-pull
- sfr P1M0 = 0x92; // =10--->pure input, 11--->open drain
- sfr P0M1 = 0x93;
- sfr P0M0 = 0x94;
- sfr P2M1 = 0x95;
- sfr P2M0 = 0x96;
- sfr P3M1 = 0xB1;
- sfr P3M0 = 0xB2;
- sfr P4M1 = 0xB3;
- sfr P4M0 = 0xB4;
- sfr P5M1 = 0xC9;
- sfr P5M0 = 0xCA;
- sfr P6M1 = 0xCB;
- sfr P6M0 = 0xCC;
- sfr P7M1 = 0xE1;
- sfr P7M0 = 0xE2;
- /*------------------------------------------------
- 花樣表格
- ------------------------------------------------*/
- unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,
- 0xf7,0xfb,0xfd,0xfe,
- 0xff,0xff,0x00,0x00,
- 0x55,0x55,0xaa,0xaa
- };//rom允許情況可以無(wú)限添加
- void Delay(unsigned int t); //函數(shù)聲明
- /*------------------------------------------------
- 主函數(shù)
- ------------------------------------------------*/
- main()
- {
- unsigned char i; //定義一個(gè)無(wú)符號(hào)字符型
- P0M1 = 0; P0M0 = 0; //???????
- P1M1 = 0; P1M0 = 0; //???????
- P2M1 = 0; P2M0 = 0; //???????
- P3M1 = 0; P3M0 = 0; //???????
- P4M1 = 0; P4M0 = 0; //???????
- P5M1 = 0; P5M0 = 0; //???????
- P6M1 = 0; P6M0 = 0; //???????
- P7M1 = 0; P7M0 = 0; //??????? //局部變量 i 取值范圍 0~255
- while(1)
- {
- P1=0xFE; //第1個(gè)LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 <<=1;
- }
- P1=0x7F; //第8個(gè)LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 >>=1;
- }
- P1=0xFE; //第1個(gè)LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 <<=1;
- P1 |=0x01;
- }
- P1=0x7F; //第8個(gè)LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 >>=1;
- P1 |=0x80;
- }
- //下面通過(guò)查表方法獲得花樣參數(shù)
- for(i=0;i<16;i++)//查表可以簡(jiǎn)單的顯示各種花樣 實(shí)用性更強(qiáng)
- {
- Delay(20000);
- P1=seg[i];
- }
- }
- }
- /*------------------------------------------------
- 延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值
- unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是
- 0~65535
- ------------------------------------------------*/
- void Delay(unsigned int t)
- {
- while(--t);
- }
復(fù)制代碼 |
|