教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

《单片机原理及应用(C51)》(5)

来源:网络收集 时间:2026-08-09
导读: 11、定时器控制单只LED(说明:LED在定时器的控制下不断闪烁,闪烁间隔时间为1S )。 ①查询方法: ②中断方法: #include #include sbit LED=P0^0; unsigned char T_Count=0; void main() sbit LED=P0^0; { unsign

11、定时器控制单只LED(说明:LED在定时器的控制下不断闪烁,闪烁间隔时间为1S )。 ①查询方法: ②中断方法: #include #include sbit LED=P0^0; unsigned char T_Count=0; void main() sbit LED=P0^0; { unsigned char i; void main() { TMOD=0x01; //定时器0工作方式1 TMOD=0x01; //定时器0工作方式1 TH0=0xec; //5ms定时设初值 TR0=1; TL0=0x78; while(1) IE=0x82; //允许T0中断 { } //1s定时 TR0=1; for(i=0;i<200;i++) { TH0=0xec; while(1); } TL0=0x78; //T0中断函数 while(!TF0); TF0=0; void LED_Flash() interrupt 1 } { TH0=0xec; //恢复初值 TL0=0x78; LED=~LED; if(++T_Count==200) //1s开关一次LED } } { LED=~LED; T_Count=0;

}}

12、 利用T0的计数功能,对按下按键的次数计数,显示在数码管上。一通电,数码管显示“00” 。 #include

unsigned char code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char count=0; //计数器赋初值 RP1sbit p1_0=P1^0; RESPACK-7

