第一范文网 - 专业文章范例文档资料分享平台

单片机期末考试卷集锦

来源:用户分享 时间:2025/6/3 4:43:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

(3)拟选T1以模式几定时?写出模式字TMOD的值; (4)计算T1的定时初值;

(5)编写主函数和T1中断服务函数,实现流水灯功能。 答案:(1)低电平发光二极管亮 (2)125ms;2次

(3)模式1,TMOD=0X11 (4)3036

(5)C语言程序

#include unsigned char aa=0x80; 主函数: main()

{ TMOD=0x21;

TL1=220, TH1=11; EA=1, ET1=1; TR1=1; P1=~aa; while(1); }

T1中断服务函数:

void int_t1(void) interrupt 3 { TL0=220, TH0=11; aa<<=1; P1=~aa; }

13、在一个fosc为12MHz的89C52系统中接有一片ADC0809,它的地址为7FFFH,试编写ADC0809初始化程序和定时采样通道2的程序(假设采样频率为1ms/次,每次采样4个数据)。 答案:#include #include

define DAC0809 XBYTE[0x7fff]

unsigned char xdata buffer[4] _at_ 0xa0;

void main() {

TMOD=0x01; TH0=0xFC; TL0=0x18; EA=1; ET0=1; TR0=1; DAC0809=2; while(1); }

void time0_srv() interrupt 1 {

unsigned char i; TH0=0xFC; TL0=0x18; for(i=0;i<4;i++) {

DAC0809=2;

delay();

buffer[i]=DAC0809; } }

14、编写一函数move_xdata,把程序存储器地址从0x200开始的50个字节数据,传送到片外RAM的数组array中。

答案:unsigned char xdata array[50]; void move_xdata() { unsigned char i; unsigned char code *pp; pp=0x200; for(i=0;i<50;i++) array[i]=*(pp+i); } }

15、编写一函数move_xdata,把程序存储器地址从0x200开始的50个字节数据,传送到片外RAM的数组array中。

答案:(1)定时时间为1000μs/2,

计数值为1000μs/2/机器周期=500,T0初值为65036 (2)C语言程序: #include sbit P10=P1^0; 主函数: main() { TMOD=0x21; TL0=12; TH0=254; EA=1; ET0=1; TR0=1; while(1); }

T0中断服务函数:

void int_t0(void) interrupt 1 { TL0=12; TH0=254; P10=~P10; }

16、编写一函数to_data,把传送给它的十六进制数的ASCII码转换成十六进制数,并将其返回。 答案:unsigned char to_asc(char d) { d-=0x30; If(d>9) d-=7; return d; }

搜索更多关于: 单片机期末考试卷集锦 的文档
单片机期末考试卷集锦.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6gl811uh598xswm2yhl07916095ebr009cd_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top