ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:317.37KB ,
资源ID:18637263      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18637263.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机复习参考答案Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机复习参考答案Word文档下载推荐.docx

1、(1,波特率相同 2,帧格式也要相同)10. 8051单片机最小系统原理图11. 8051控制74HC164, PCF8563, DS18B20 , TLC549 ,数码管要几根线(分别为2根,2根,1根,3根,)12. 异步串行通讯标准波特率是哪些值(11520,12800,14400,19200,28800,38400,57600,115200)13. REG52.H文件的作用是什么(定义了一些宏,把单片机中的寄存器地址封装)14. display.h ,pcf8563.h , ds18B20.h, tlc549.h文件中一般有什么内容display.hvoid shift(unsigne

2、d char n,flag);void display(unsigned char j0,j1,j2,j3,j4,j5,j6,j7);sbit sda=P05;sbit scl=P06;code char led_code19= /display code 0x11,0xd7,0x32,0x92,0xd4,/0,1,2,3,4 0x98,0x18,0xd3,0x10,0x90,/5,6,7,8,9 0x50,0x1c,0x39,0x16,0x38,/a,b,c,d,e 0x78,0xfe,0xef,0xff / f - dot dark ; pcf8563.hsbit sda_8563 = P

3、03;sbit scl_8563 = P02;unsigned char year,mon,day,hou=0x16,min=0x16,sec=0x20,week,last_week=7;const unsigned char time7=0x09,0x11,0x20,0x05,0x11,0x14,0x30;/设置初值:年.月.日.星期.时.分.秒/与PCF8563有关的函数声明void start(void); /开始子程序void stop(void); /结束子程序unsigned char writebyte_8563(unsigned char );/写一个字节=unsigned c

4、har readbyte_8563(void); /读一个字节void read_time_8563(void); /读日期,数据放于year,mon,day,hou,min,sec,weekvoid write_time_8563(void); /写日期初值ds18B20.hsbit DQ = P04;void delay(unsigned int );void init_DS18B20(void);uchar read_one_char(void);void write_one_char(unsigned char);int read_temperature(void);tlc549.hS

5、bit cs_549=P37;Sbit sda_549=P36;Sbit scl_549=P35;Void delay(unsigned char);unsigned char read_549();15. 手工推导数码管显示代码首先运行数组LED=0x00,0x01,0x02,0x40,0x08,0x10,0x20,0x40,0x80,0xff然后标出顺序,根据顺序计算代码16. 延时约约1秒左右的程序void delay1s(void) /延时1000000us,误差 0us unsigned char a,b,c; for(c=167;c0;c-) for(b=171;bb-) for(

6、a=16;aa-); 17. 接P2口的发光二极管显示花样程序#include void delay_1s(unsigned int x);main() while(1) P2=0xfe; /11111110 delay_1s(42000); P2=0xfd; /11111101 delay_1s(42000); P2=0xfb; /11111011 P2=0xf7; /11110111 P2=0xef; /11101111 P2=0xdf; /11011111 P2=0xbf; /10111111 P2=0x7f; /01111111 18. 数码管移位程序(使用74HC164芯片)void

7、 shift(uchar n) uchar m,i; m=tablen; scl=0; for(i=0;i8;i+) if(m&0x80) sda=1; else sda=0; scl=1; scl=0; m=1;19. 写出8个数码管显示(使用74HC164芯片)void shift(unsigned char);sbit sda=P00; / must modifysbit scl=P01; / must modifycode char led_code12= 0xff, 0xff, 0xff, 0xff,0xfe, 0xfd, 0xfb, 0xf7,0xef,0xdf, 0xbf, 0x

8、7f, ;main() unsigned char i;while(1) for(i=0;10;i+) shift(i); void shift(unsigned char n) unsigned char m,i;m=led_coden;scl=0;i+) if (m & 0x80) sda=1; else sda=0; scl=1;m void delay_1s(unsigned int x) while(x- -)20. 写出一个60以内整数变成可以用两个数码管十进制显示的拆分程序Separate(int i) For(i=0;60;I0=i/10;I1=i%10;21. 写出一个255

9、以内整数变成可以用两个数码管(十六进制)显示的拆分程序Separate(unsigned int a) A0=a/16; A1=a%16;22. 设单片机晶振频率为4MHZ,使用定时器1以工作方式2产生周期为200微秒的等宽的方波脉冲,并在P16端输出, 写出完整程序计算:机器周期为T=12/4=3(us)现在要产生200us的等宽方波脉冲, Main()Sbit out=P1.6 TMOD=0x20;/定时器1和工作方式2 TH1=(256-66)/16; TL1=(256-66)%16; EA=1;ET1=1;TR1=1;While(1);Void time1()interuppt 2 P

10、1.6=!P1.6;这道题用定时器很难得到完全准确的时间,这里是用大概的时间!23. 写出两机通讯程序#includei-) dat=dat1; if(sda_8563)dat|=0x01; return(dat);3. 写一个字节程序;unsigned char writebyte_8563(unsigned char dat) /写一个字节 unsigned int i; unsigned char ack=1; for(i=8; if(dat&0x80)sda_8563 = 1; else sda_8563 = 0; dat4&0x0f)*10+(sec&0x0f); min=(min&

11、0x0f)*10+(min& hou=(hou&0x0f)*10+(hou& day=(day&0x0f)*10+(day& mon=(mon&0x0f)*10+(mon& year=(year&0x0f)*10+(year& /BCD码转换成10进制数25. 根据1Wire总线协议和给出DS18B20波形图,写出DS18B20:1. 启动总线程序void init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us /拉高总线 de

12、lay(35);2. 写一个字节程序void write_one_char(unsigned char dat) unsigned char i=0; for (i=8; i i-) DQ = dat&0x01; delay(5); dat3. 读两个字节程序uchar read_one_char(void) unsigned char i = 0; unsigned char dat = 0; /给脉冲信号 /先进行移位操作,以免最后一位不能读出 if (DQ) dat |= 0x80; delay(4); return dat;4. 字节合并与折分程序int read_temperatur

13、e(void) unsigned char a=0; unsigned char b=0; int t=0; init_DS18B20(); /初始化 write_one_char(0xCC); / 跳过读序号列号的操作 write_one_char(0x44); / 启动温度转换 /跳过读序号列号的操作 write_one_char(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a = read_one_char(); b = read_one_char(); t = b; t TEMP_L=Temp;high_T=(TEMP_H /整数部分ow_T =(unsign

14、ed char)(TEMP_L&0x0f)*0.625*10);/小数部分LastTemp = Temp;/保存现在的温度值,准备与下一个读出的温度比较separate(low_T,high_T);display(j0,j1,j2,j3,j4,j5,j6,j7);void separate(unsigned char low_T,high_T)j0=low_T%10;j1=low_T/10;j2=high_T%10;j3=high_T/10;26. 根据SPI总线协议和给出TLC549波形图,写出TLC549芯片的读A/D程序ad549.hunsigned char Read_549()unsigned char value_549=0;sda_549=1; /释放总线scl_549=0; /时钟低cs_549=1; /完成准备状态cs_549=0;delay(10);if(sda_549=1) value_549|=0x01;value_549scl_549=1;return (value_549);27. 本课程的上机实验操作过程有关要点28. 本课程的上机实验时的出错信息的含义

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1