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

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

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

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

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

    1、AJMP SENDORG 0100HMAIN_A:MOV TMOD,#20HMOV TH1,#0FCHMOV TL1,#0FCHSETB TR1MOV SCON,#0C0H设置串口工作方式3MOV PCON,#00H波特率不加倍MOV R0,#30HMOV R2,#10HSETB EASETB ESMOV A,R0MOV C,PMOV TB8,C奇偶校验MOV SBUF,ASJMP $-ORG 0200HSEND:CLR TIDJNZ R2,SEND1SJMP FHSEND1:INC R0FH: RETIEND接受端:AJMP MAIN_BAJMP RECVMAIN_B:MOV R0,#40H

    2、SETB RENRECV:CLR RIMOV A,SBUFJNB PSW.0,PZJNB RB8,ERRSJMP RIGHTPZ:JB RB8,ERRRIGHT:MOVR0,ADJNZ R2,FHCLR F0ERR:CLR RENCLR ESCLR EASETB F0RETI-第9章D/A转换和A/D转换例题1用DAC0832作为波形发生器,请编制出连续梯形的程序,设0832的口地址为C004H. ORG O100HMAIN:MOV DPTR , #0C004CLR ALOOP1:MOVX,DPTR,ALCALL DELAYINC ACJNE A, #OFFH,LOOP1;MOV R2,#00

    3、HLOOP2:INC R2CJNE R2, #OFFH,LOOP2;LOOP3:DEC ACJNE A,#00H,LOOP3;LOOP4:CJNE R2, #OFFH, LOOP4;SJMP LOOP1DELAY:MOV R3, #XX1DEL1: MOV R4, #XX2DEL2: MOV R5, #XX3DEL3: DJNZ R5, DEL3DJNZ R4, DEL2 DJNZ R3, DEL1RET例题2若要求设计一数据采集系统,输入为0-5V,由IN1输入,使用AD0809芯片每隔20ms采集一次,共采集16次,并将转换后的数据存入30H开始的单元中。(1) 设计有关电路图,含A/D,

    4、译码及相关电路,接线清楚,写明信号名称;(2) 编制有关程序,设AD起始口地址为学号最后2位X8,地址译码使用A9-A3系统时钟为12MHZ(提示:使用定时器定时中断,并写明定时器参数计算过程;修改上图中的p2.0 用A3到A9译码,产生地址:24x8,24=0011000 A3-A5接ABC,A9-A6产生0011逻辑选中译码器。x=216 - tfosc/12=216-20X12X1000/12=45536=B1E0HAJMP MAINORG 001BHAJMP T_1MOV R4, #10HMOV R1,#30HMOV SP, #60HMOV TOMD, #10H MOV TH1, #0

    5、B1H MOV TL1, #0E0H 20ms定时SETB ET1 开中断允许MOV DPTR, #XX+1MOV A, #00HMOVX DPTR, A;启动转换-T_1: DJNZ R4 LP1SJMP EXITLP1:CLR TR1MOVX A, DPTRMOV R1,AINC R1SETB TR1; 启动20ms定时SJMP OUT_1EXIT:CLR EA 关中断允许OUT_1:。第8章 LED显示器和键盘 键盘的按键按MN行列矩阵排列,故MN个键的键盘只需要M+N条单片机的I/O端口线。 48行列式非编码键盘的接口如下页所示:监视键盘方法行扫描法和反转法 CPU通过程序监视非编码盘

    6、,在发现有按键按下时转入相应按键处理程序执行。地址偏移量N = 行首值 + 列值,查键值表就可得被按键的键值1.行扫描法 1)判断有无按键 令列输出(PA口)全为零,读行值(PC口),若行值低4位为全1,无按键。否则有按键。2)判断哪一个键按下 轮流扫描PA口,依次使每条列线变为低电平后,读行值,若非全1,则按键在此列中,形成键值;否则扫描下一列。 由此,可确定按键的行首键号和列值,进而求得键值偏移量。 按键类型判别: 若被按键的键值=10H,被按键为功能键。2.反转法 1)设定PA为输出方式,PC为输入方式。2)使PA输出全0,读PC。(PC=1101) 3)设定PA为输入方式,PC为输出方

    7、式 4)将刚才读入的PC内容从PC输出。(PC=1101)5)读PA。(PA=11111011) 6)由PA、PC得到键值。共阴极(1亮0不亮);共阳极(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,

    8、7CH,39H,5EH,79H,71H,00HORG 1000HORG 0079H:显示的数据段DB 02H,00H,01H,02H,11H,02HDIS: MOV A,#0000 0011BMOV DPTR,#9000HMOVX DPTR,AMOV R0,#79HMOV R3,#0FEHDIS0: MOV DPTR, #9003HMOV A #0FFHMOV DPTR, #9003HADD A,#0CHMOVC A,A+PCMOV A,R3MOV DPTR,#9001HACALL DELAYJNB ACC.5,LP1RL A MOV R3,A SJMP DIS0DIS_RET: RET;-

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

    10、PRINTSJMP MAIN ORG 0100HKEY: ACALL KSJNZ KEY_1AJMP KEYKEY_1: ACALL DELAYACALL KSJNZ KEY_2KEY_2: MOV R2, #11111110BMOV R4, #00HKEY_3: MOV DPTR, #0FF21HMOV A, R2MOVX DPTR, AINC DPTRMOVX A,DPTRCPL AJZ NEXTJNB ACC.0 KEY_4AJMP KEY_7KEY_4: JNB ACC.1, KEY_5MOV A, #4KEY_5: JNB ACC.2, KEY_6MOV A, #8KEY_6: MO

    11、V A, #12KEY_7: ADD A, R4PUSH ACCKEY_8:JNZ KEY_8POP ACCNEXT: INC R4JNB ACC.3, KEYMOV A,R2AJMP KEY_3KS:ANL A, #0FHORG 2000H PRINT:-RET第7章 程序存储器拓展和数据存储器拓展8155命令字:TM2,TM1=01;停止定时器/计数器TM2,TM1=10;若正在计数,计数长度减为0时停止计数TM2,TM1=11;启动,置方式和长度后立即启动计数若正在计数,溢出后按新的方式和长度计数。8155状态字8155的定时器(14位的减1计数器)M2M1=00: 输出单个方波M2M1

    12、=01:输出连续方波M2M1=10:输出单个脉冲M2M1=11:输出连续脉冲1.若A口定义为基本输入方式,B口定义为基本输出方式,对输入脉冲进行16分频,则8155的I/O初始化程序为:START:MOV 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(7E007EF

    13、F)的F1H单元内容: MOV DPTR,#7EF1H MOVX A , DPTR ; 将立即数41H写入8155RAM的20H单元中: MOV A,#41H MOV DPTR,#7E20H MOVX 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)

    14、编制初始化程序:T0工作在方式0,方式控制字为00H,TH0=F0H,TL0=0CH编程: ORG 1000H MOV TMOD,#00H; * MOV TH0,#0F0H MOV TL0,#0CH MOV 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引脚上输出周

    15、期为2s的方波程序。X=216 50ms/1us = 15536 换算成16进制数为3CB0H T0工作在方式1,方式控制字为01H,TH0=3CH,TL0=B0H MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB TR0;MOV TCON,#10H* MOV R0, #14H ORG 0000H ; LJMP 1000H ORG 000BH AJMP TINT ORG 0080H DJNZ R0, NEXT; CPL P1.0 MOV R0, #14H NEXT: MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H RETI计数初

    16、值的计算:计数器以增1的方式计数,溢出时申请中断。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中(M1 M0=0 0) 13位定时/计数器方式16位寄存器只用13位,当TLx的低5位溢出时向THx进位,而THx溢出时向中断标志TF

    17、x进位硬件置位TFx,申请中断相关参数的计算:(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(M1 M0=0 1) 16位定时/计数器方式 结构图同方式0,TL1和 TH1都是8位 nmax=216=6

    18、5536(2)已知要求的计数量n,则计数器的初值为: x=216 - n=65536 - ntmax=21612/fosc=65536 x=216 - tfosc/12=65536 - t方式2(M1 M0=1 0)自动恢复初值的8位计数器方式0和方式1若用于循环定时/计数时,每次计满溢出后,计数器全部为0,第二次计数器还需重新装入计数初值。如此反复,不仅影响到定时精度,也给程序设计带来不便。方法2则可以解决此问题,它具有自动重载功能。方式2有利于提高定时精度,比较适合用作精确的脉冲信号发生器,或者串行口波特率发生器。但该方式是8位计数结构,计数值有限,最大只能到255。相关参数的计算如下:n

    19、max=28=256 x=28 - n=256 - ntmax=2812/fosc=25612/fosc x=28-tfosc/12=256-t 求得初值以后,应将x分配到TL0和TH0(两者相同):方式3(M1 M0=1 1)仅限于T0 前3种工作方式,对两个定时器的设置和使用时完全相同。方式3下,z则是不同的。方式3下的定时器0方式3只适用于定时器T0。定时器0在方式3下被拆成两个独立的8位计数器TL0和TH0。其中T0既可计数使用,又可定时使用。TL0使用原T0的各控制位和引脚信号,其功能和操作方式与方式0和方式1基本相同。 TH0只可以用作简单的内部定时,占用原定时器T1的控制位TR1

    20、和TF1,还占用T1的中断源,其关闭和启动只受TR1的控制。方式3下的定时器1定时器T1只能用作方式0、方式1和方式2。由于TR1、TF1和T1的中断源已被定时器T0占用。此时只有控制位C/T切换控制定时和计数工作方式,且计数溢出时,只能将输出送入串行口。将定时器T1用作串行口的波特率发生器。当设置好工作方式时,T1便开始运行;如要停止运行,只需送入一个设置定时器T1为方式3的方式控制字即可。因为定时器T1不能在方式3下使用,如果硬把它设置为方式3,就停止工作。第5章 中断系统M1 M0工作方式功能说明0 0 方式013位计数器0 1方式116位计数器 1 0方式2自动重新装入初值的8位计数器

    21、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一纸开概要Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




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

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

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


    收起
    展开