好文档 - 专业文书写作范文服务资料分享网站

单片机C语言程序设计代码和仿真图

天下 分享 时间: 加入收藏 我要投稿 点赞

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例

#define uchar unsigned char #define uint unsigned int //各数字的数码管段码(共阴) uchar 07,0x7f,0x6f}; //显示缓冲

uchar DSY_Buffer[3]={0,0,0}; //延时

void DelayMS(uint ms) {

uchar t;

while(ms--)for(t=0;t<120;t++); } //主程序 void main() {

uchar i,m,Num; P0=0xff; P2=0xff; while(1) {

m=0xfe;

46

code

DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例

Num=P1; //读取拨码开关的值 DSY_Buffer[0]=Num/100; DSY_Buffer[1]=Num/10; DSY_Buffer[2]=Num; for(i=0;i<3;i++) //刷新显示在数码管上 {

m=_crol_(m,1); P2=m;

P0=DSY_CODE[DSY_Buffer[i]]; DelayMS(10); } } }

21 开关控制报警器

/* 名称:开关控制报警器

说明:用K1开关控制报警器,程序控制P1.0输出两种不同频率的声音,模拟很逼真的报警效果 */

47

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例

#include

#define uchar unsigned char #define uint unsigned int sbit SPK=P1^0; sbit K1=P1^7; //发声函数 void Alarm(uchar t) {

uchar i,j; for(i=0;i<200;i++) {

SPK=~SPK;

for(j=0;j

void main() { SPK=0; while(1) {

if(K1==1) {

48

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例

Alarm(90); Alarm(120); } } }

22 按键发音

/* 名称:按键发音

说明:按下不同的按键会是SOUNDER发出不同频率的声音。本例使用延时函数实现不同频率的声音输出,以后也可使用定时器 */

#include

#define uchar unsigned char #define uint unsigned int sbit BEEP=P3^7; sbit K1=P1^4; sbit K2=P1^5; sbit K3=P1^6; sbit K4=P1^7; //延时

void DelayMS(uint x)

49

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例

{

uchar t;

while(x--) for(t=0;t<120;t++); }

//按周期t发音 void Play(uchar t) { uchar i;

for(i=0;i<100;i++) {

BEEP=~BEEP; DelayMS(t); } BEEP=0; }

void main() {

P1=0xff; BEEP=0; while(1) {

if(K1==0) Play(1);

50

单片机C语言程序设计代码和仿真图

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例#defineucharunsignedchar#defineuintunsignedint//各数字的数码管段码(共阴)uchar07,0x7f,0x6f};//显示缓冲ucharDSY_Buffer[3]={0,0,0};//延时void
推荐度:
点击下载文档文档为doc格式
9kxd01cs1i4uc568cqjj1x2cx44ea901aap
领取福利

微信扫码领取福利

微信扫码分享