单片机实验程序(全)

上传人:豆浆 文档编号:92188437 上传时间:2019-07-07 格式:DOC 页数:13 大小:41.02KB
返回 下载 相关 举报
单片机实验程序(全)_第1页
第1页 / 共13页
单片机实验程序(全)_第2页
第2页 / 共13页
单片机实验程序(全)_第3页
第3页 / 共13页
单片机实验程序(全)_第4页
第4页 / 共13页
单片机实验程序(全)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《单片机实验程序(全)》由会员分享,可在线阅读,更多相关《单片机实验程序(全)(13页珍藏版)》请在金锄头文库上搜索。

1、2基本输入输出实验(蜂鸣器控制程序)/*名称:基本输入输出(I/O)程序说 明:*/#include/包含头文件#define uint unsigned int /宏定义#define uchar unsigned char sbit buzzer=P35;sbit Keyadd=P20;sbit Keydec=P21;sbit Keycom=P22; void Delay(uint z)uint x;uchar y;for(x=z;x0;x-)/延时 for(y=250;y0;y-);void main(void) uchar voice; voice=3; while(1) if(Key

2、add=0)/按键被按下时为0voice=1;if(Keydec=0)voice=2;if(Keycom=0)voice=3;if(voice=1)buzzer=buzzer; Delay(1);else if(voice=2)buzzer=buzzer; Delay(20);elsebuzzer=1; 3定时器中断实验/*名称:实验三作业说 明:*/#include/包含头文件#define uint unsigned int /宏定义#define uchar unsigned char uchar counter;uchar voice;sbit buzzer=P35;sbit Keya

3、dd=P20;sbit Keydec=P21;sbit Keycom=P22;sbit Keycan=P23;/-计算计数器初值-/#define T0_TIME1254 /定时时间us为单位#define T0ReLoadL1 (65536-(uint)(T0_TIME1*11.0592/12) % 256)#define T0ReLoadH1 (65536-(uint)(T0_TIME1*11.0592/12) / 256) /-计算计数器初值-/#define T0_TIME21400 /定时时间us为单位#define T0ReLoadL2 (65536-(uint)(T0_TIME2

4、*11.0592/12) % 256)#define T0ReLoadH2 (65536-(uint)(T0_TIME2 *11.0592/12) / 256)/*名称:主程序说明:*/void main(void)/-初始化TIMER0 TMOD|=0x01;/定时器T0方式1TH0 =T0ReLoadH1;/装载计数器初值 TL0 =T0ReLoadL1;TR0 =1;/启动Timer0ET0 =1;/Timer0中断使能EA =1;/总开关使能/-大循环counter=0;while(1)if(Keyadd=0)/按键被按下时为0voice=1;if(Keydec=0)voice=2;i

5、f(Keycom=0)voice=3;/*名称:Timer0中断服务子程序功能:产生10ms定时中断*/void Timer0_Int(void) interrupt1if(voice=1) TH0=T0ReLoadH1;/重装载计数器初值 TL0=T0ReLoadL1; buzzer=buzzer;if(voice=2) TH0=T0ReLoadH2; TL0=T0ReLoadL2; buzzer=buzzer;if(voice=3) 4 LED数码管动态扫描显示实验#include#define uint unsignedint#define uchar unsignedchar/-LED

6、显示代码-/ bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0/ dp G C D E F B Auchar code seg10=0x3f,0x22,0x5b,0x73,0x66,/0,1,2,3,40x75,0x7d,0x23,0x7f,0x77,;/5,6,7,8,9ucharidatadis_buff_14;/第一行 LED显示缓冲ucharidatadis_buff_24;/第二行 LED显示缓冲ucharcounter;sbitU4_HC574_CP=P10;/S3 显示锁存74HC574脉冲sbitU5_HC574_CP=P11; /S4 显示锁存7

7、4HC574脉冲#define T0_TIME10000 /定时时间us为单位#define T0ReLoadL (65536-(uint)(T0_TIME*11.0592/12) % 256)#define T0ReLoadH (65536-(uint)(T0_TIME*11.0592/12) / 256)/*名称:数码管显示驱动子程序说明:*/void Display(void)uchardatai,j,k,temp00;temp00=0x20; for(i=0;i4;i+)P1 |= 0x3C;/关所有扫描位P0=dis_buff_1i;U4_HC574_CP=0;U4_HC574_CP

8、=1;/S3显示锁存74HC574脉冲 上升沿P0=dis_buff_2i;U5_HC574_CP=0;U5_HC574_CP=1;/S4显示锁存74HC574脉冲 上升沿P1 &= (temp00);/送扫描位for(j=0;j20;j+)/延时 for(k=0;k=1;/扫描位移位P1|=0x3C;/关所有扫描位/*名称:主程序*/void main(void)uchardatabai,shi,ge;uintdataNum;uchardatatemp00;TMOD|=0x01;/定时器T0方式1TH0 =T0ReLoadH;/装载计数器初值 TL0 =T0ReLoadL;TR0 =1;/启

9、动Timer0ET0 =1;/Timer0中断使能EA =1;/总开关使能counter=0;Num=999;for(;)bai=Num/100;temp00=Num-bai*100;shi=temp00/10;ge =temp00-shi*10;dis_buff_10=0;dis_buff_11=0;dis_buff_12=0;dis_buff_13=0;dis_buff_20=0;dis_buff_21=segbai;dis_buff_22=segshi;dis_buff_23=segge;if(counter=100) counter=0;Num-;if(Num=0)Num=999;Display();/调用LED数码管显示子程序void Timer0_Int(void) interrupt1 TH0=T0ReLoadH;/重装载计数器初值 TL0=T0ReLoadL;counter+;5实时时钟与温度传感器实验(只需main()部分代码)void main(void)uchar Hour,Min,Sec;/-初始化TIMER0 TMOD|=0x01;/定时器T0方式1TH0 =T0ReLoadH;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号