1T的单片机延时函数与12T单片机不一样。改了你试试·。
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit key=P3^5;
- sbit shuchu=P3^3;
- void delayms(uint k)//1T 11.0592MHz
- {
- uint i,j;
- for(i=k;i>0;i--)
- for(j=829;j>0;j--);//12T/j=110
- }
- void main()
- {
- uchar i;
- shuchu=0;
- while(1)
- {
- if(key==0)
- {
- delayms(10);
- if(key==0)
- {
- i++;
- if(i==2)
- {
- i=0;
- shuchu=~shuchu;
- }
- while(!key);
- }
- }
- }
- }
复制代码 |