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

单片机原理复习题答案(修正版)(3)

来源:网络收集 时间:2026-01-18
导读: void main (void) { TMOD = 0x01; //T0定时方式1 P1_0-0; TH0 = -(1000/256); //装载计数初值 TL0 = -(1000%6); EA=1; //开总中断 ET0=1; //开T0中断 TR0=1; //启动T0 do {} while(1); } 2、采用定时中断方式,实现

void main (void) {

TMOD = 0x01; //T0定时方式1 P1_0-0;

TH0 = -(1000/256); //装载计数初值 TL0 = -(1000%6); EA=1; //开总中断 ET0=1; //开T0中断 TR0=1; //启动T0 do {} while(1); }

2、采用定时中断方式,实现下图跑马灯控制功能。要求跑马灯的闪烁速率为每秒1次。P127-P130

#define uchar unsigned char //定义下一个方便后面使用 #include //包括一个51标准内核的头文件 bit ldelay-0; //长定时溢出标志 Uchar t=0; //定时溢出次数 void main(void){ //主程序

uchar code ledp[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //跑马灯工作状态

uchar ledi; //用来指示显示顺序 TOMD=0x01; //定义T0,方式1

TH0=0x3c; //T0初值,溢出20次为1s(按12MHz晶振计算) TL0=0xb0;

TR0=1; //启动定时器 ET0=1; //打开定时器0中断 EA=1; //打开总中断 While(1){ //主程序循环

If(ldelay){ //发现有时间溢出,进入处理 ldelay=0; //清除标志

P2=ledp[ledi]; //读出一个值送到P2口 Ledi++; //指向下一个

If(ledi==8)ledi=0; //到了最后一个灯就换到第一个 } } }

//定时器0中断函数 timer0 () interrupt 1{ t++; if(t==20){ t=0;

ldelay=1; //每次溢出一个标志,以便主程序处理 }

TH0=0x3c; //重置T0初值 TL0=0xb0; }

3、编写一程序,将内部RAM中45H单元中的高4位清0,低4位置1后存回46H单元。

MOV 45H,A

ANL A, #00001111B ORL A, #00001111B MOV 46H,A END

4、实验四LED灯和数码显示器中断控制。 #include

char

led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x

58,0x5e,0x79,0x71};

sbit P0_4=P0^4; int count=0; int0_key()interrupt 0 {

P0_4=!P0_4; }

int1_key()interrupt 2 { count++; if(count>0x0f) count=0;

P2=led_mod[count]; }

void main() {

IT0=1;EX0=1;EA=1; IT1=1; EX1=1; P0_4=0; P2=0x3f; while(1); }

单片机原理复习题答案(修正版)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438639.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)