单片机试题库程序及答案.doc

单片机试题库程序及答案.doc

ID:56725727

大小:52.50 KB

页数:17页

时间:2020-07-06

单片机试题库程序及答案.doc_第1页
单片机试题库程序及答案.doc_第2页
单片机试题库程序及答案.doc_第3页
单片机试题库程序及答案.doc_第4页
单片机试题库程序及答案.doc_第5页
资源描述:

《单片机试题库程序及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1、程序功能:通过用DAC0832产生三角波。(DAC0832的数字信号输入端接P0口,/CS接P2.7,/XFER接地,/WR1、/WR2接单片机的/WR,ILE接电源+5V。)①DA0832=i;②for(i=255;i>=0;i--)③for(i=0;i<=255;i++)④while(1)⑤uchari;⑥TF1=0;⑦while(!TF1);⑧TR1=1;⑨voiddelay_1ms()⑩#include#include//存放绝对地址宏定义的函数原型#incl

2、ude﹍﹍﹍﹍﹍#defineucharunsignedchar#defineuintunsignedint#defineDA0832XBYTE[0X7FFF]﹍voiddelay_1ms()﹍﹍﹍﹍﹍{TH1=0XFC;TL1=0X18;TR1=1;﹍﹍while(!TF1);﹍﹍﹍﹍//等待1ms定时时间到﹍﹍﹍TF1=0;﹍﹍﹍}voidmain(){﹍uchari;﹍﹍﹍﹍﹍TMOD=0X10;﹍﹍﹍while(1)﹍﹍﹍{﹍﹍for(i=0;i<=255;i++)﹍﹍﹍﹍//形成三

3、角波输出值,逐渐增大,最大为255{DA0832=i;//D/A转换输出delay_1ms();}﹍﹍for(i=255;i>=0;i--)﹍﹍﹍﹍{﹍DA0832=i;﹍﹍﹍﹍﹍;//D/A转换输出delay_1ms();}}}2、程序功能:通过DAC0832产生锯齿波。(DAC0832的数字信号输入端接P0口,/CS接P2.7,/XFER接地,/WR1、/WR2接单片机的/WR,ILE接电源+5V。)选择项:①delay_1ms();②DA0832=i;③for(i=0;i<=255;i++)④TMOD=

4、0X10;⑤voidmain()⑥TF1=0;⑦while(!TF1);⑧TL1=0X18;⑨#defineDA0832XBYTE[0X7FFF]⑩#include源程序:﹍#include﹍﹍﹍﹍﹍//存放绝对地址宏定义的函数原型#include#defineucharunsignedchar#defineuintunsignedint#defineDA0832XBYTE[0X7FFF]﹍﹍﹍﹍﹍﹍voiddelay_1ms(){TH1=0XFC;T

5、L1=0X18;﹍﹍﹍﹍TR1=1;﹍while(!TF1);﹍﹍﹍﹍﹍﹍TF1=0;﹍﹍﹍﹍﹍}voidmain()﹍﹍﹍﹍﹍﹍{uchari;﹍TMOD=0X10;﹍﹍﹍﹍﹍while(1){for(i=0;i<=255;i++)﹍﹍﹍﹍﹍﹍{﹍﹍DA0832=i;﹍﹍﹍﹍//D/A转换输出﹍delay_1ms();﹍﹍﹍﹍﹍}}}3、程序功能:用单片机实现简易数字钟,显示小时、分和秒。(单片机P2口输出取反后控制8个共阴极数码管的位码,P0口控制每个数码管的段码)选择项:①calc();②display

6、();③if(time[2]>23)④if(time[1]>59)⑤if(time[0]>59)⑥P0=dispcode[time[i]/10];⑦P0=dispcode[time[i]%10];⑧for(i=0;i<4;i++)⑨voiddelay(void)⑩uchartime[4]={23,59,58,0};源程序:#include"reg51.h"//头文件#defineucharunsignedchar//宏定义uchardispcode[10]={0x3f,0x06,0x5b,0x4f,0x66,

7、0x6d,0x7d,0x07,0x7f,0x6f,0x40};//定义共阴数码管0~9显示码数组﹍uchartime[4]={23,59,58,0};﹍﹍﹍﹍﹍//设置时间初值voiddelay(void)//延时函数{uchark;for(k=250;k>0;k--);}voiddisplay(void)//显示函数{uchari,k;k=0x01;//设置位选线初值﹍for(i=0;i<4;i++)﹍﹍﹍﹍﹍//循环4次{P2=0;//关闭显示﹍P0=dispcode[time[i]%10];﹍﹍﹍﹍﹍/

8、/输出个位数的段码P2=k;//送位码k=k<<1;//位码左移一位delay();//调用延时函数P2=0;//关闭显示﹍P0=dispcode[time[i]/10];﹍﹍﹍﹍﹍//输出十位数的段码P2=k;//送位码k=k<<1;//位码左移一位delay();//调用延时函数}P2=0;//关闭显示}voidcalc(void)//时间值计算函数{time[0]++;//秒加1﹍if(tim

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。