|
- //硬件連接: INC——P0^0;
- // UD ——P0^1;
- // CS ——P0^2;
- // VDD--邏輯電源(+5V)
- // VSS--GND(0V)
- //X9313.c
- //說明: X9313當(dāng)設(shè)置其劃向最大或者最小時,不會循環(huán)回復(fù)
- //=====================================================================
- #include <STC89C51RC.h> //STC單片機頭文件
- #include <intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- //**************************修改硬件時要修改的部分********************************
- sbit INC = P0^0; //加/減計數(shù)脈沖輸入端
- sbit UD = P0^1; //加/減計數(shù)控制端,高電平時加法計數(shù),低電平時減法計數(shù)
- sbit CS = P0^2; //片選輸入端,低電平有效
- //=================================================================
- // 函數(shù)名稱 :void X9313_set(uchar res,uchar ud)
- // 函數(shù)功能 :設(shè)置X9313數(shù)字電位計的滑動方向以及滑動幅度
- // 入口參數(shù) : res 1~31 滑動的幅度 res每增加1,電位器電阻增加或減少10/31K
- // ud 0 1 滑動方向 0:向低端滑動 1:向高端滑動
- // 出口參數(shù) :無
- //=================================================================
- void X9313_set(uchar res,uchar ud)
- {
- uchar i;
- switch(ud)
- {
- case 0:
- UD=0; //U/D=0,向低端滑動
- break;
- case 1:
- UD=1; //U/D=1,向高端滑動
- break;
- default:
- break;
- }
- CS=0; //片選有效
- for(i=0;i<res;i++)
- {
- INC=0;
- _nop_();
- INC=1;
- _nop_();
- }
- CS=1; //片選無效
- }
- //=================================================================
- // 函數(shù)名稱 :int main(void)
- // 函數(shù)功能 :主函數(shù),無實際意義,僅測試9313用
- // 入口參數(shù) :無
- // 出口參數(shù) :無
- //=================================================================
- int main(void)
- {
- X9313_set(31,0);//覆蓋原來數(shù)據(jù),使電位器從最低端開始
- X9313_set(16,1);
- while(1);
- }
復(fù)制代碼
|
|