欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    北工大单片机期末复习题A4一纸开概要.docx

    • 资源ID:2661979       资源大小:333.73KB        全文页数:50页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    北工大单片机期末复习题A4一纸开概要.docx

    1、北工大单片机期末复习题A4一纸开概要第10章 串行接口技术1. 8051有一个全双工的串行口,下列功能中该串行口不能完成的是(D)。(A)网络通信;(B)异步串行通信;(C)作为同步移位寄存器; (D)位地址寄存器。2判断下列说法是否正确:答:(A)串行口通讯的第9数据位的功能可由用户定义。(对)(B)发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。(对)(C)串行通讯帧发送时,指令把TB8位的状态送入发送SBUF中。(错)(D)串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(对)(E)串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。(对)3串

    2、行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有3种工作方式:方式0、方式1、方式2、方式3;有3种帧格式:方式0为8位数据,方式1为8位数据、起始位、终止位,方式2和3具有相同的帧格式,为9位数据、起始位、终止位;方式0的发送和接收都以fosc/12为固定波特率,方式2的波特率=2SMOD/64fosc,方式1和方式3的波特率=2SMOD/32定时器T1的溢出率,T1的溢出率=(256-X)*12/fosc4为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?若已知时钟频率、通讯波特率,如何计算其初值?答:因为定时器/计数器在方式2下,初值可以自动重装,

    3、这样在做串口波特率发生器设置时,就避免了重装参数的操作。定时器1在工作方式2时的初始值为 X=256-(SMOD+1)/(384*波特率)*fosc5为什么MCS-51串行口的方式0帧格式没有起始位(0)和停止位(1)?答:因为串行口的方式0是同步移位寄存器方式,不是用于异步串行通讯的,所以收发双方不需要确定数据帧的起始和终止,所以没有起始位(0)和停止位(1)。6.常用波特率及其参数选择Fosc(MHZ) SMOD TH1初值 19200 11.0592 1 FDH 9600 0 FDH 4800 0 FAH 2400 0 F4H 1200 0 E8H例题7.单片机主频6MHz,波特率480

    4、0bps 要把发送端的30H3FH发送到接收端的40H4FH。写出初始化程序,接发程序,并写出设计过程:方式1,3 X=256-Fosc*(SMOD+1)/(384*波特率)=256-6M*1/(384*4800)=251.6=FCH发送端:ORG 0000HAJMP MAIN_AORG 0023HAJMP SENDORG 0100HMAIN_A:MOV TMOD,#20HMOV TH1,#0FCHMOV TL1,#0FCHSETB TR1MOV SCON,#0C0H设置串口工作方式3MOV PCON,#00H波特率不加倍MOV R0,#30HMOV R2,#10HSETB EASETB ES

    5、MOV A,R0MOV C,PMOV TB8,C奇偶校验MOV SBUF,ASJMP $-ORG 0200HSEND:CLR TIDJNZ R2,SEND1SJMP FHSEND1:INC R0MOV A,R0MOV C,PMOV TB8,CMOV SBUF,AFH: RETI-END接受端:ORG 0000HAJMP MAIN_B-ORG 0023HAJMP RECV-ORG 0100HMAIN_B:MOV TMOD,#20HMOV TH1,#0FCHMOV TL1,#0FCHSETB TR1MOV SCON,#0C0HMOV PCON,#00HMOV R0,#40HMOV R2,#10HS

    6、ETB RENSETB EASETB ESSJMP $-ORG 0200HRECV:CLR RIMOV A,SBUFJNB PSW.0,PZJNB RB8,ERRSJMP RIGHTPZ:JB RB8,ERRRIGHT:MOVR0,AINC R0DJNZ R2,FHCLR F0FH: RETI-ERR:CLR RENCLR ESCLR EASETB F0RETI-END-第9章D/A转换和A/D转换例题1用DAC0832作为波形发生器,请编制出连续梯形的程序,设0832的口地址为C004H. ORG O100HMAIN:MOV DPTR , #0C004CLR ALOOP1:MOVX,DPTR

    7、,ALCALL DELAYINC ACJNE A, #OFFH,LOOP1;MOV R2,#00HLOOP2:MOVX,DPTR,ALCALL DELAYINC R2CJNE R2, #OFFH,LOOP2;LOOP3:MOVX,DPTR,ALCALL DELAYDEC ACJNE A,#00H,LOOP3;MOV R2,#00HLOOP4:MOVX,DPTR,ALCALL DELAYINC R2CJNE R2, #OFFH, LOOP4;SJMP LOOP1DELAY:MOV R3, #XX1DEL1: MOV R4, #XX2DEL2: MOV R5, #XX3DEL3: DJNZ R5,

    8、 DEL3DJNZ R4, DEL2 DJNZ R3, DEL1RETEND-例题2若要求设计一数据采集系统,输入为0-5V,由IN1输入,使用AD0809芯片每隔20ms采集一次,共采集16次,并将转换后的数据存入30H开始的单元中。(1) 设计有关电路图,含A/D,译码及相关电路,接线清楚,写明信号名称;(2) 编制有关程序,设AD起始口地址为学号最后2位X8,地址译码使用A9-A3系统时钟为12MHZ(提示:使用定时器定时中断,并写明定时器参数计算过程;修改上图中的p2.0 用A3到A9译码,产生地址:24x8,24=0011000 A3-A5接ABC,A9-A6产生0011逻辑选中译码

    9、器。x=216 - tfosc/12=216-20X12X1000/12=45536=B1E0HORG 0000HAJMP MAINORG 001BHAJMP T_1MAIN:MOV R4, #10HMOV R1,#30HMOV SP, #60HMOV TOMD, #10H MOV TH1, #0B1H MOV TL1, #0E0H 20ms定时SETB EASETB ET1 开中断允许SETB TR1MOV DPTR, #XX+1MOV A, #00HMOVX DPTR, A;启动转换SJMP $-T_1: DJNZ R4 LP1SJMP EXITLP1:CLR TR1MOV DPTR, #

    10、XX+1MOVX A, DPTRMOV R1,AINC R1MOV TH1, #0B1H MOV TL1, #0E0H SETB TR1; 启动20ms定时SJMP OUT_1EXIT:CLR EA 关中断允许OUT_1:。RETIEND第8章 LED显示器和键盘 键盘的按键按MN行列矩阵排列,故MN个键的键盘只需要M+N条单片机的I/O端口线。 48行列式非编码键盘的接口如下页所示:监视键盘方法行扫描法和反转法 CPU通过程序监视非编码盘,在发现有按键按下时转入相应按键处理程序执行。地址偏移量N = 行首值 + 列值,查键值表就可得被按键的键值1.行扫描法 1)判断有无按键 令列输出(PA口

    11、)全为零,读行值(PC口),若行值低4位为全1,无按键。否则有按键。 2)判断哪一个键按下 轮流扫描PA口,依次使每条列线变为低电平后,读行值,若非全1,则按键在此列中,形成键值;否则扫描下一列。 由此,可确定按键的行首键号和列值,进而求得键值偏移量。 按键类型判别: 若被按键的键值=10H,被按键为功能键。2.反转法 1)设定PA为输出方式,PC为输入方式。 2)使PA输出全0,读PC。(PC=1101) 3)设定PA为输入方式,PC为输出方式 4)将刚才读入的PC内容从PC输出。(PC=1101)5)读PA。(PA=11111011) 6)由PA、PC得到键值。共阴极(1亮0不亮);共阳极

    12、(0亮1不亮)例题1. 用8155对共阴LED显示块进行控制,假设要显示:2012,1字样,写出对应字型码,画流程图8155口地址是9000H。(图形:8155a口输出数据c口输出六个控制位)共阳 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H 8-F 80H,90H,88H,83H,0c6H,0a1H,86H,8eH 共阴3FH,06H,5BH,4FH,66H,6DH,7DH,07H 8-F7FH,6FH ,77H,7CH,39H,5EH,79H,71H,00HORG 1000HORG 0079H:显示的数据段DB 02H,00H,01H,02H,11H,02HOR

    13、G 1000HDIS: MOV A,#0000 0011BMOV DPTR,#9000HMOVX DPTR,ALP1:MOV R0,#79HMOV R3,#0FEHDIS0: MOV DPTR, #9003HMOV A #0FFHMOVX DPTR,AMOV DPTR, #9003HMOV A,R0ADD A,#0CHMOVC A,A+PCMOVX DPTR,AMOV A,R3MOV DPTR,#9001HMOVX DPTR,AACALL DELAYMOV A,R3JNB ACC.5,LP1RL A MOV R3,AINC R0 SJMP DIS0DIS_RET: RET;- TAB: DB

    14、3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H,80H(小数点); -DELAY: MOV R7,#02H MOV R6,#0FFH DJNZ R6,$ DJNZ R7,$-4 RET ;- END例题2. 用8155对键盘进行控制。键盘的布局如图,请根据电路图,可写16个键盘的编码,若按键为A,则转打印程序PRINT,画出键盘扫描的程序流程图。键值键名0123456789ABCDEF键值1284013951141062151173键盘位置图 0123456789ABCDEF键盘扫描程序:R4 列号

    15、R2 扫描码MAIN:ACALL KEYSUBB A,06HJZ PRINTSJMP MAIN ORG 0100HKEY: ACALL KSJNZ KEY_1ACALL DELAYAJMP KEYKEY_1: ACALL DELAYACALL DELAYACALL KSJNZ KEY_2AJMP KEYKEY_2: MOV R2, #11111110BMOV R4, #00HKEY_3: MOV DPTR, #0FF21HMOV A, R2MOVX DPTR, AINC DPTRMOVX A,DPTRCPL AJZ NEXTJNB ACC.0 KEY_4MOV A, #00HAJMP KEY_

    16、7KEY_4: JNB ACC.1, KEY_5MOV A, #4AJMP KEY_7KEY_5: JNB ACC.2, KEY_6MOV A, #8AJMP KEY_7KEY_6: MOV A, #12KEY_7: ADD A, R4PUSH ACCKEY_8: ACALL DELAYACALL KSJNZ KEY_8POP ACCRETNEXT: INC R4MOV A, R2JNB ACC.3, KEYRL AMOV A,R2AJMP KEY_3KS: MOV DPTR, #0FF21HMOV A, #00HMOVX DPTR, AINC DPTRMOVX A,DPTRCPL AANL

    17、A, #0FHRETORG 2000H PRINT:-RET第7章 程序存储器拓展和数据存储器拓展8155命令字:TM2,TM1=01;停止定时器/计数器TM2,TM1=10;若正在计数,计数长度减为0时停止计数TM2,TM1=11;启动,置方式和长度后立即启动计数若正在计数,溢出后按新的方式和长度计数。8155状态字8155的定时器(14位的减1计数器)M2M1=00: 输出单个方波M2M1=01:输出连续方波M2M1=10:输出单个脉冲M2M1=11:输出连续脉冲1.若A口定义为基本输入方式,B口定义为基本输出方式,对输入脉冲进行16分频,则8155的I/O初始化程序为: START:MO

    18、V DPTR,#7F05H ;定时器高8位地址7F05H MOV A,#40H ;定时器高字节送A MOVX DPTR,A ;装入高字节 DEC DPTR MOV A,#10H MOVX DPTR,A; 装入定时器低字节 MOV DPTR,#7F00H;指向命令状态口 MOV A,#0C2H ;设置命令字A入B出 MOVX DPTR,A ;装入命令字,启动定时器 读8155RAM(7E007EFF)的F1H单元内容: MOV DPTR,#7EF1H MOVX A , DPTR ; 将立即数41H写入8155RAM的20H单元中: MOV A,#41H MOV DPTR,#7E20H MOVX

    19、DPTR,A;2764的地址范围:00001FFFH;6264的地址范围:2000H3FFFH第6章 定时器/计数器1. 使用T0定时,使得由P0.7输出周期为2ms的方波。设单片机时钟为6MHz。使用方式0和方式1分别实现。请编制程序。1)计算定时器初值X。 X= 213 500 = 8192500 = 7692换算成16进制数为1E0CH用高八位和低五位表示(TH0、TL0):F00CH2)编制初始化程序:T0工作在方式0,方式控制字为00H,TH0=F0H,TL0=0CH编程: ORG 1000H MOV TMOD,#00H; * MOV TH0,#0F0H MOV TL0,#0CH M

    20、OV IE,#82H SETB TR0 WAIT:SJMP WAIT 3)编制中断程序:ORG 0000H ; 上电复位入口地址LJMP 1000HORG 000BHLJMP TINTORG 300HTINT: CPL P0.7MOV TH0,#0F0HMOV TL0,#0CHMOV IE,#82HRETI 2. 设8031时钟频率为12MHz,请编出利用定时器/计数器T0在P1.0引脚上输出周期为2s的方波程序。1)计算定时器初值X。X=216 50ms/1us = 15536 换算成16进制数为3CB0H2)编制初始化程序: T0工作在方式1,方式控制字为01H,TH0=3CH,TL0=B

    21、0H编程: ORG 1000H MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV IE,#82HSETB TR0; MOV TCON,#10H* MOV R0, #14H WAIT:SJMP WAIT 3)编制中断程序: ORG 0000H ; 上电复位入口地址 LJMP 1000H ORG 000BH AJMP TINT ORG 0080HTINT: DJNZ R0, NEXT; CPL P1.0 MOV R0, #14H NEXT: MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H RETI计数初值的计算:计数器以增1的方式计数

    22、,溢出时申请中断。1、根据定时值计算出所需要的计数时钟周期数N。t=Tc*N N=t /Tc Tc计数时钟周期=机器周期=振荡周期*122、根据选择的工作方式,计算计数器溢出所需的计数初值X方式0:(13位)X = 213 N方式1:(16位)X = 216 N方式2:(8位) X = 28 N定时时间 = 振荡周期*12*(2n X)X= 2n t/(Tc*12)= 2n t * f /123、将X化为16进制数装入TH和TL中方式0:(M1 M0=0 0) 13位定时/计数器方式16位寄存器只用13位,当TLx的低5位溢出时向THx进位,而THx溢出时向中断标志TFx进位硬件置位TFx,申

    23、请中断相关参数的计算:(1)最大计数量:nmax=213=8192(2)已知要求的计数量n,则计数器初值为: x=213 - n=8192 - n(3)最大定时时间:tmax=21312/fosc=819212/fosc(4)已知要求的定时时间t,则定时器的初值为:x=213 - tfosc/12=8192 - tfosc/12求得初值以后,应将x分配到TLx和THx:(TLx)=000x4x3x2x1x0B (THx)=x12x11x10x9x8x7x6x5B方式1:(M1 M0=0 1) 16位定时/计数器方式 结构图同方式0,TL1和 TH1都是8位相关参数的计算:(1)最大计数量: n

    24、max=216=65536(2)已知要求的计数量n,则计数器的初值为: x=216 - n=65536 - n(3)最大定时时间:tmax=21612/fosc=6553612/fosc(4)已知要求的定时时间t,则定时器的初值为: x=216 - tfosc/12=65536 - tfosc/12求得初值以后,应将x分配到TLx和THx:方式2(M1 M0=1 0)自动恢复初值的8位计数器方式0和方式1若用于循环定时/计数时,每次计满溢出后,计数器全部为0,第二次计数器还需重新装入计数初值。如此反复,不仅影响到定时精度,也给程序设计带来不便。方法2则可以解决此问题,它具有自动重载功能。方式2

    25、有利于提高定时精度,比较适合用作精确的脉冲信号发生器,或者串行口波特率发生器。但该方式是8位计数结构,计数值有限,最大只能到255。相关参数的计算如下:(1)最大计数量:nmax=28=256(2)已知要求的计数量n,则计数器的初值为: x=28 - n=256 - n(3)最大定时时间:tmax=2812/fosc=25612/fosc (4)已知要求的定时时间t,则定时器的初值为: x=28-tfosc/12=256-tfosc/12 求得初值以后,应将x分配到TL0和TH0(两者相同):方式3(M1 M0=1 1)仅限于T0 前3种工作方式,对两个定时器的设置和使用时完全相同。方式3下,

    26、z则是不同的。方式3下的定时器0方式3只适用于定时器T0。定时器0在方式3下被拆成两个独立的8位计数器TL0和TH0。其中T0既可计数使用,又可定时使用。TL0使用原T0的各控制位和引脚信号,其功能和操作方式与方式0和方式1基本相同。 TH0只可以用作简单的内部定时,占用原定时器T1的控制位TR1和TF1,还占用T1的中断源,其关闭和启动只受TR1的控制。方式3下的定时器1定时器T1只能用作方式0、方式1和方式2。由于TR1、TF1和T1的中断源已被定时器T0占用。此时只有控制位C/T切换控制定时和计数工作方式,且计数溢出时,只能将输出送入串行口。将定时器T1用作串行口的波特率发生器。当设置好

    27、工作方式时,T1便开始运行;如要停止运行,只需送入一个设置定时器T1为方式3的方式控制字即可。因为定时器T1不能在方式3下使用,如果硬把它设置为方式3,就停止工作。第5章 中断系统M1 M0工作方式功能说明0 0 方式013位计数器0 1方式116位计数器 1 0方式2自动重新装入初值的8位计数器1 1方式3T0:分成两个8位计数器;T1:停止计数外部中断的应用-举例例1:用一个按钮控制8个发光二极管,每按动一次按钮,是发光二极管按L1 L2 . L8 L1的顺序循环移动点亮一位。解:如图所示。在P1.0-P1.7外部连接8个发光二极管L1-L8,当P1.X输出低电平时,对应的发光二极管被点亮;当P1.X输出为高电平时,对应的发光2极管熄灭。在/INT1引脚上外接一个按钮。当按钮按下时,/INT1为低电平;按钮释放时,/INT1为高电平。1. 用中断方式实现单片机复位以后PC的值为0000H,外部中断1的矢量地址是0013H,而外部中断1的子程序必须放置在从0013H开始的8个存贮单元,无法实现。 考虑到从0000H到0013H只有


    注意事项

    本文(北工大单片机期末复习题A4一纸开概要.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开