




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试 题 答 案2006 2007 学年第 1 学期课程名称:单片机及其应用 使用班级:电子、通信、控制2004级命题系别:电子基础教学实验中心 命题人:赵建一、分析简答题(17分)2、0XA000或A000H二、程序分析题(8分)、定时方式2 (4分)、400us或0.4ms (4分)三、编程题(75分)1、程序初始化正确(设置I/O口的初值)、程序结构正确(基本的程序框架正确合理)、程序结果正确(循环的结果灯亮灭的情况正确)21、程序初始化正确(中断的设置等正确)、按键检测正确(中断服务程序书写正确)、数码管结果正确(总线扩展数码管操作正确)、整体结果正确(程序结构及加减数据正确)22、程序初始化正确(中断的设置等正确)、按键检测正确(中断服务程序书写正确)、数码管结果正确(I/O口扩展数码管操作正确)、整体结果正确(程序结构及加减数据正确)3、定时器初始化正确(TMOD,中断,定时器初值正确)、程序结构正确(程序结构,中断服务程序编写正确)、程序结果及数据存放正确(频率算法和结构存放的地址正确)4、程序初始化正确(总线地址正确)、ADC0804操作正确(启动AD转换数据正确)、程序结果及数据存放正确(转换结束检测数据存放地址正确)5、程序初始化正确(定时器及串口初始化正确)、数据发送操作正确(发送数据出正确)、程序结果整体正确(程序框架正确合理)附:程序范例,只做评分参考使用,由于思维方式不同,所以,程序的判分以上面的评分细则为准,只要功能正确,就判为正确程序。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/定义数码管的段选总线地址#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 = 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;Display(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,0x80,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_COM = 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 = 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 = 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料进出仓管理办法
- 教材征订与管理办法
- 半成品储存管理办法
- 博士后站点管理办法
- 团队创建及管理办法
- 江苏村公墓管理办法
- 水污染绩效管理办法
- 数据主人制管理办法
- 宁夏咨询费管理办法
- 新联合协同管理办法
- 2025年四川省凉山雷波县事业单位考试招聘32人高频重点提升(共500题)附带答案详解
- 喷漆车间火灾应急预案
- 路灯设施维修工程施工组织设计方案
- T-CTSS 3-2024 茶艺职业技能竞赛技术规程
- 合唱排练劳务合同范例
- 妇科医疗风险防范
- 新《医用X射线诊断与介入放射学》考试复习题库(含答案)
- 云仓课件教学课件
- Python快速编程入门(第3版) 课件 第8章 面向对象
- ISO9001-2015质量管理体系内审培训课件
- DL∕T 1901-2018 水电站大坝运行安全应急预案编制导则
评论
0/150
提交评论