VCCint0_srv () interrupt 1{ //T0中断函数

U1 if(++count==100) count=0; //判断循环是否超限 LED1a1939XTAL1P0.0/AD0b38 P0=table[count/10]; //显示十位数 P0.1/AD1c37P0.2/AD2d1836XTAL2P0.3/AD3e35 P2=table[count]; //显示个位数 P0.4/AD4f34P0.5/AD5g33P0.6/AD6932} RSTP0.7/AD7a21P2.0/A8b22 P2.1/A9c23P2.2/A10d2924PSENP2.3/A11e3025main(){ ALEP2.4/A12f3126EAP2.5/A13g27P2.6/A142880C51 P0=P2=table[0]; //显示初值“00” P2.7/A15110P1.0P3.0/RXD211P1.1P3.1/TXD TMOD=0x06; //T0计数方式2 312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0 TH0=TL0=0xff; //计数初值 615P1.5P3.5/T1BUT716P1.6P3.6/WR817P1.7P3.7/RD ET0=1; //开中断

EA=1;

TR0=1; //启动T0 while(1); }

12345678LED2 21

13、定时器控制3只LED(说明:LED在定时器的控制下不断闪烁,闪烁间隔时间为1S )。 #include

unsigned char T_Count=0;

C2C122pf22pf//T0中断函数 0R11939XTAL1P0.0/AD0void LED_Flash() interrupt 1 38220P0.1/AD137X1R2P0.2/AD212M1836{ TH0=0xec; //恢复初值 XTAL2P0.3/AD335220P0.4/AD434R3P0.5/AD5 TL0=0x78; 33P0.6/AD6932220RSTP0.7/AD7 P0=P0&0x49; //屏蔽多余的位 22021C3P2.0/A822P2.1/A910uF if(++T_Count==200) //1s开关一次LED 23P2.2/A102924PSENP2.3/A11302510k { P0=~P0; ALEP2.4/A123126EAP2.5/A1327P2.6/A14 T_Count=0; 28P2.7/A15110 } P1.0P3.0/RXD211P1.1P3.1/TXD312P1.2P3.2/INT0} 413P1.3P3.3/INT1514P1.4P3.4/T0void main() 615P1.5P3.5/T1716P1.6P3.6/WR817{ TMOD=0x01; //定时器0工作方式1 P1.7P3.7/RDAT89C51 TH0=0xec; //5ms定时设初值 CLOCK=12MHz TL0=0x78;

IE=0x82; //允许T0中断 TR0=1; while(1); }

14、根据如下电路,编程实现由DAC0832输出一路三角波的功能

#include #include

#define DAC0832 XBYTE[0xfeff] //设置DAC0832的访问地址 unsigned char num; void main() { while (1) {

for (num = 0 ; num < 255 ; num++) //上升段波形 DAC0832=num;

for (num = 255 ; num > 0 ; num--) //下降段波形 DAC0832=num; //DAC0832转换输出 } U1D01939XTAL1P0.0/AD0} D138P0.1/AD1+5VD237P0.2/AD2U2D31836 XTAL2P0.3/AD3D4IOUT1351011P0.4/AD4GNDIOUT1D5RFBIOUT234912P0.5/AD5RFBIOUT2 D6D733813P0.6/AD6VREFDI7D7D0D6932714RSTP0.7/AD7DI0DI6D1D5615 DI1DI5CSD2D421516P2.0/A8DI2DI4D322417P2.1/A9DI3XFER 23318P2.2/A10GNDWR2WR2924219PSENP2.3/A11WR1ILE(BY1/BY2)CS3025120 ALEP2.4/A12CSVCC+5V3126EAP2.5/A1327DAC0832P2.6/A14 28P2.7/A15RFBA110 P1.0P3.0/RXD211U4P1.1P3.1/TXDB312P1.2P3.2/INT0 IOUT1413P1.3P3.3/INT1C514P1.4P3.4/T0IOUT2615 P1.5P3.5/T1DWR7168P1.6P1.7P3.6/WRP3.7/RD17OPAMP80C51D1D2D3 22 15、采用ADC0809设计数据采集电路,将IN7通道输入的模拟量信号进行测量,结果以16进制显示。

#include

#include

#define AD_IN7 XBYTE[0xfeff] //IN7通道地址 sbit ad_busy=P3^3; //定义检测单元变量 void main(void){ while(1){

AD_IN7 = 0; //启动A/D信号 while(ad_busy==1); //等待A/D转换结束 P1 = AD_IN7; //转换数据显示 }}

16、利用两片74LS273扩展16位并行I/O口,且使其外接LED按1010 1010 0000 1111的规律发光。 U1D8 U3AR10D7R9 D6R8 D5U3:BR7 U2D4R6D3 R5D2R4 D1R3 D16U3R16 D15R15 D14R14 D13R13D12 R12D11R11 D10R2 D9R1#include 87654321P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.7/RDP3.6/WRP3.5/T1P3.4/T0P3.3/INT1P3.2/INT0P3.1/TXDP3.0/RXDP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A817161514131211102827262524232221323334353637383923UQ71270UQ674LS02270UQ5+5V27056UQ43130294EAALEPSEN27074LS02111181714138743MRCLKD7D6D5D4D3D2D1D0UQ32709RST18XTAL219XTAL1P0.7/AD7P0.6/AD6P0.5/AD5P0.4/AD4P0.3/AD3P0.2/AD2P0.1/AD1P0.0/AD0P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7Q7Q6Q5Q4Q3Q2Q1Q0191615129652UQ7UQ6UQ5UQ4UQ3UQ2UQ1UQ0UQ2270UQ1270UQ027074LS273MRCLKD7D6D5D4D3D2D1D080C51111181714138743VQ7270P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7Q7Q6Q5Q4Q3Q2Q1Q0191615129652VQ7VQ6VQ5VQ4VQ3VQ2VQ1VQ0VQ6270VQ5270VQ427074LS273VQ3270VQ2270VQ1270VQ0270 23

#define U2 XBYTE [0x7fff] #define U3 XBYTE [0xbfff] void main(void){

U2=0xaa; //U2送1010 1010b U3=0x0f; //U3送0000 1111b while(1); }

17、对RV1电压进行实时AD转换,结果以十进制数形式进行动态显示。 C1C230PFX130PFU1R1-R8 /1kVCC19XTAL1P0.0/AD039P0.1/AD138CRYSTAL18P0.2/AD237XTAL2P0.3/AD336P0.4/AD435C3P0.5/AD5349P0.6/AD633RSTP0.7/AD73210uFR9P2.0/A82110kP2.1/A92229P2.2/A1023频率5kHz30PSENP2.3/A112431ALEP2.4/A1225U3(CLOCK)EAP2.5/A1326P2.6/A1427P2.7/A1528D01D12P1.0P3.0/RXD10U3P3.1/TXD1110D23P1.126P3.2/INT01227IN0CLOCK6D34P1.2P3.3/INT11328IN1STARTD45P1.3P3.4/T0141IN27D56P1.4?RV1P3.5/T1152IN3EOCD67P1.5P3.6/WR164.7K3IN421D7D78P1.6P1.7P3.7/RD174IN5OUT120D65IN6OUT280C51IN7OUT319D525OUT418D424ADD AOUT58D323ADD BOUT615D222ADD COUT714D1ALEOUT817D01216VREF(+)VREF(-)OE9ADC0808 #include …… 此处隐藏:3552字,全部文档内容请下载后查看。喜欢就下载吧 ……

《单片机原理及应用(C51)》(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/454241.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)