收藏 分销(赏)

单片机试题答案.doc

上传人:pc****0 文档编号:6071050 上传时间:2024-11-27 格式:DOC 页数:9 大小:59KB
下载 相关 举报
单片机试题答案.doc_第1页
第1页 / 共9页
单片机试题答案.doc_第2页
第2页 / 共9页
单片机试题答案.doc_第3页
第3页 / 共9页
单片机试题答案.doc_第4页
第4页 / 共9页
单片机试题答案.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、 试 题 答 案2006 2007 学年第 1 学期课程名称:单片机及其应用 使用班级:电子、通信、控制2004级命题系别:电子基础教学实验中心 命题人:赵建一、分析简答题(17分)2、0XA000或A000H二、程序分析题(8分)、定时方式2 (4分)、400us或0.4ms (4分)三、编程题(75分)1、程序初始化正确(设置I/O口的初值)、程序结构正确(基本的程序框架正确合理)、程序结果正确(循环的结果灯亮灭的情况正确)21、程序初始化正确(中断的设置等正确)、按键检测正确(中断服务程序书写正确)、数码管结果正确(总线扩展数码管操作正确)、整体结果正确(程序结构及加减数据正确)22、程

2、序初始化正确(中断的设置等正确)、按键检测正确(中断服务程序书写正确)、数码管结果正确(I/O口扩展数码管操作正确)、整体结果正确(程序结构及加减数据正确)3、定时器初始化正确(TMOD,中断,定时器初值正确)、程序结构正确(程序结构,中断服务程序编写正确)、程序结果及数据存放正确(频率算法和结构存放的地址正确)4、程序初始化正确(总线地址正确)、ADC0804操作正确(启动AD转换数据正确)、程序结果及数据存放正确(转换结束检测数据存放地址正确)5、程序初始化正确(定时器及串口初始化正确)、数据发送操作正确(发送数据出正确)、程序结果整体正确(程序框架正确合理)附:程序范例,只做评分参考使用

3、,由于思维方式不同,所以,程序的判分以上面的评分细则为准,只要功能正确,就判为正确程序。1、#includevoid Delay()unsigned int i=100;while(i-);void main()unsigned char Dat = 0x7f;unsigned char i = 8;P0 = 0x0ff;while(1)if(i-)P0 = Dat;Delay();Dat = 1;Dat += 0x80;elseDat = 0x7f;i = 8;2、(1)#include#include/*总线地址定义区*/#define LED_DIG XBYTE0x9000/定义数码管的

4、段选总线地址#define LED_SEL XBYTE0x8000/定义数码管的位选总线地址/*全局变量定义区*/unsigned char code DisCode = 0x0C0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF;/共阳极数码管码表,定位在ROM中unsigned char Counter = 30;/定义一全局变量/*显示延时*/void Delay()unsigned char i = 10;while(i-);/*带参数传递的显示程序*/void Display(unsigned char *Dat)LED_DIG =

5、 DisCode*Dat;/送段选LED_SEL = 0x01;/选通第一个数码管Delay();LED_SEL = 0;/消隐LED_DIG = DisCode*(Dat+1);LED_SEL = 0x02;/选通第二个数码管Delay();LED_SEL = 0;/*主函数*/void main(void)unsigned char Disbuf = 0,3;/存放欲显示的数据IT0 = IT1 = 1;/开中断EX0 = EX1 = 1;EA = 1;while(1)Disbuf0 = Counter%10;/十六进制数分解成十进制数进行显示Disbuf1 = Counter/10;Di

6、splay(Disbuf);/*外部中断0的中断服务子程序*/void INT0_Ser() interrupt 0/循环加操作if(Counter+=59)Counter = 0;/*外部中断1的中断服务子程序*/void INT1_Ser() interrupt 2/循环减操作if(Counter-=0)Counter = 59;(2)#include/*总线地址定义区*/sbit LED_DIG = P13;sbit LED_COM = P12;unsigned char code DisCode = 0x0C0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x

7、80,0x90,0xFF;/共阳极数码管码表,定位在ROM中unsigned char Counter = 30;/*显示延时*/void Delay(void)unsigned char i = 10;while(i-);/*带参数传递的显示程序*/void Display(unsigned char Dat2)static unsigned char i = 0;unsigned LED_Posit = 0x10;for(i = 0;i2;i+)P0 = DisCodeDati;/送段选LED_DIG = 1;LED_DIG = 0;P0 = LED_Posit;/选通一个数码管LED_C

8、OM = 1;LED_COM = 0;Delay();P0 = 0;/消隐LED_COM = 1;LED_COM = 0;LED_Posit=59)Counter = 0;/*外部中断1的中断服务子程序*/void INT1_Ser() interrupt 2/循环减操作if(Counter-=0)Counter = 59;3、#includeunsigned char counter = 0;unsigned char FRQU = 0;/*主函数*/void main()TMOD = 0x51;TH0 = 500008;/一次定时50msTL0 = 50000;TL1 = 0;TR0 =

9、TR1 =ET0 = EA = 1;while(1);/*T0中断服务子函数*/void T0_SR() interrupt 1TH0 = 500008;/一次定时50msTL0 = 50000;if(counter+=20)/定时一秒counter = 0;TR1 = 0;FRQU = TL1;/读取本次所测频率值TL1 = 0;TR1 = 1;4、#include#include/*总线地址定义区*/#define ADC0804 XBYTE0xB000/定义ADC0804的总线地址sbit ADC_INT = P32;/*全局变量定义区*/unsigned char ADCTemp =

10、0;/定义一全局变量/*延时*/void Delay(void)unsigned char i = 30;while(i-);/*主函数*/void main(void)while(1)ADC0804 = 0xFF;/启动A/D转换Delay();while ( ADC_INT );/等待A/D转换完毕ADCTemp = ADC0804;/读取A/D转换结果Delay();5、#include/*发送数组,只能一个一个的发*/void Send()unsigned char j;unsigned char Dat=1,2,3,4;for(j=0;j4;j+)SBUF = Datj;while(TI=0);TI = 0;/*/void main(void)unsigned char i=0;TMOD = 0x20;TH1 = TL1 = -11059200L/12/32/4800;TR1 = 1;SCON = 0x50;Send();while(1);- 9 -

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服