stc89c52很多有用程序.docVIP

  • 12
  • 0
  • 约17.31万字
  • 约 39页
  • 2016-10-22 发布于河南
  • 举报
stc89c52很多有用程序

stc89c52很多有用程序 功能:驱动AD0832读取模拟电压数值,将AD转换 后的数值,使用串口输出。ADC0832的CHO (通道0)是检测光敏电阻的电压变化。 同时,增加数码管显示AD转换数值功能。 实现串口输出,串口是单片机程序调试种 最常用最重要的工具。在使用前需要主要 开发板当前晶振频率是否为11.0592MHz,如 不是,请更换晶振,或者自行计算定时器 数值。 时间:2011-8-23 ******************************************/ //头文件 #include reg51.h #include INTRINS.H //宏定义 #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //管脚定义 sbit ADC0832_CLK = P3^5; sbit ADC0832_DODI =P2^7; sbit ADC0832_CS = P3^4; /*****************************************************/ //定义引脚(根据硬件改变) sbit BCD6 = P1^5; sbit BCD5 = P1^4; sbit BCD4 = P1^3; sbit BCD3 = P1^2; sbit BCD2 = P1^1; sbit BCD1 = P1^0; #define BCD_PORT P0 /**********************************************************************************************/ code uchar BCD[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x40}; //定义数字显示数组为常量,共阴极 // /*0,1,2,3,4,5,6,7,8,9,0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,-/ //函数声明 /******************************************/ //延时子函时, //参数 d_time 控制延时的时间 //作用,灯亮和熄灭必须持续一定时间,人眼才能看到 void delay(unsigned int time); /******************************************/ //延时子函数 //参数范围 0-65536 void delay(unsigned int time) //参数 time 大小 { //决定延时时间长短 while(time--); } /******************************************/ //毫秒级延时函数 void mDelay(uchar delay) { uchar i; for(;delay0;delay--) { for(i=123;i0;i--); } } /******************************************************************/ //数码管显示函数 void DisplayBCD(ulong temp) { BCD_PORT = BCD[temp / 1000 %10]; BCD6 = 0; mDelay(10); BCD6 = 1; BCD_PORT = BCD[temp / 100 %10]; BCD5 = 0; mDelay(10); BCD5 = 1; BCD_PORT = BCD[temp / 10 %10]; BCD4 = 0; mDelay(10); BCD4 = 1; BCD_PORT = BCD[temp %10]; BCD3 = 0; mDelay(10); BCD3 = 1; BCD_PORT = 0x5e; BCD2 = 0; mDelay(10); BCD2 = 1; BCD_PORT =0x7c; BCD1 = 0; mDelay(10); BCD1 = 1; } //------------------------------------------------ADC0832读取

文档评论(0)

1亿VIP精品文档

相关文档