|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
- #include <STC12C5A60S2.H>
- #define uchar unsigned char
- #define uint unsigned int
- sbit K1=P3^3; //引脚定义
- sbit K2=P3^4; //
- sbit K3=P3^5; //
- sbit D0=P3^6; //
- sbit D1=P3^7;
- sbit D2=P1^4;
- sbit D3=P1^6;
- sbit D4=P1^7;
- sbit D5=P3^1;
- sbit D6=P1^3;
- sbit D7=P1^5;
- sbit dot=P1^5; //
- sbit BEEP=P3^2;
- sbit L0=P3^0; //
- sbit L1=P1^1; //
- sbit L2=P1^0; //
- sbit L3=P1^2;
- unsigned char led[]={
-
- 0xC0, //"0"
- 0xF9, //"1"
- 0xA4, //"2"
- 0xB0, //"3"
- 0x99, //"4"
- 0x92, //"5"
- 0x82, //"6"
- 0xF8, //"7"
- 0x80, //"8"
- 0x90 //"9"
-
-
- };//段码数组,共阳
- char wei[]={0x01,0x02,0x04,0x08};//位码数组,四个数码管
- void P6(char D)//段替换函数
- {
- D7=D&0X80;
- D6=D&0X40;
- D5=D&0X20;
- D4=D&0X10;
- D3=D&0X08;
- D2=D&0X04;
- D1=D&0X02;
- D0=D&0X01;
- }
- void W(char L)//位替换函数
- {
- L3=L&0X08;
- L2=L&0X04;
- L1=L&0X02;
- L0=L&0X01;
- }
- void Delay1ms() //@12.000M 延时1ms
- {
- unsigned char i, j;
- i = 12;
- j = 169;
- do
- {
- while (--j);
- } while (--i);
- }
- void delay_n_ms(uint n) //延时n毫秒
- {
- while(n)
- {
- Delay1ms();
- n=n-1;
- }
- }
- main()
- {
- while(1)//数码管动态显示
- {
- P1M0=0x07;//IO设置大电流模式
- P3M0=0x01;
-
- W(wei[0]);//打开第一个数码管
- P6(led[2]);
- delay_n_ms(2);
-
- W(wei[1]);
- P6(led[9]);
- delay_n_ms(2);
-
- W(wei[2]);
- P6(led[2]);
- delay_n_ms(2);
-
- W(wei[3]);
- P6(led[9]);
- delay_n_ms(2);
-
- }
- }
- //...................
复制代码 |
| |