当前位置: 首页 > news >正文

【期末复习】51单片机

本文为单片机课程期末复习,仅供参考。

一、AT89C51内部硬件结构

一个8位的微处理器CPU

片内数据存储器RAM (128B/256B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。

片内程序存储器ROM(4KB/8KB),用于存放程序、一些原始数据和表格。

四个8位并行I/O(输入/输出)接口P0~P3,每个口可以用作输入,也可以用作输出,还兼有其它复合功能。

两个可编程16位定时/计数器,每个定时/计数器都可以设置成计数方式,用以 对外部事件进行计数,也可以设置成定时方式,并根据计数或定时的结果实现计算机控制。

一个全双工UART的串行I/O口,可实现单片机与单片机或其它微机之间串行通信。

五个中断源的中断控制系统。

片内振荡器和时钟产生电路,但需外接晶振和电容。(可以不记)

二、内部存储器组织结构

程序存储器(ROM)

片内集成4KB ROM,支持外部扩展至最大64KB

采用统一编址方式,通过EA引脚选择内外存储器:

  • EA=1:使用片内ROM

  • EA=0:使用外部扩展ROM

数据存储器(RAM)

片内256B RAM与外部64KB RAM独立编址

片内RAM分区结构:

  • 低128字节:用户数据区

  • 高128字节:特殊功能寄存器区(SFR)

进一步划分为:用户RAM区、位寻址区、工作寄存器组

特殊功能寄存器(SFR)

对应各功能部件的控制寄存器,AT89C51包含21个SFR,其中11个支持位寻址。

工作寄存器组选择:通过PSW寄存器的RS1、RS0位配置

RS1RS0寄存器组R0~R7地址
00第0组00H ~ 07H
01第1组08H ~ 0FH
10第2组10H ~ 17H
11第3组18H ~ 1FH

三、C51程序设计基础

C51与标准C语言的主要差异

库函数差异:C51库函数针对51单片机硬件特性定制

特有数据类型

sfr:定义8位特殊功能寄存器

sfr16:定义16位寄存器

bit:声明位变量

sbit:单独操作寄存器特定位

数据存储类型

data/idata:访问内部RAM

xdata/pdata:访问外部RAM

code:访问程序存储器(ROM)

中断函数支持:通过interrupt关键字直接定义中断服务函数

    中断函数格式

    四、并行I/O口原理与编程

    电气特性

    采用TTL电平标准:

    逻辑"0":0~2.4V

    逻辑"1":3.6~5V

    四个I/O口功能特点

    P0口:外部扩展存储器时作为地址总线低8位和数据总线复用口,无内部上拉电阻。作为输入或输出时应在外部接上拉电阻。

    P1口:通用I/O口,内置上拉电阻

    P2口:外部扩展时作为地址总线高8位,内置上拉电阻

    P3口:除通用I/O外,还具有第二功能。

    按键

    键的连击问题

    人为按键通常按下时间为几十到数百毫秒,若是程序在循环中不断检测按键是否按下,在按键按下的时间中,循环检测程序已经执行多次,会造成一次按下执行多次操作。可使用等待按键释放方法解决。

    按键抖动问题

    按键抖动是当用手按下一个按键时,按键在闭合位置和断开位置之间往往会弹跳几下才会稳定到闭合状态,在释放按键同理。这是由机械结构的固有特性决定的。 按键抖动的持续时间大小一般在10ms左右,可使用延时10ms后等待按键稳定再次判断是否有键按下,或采用按键消抖电路,或专用键盘接口芯片含有按键自动去抖电路。

    数码管静态和动态显示区别

    静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。

    动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。轮流向各位数码管送出段码和相应的位选,利用人眼视觉暂留作用,使人感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。

    五、中断系统

    5个中断源

    中断源,引起中断的原因,可以引起中断的事件称为中断源。AT89C51单片机有5个中断源,分别为外部中断0(INT0)、外部中断1(INT1)、定时器中断0(TF0)、定时器中断1(TF1)、串口中断(RI/TI)。

    中断向量、中断优先级、中断嵌套、中断拓展的含义

    中断向量是硬件预先为每个中断源分配的中断服务子程序的入口地址。

    中断优先级,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。中断嵌套是指高优先级可以打断低优先级中断的执行,等到高优先级的中断服务执行完毕后,返回断点处,继续执行低优先级中断的服务。

    中断拓展:

    软件扩展是指将多个外部信号连接到同一中断引脚,中断触发后 查询多个I/O口状态,判断具体触发源。

    硬件扩展是指通过外部电路将多路信号编码为1路,接入INTO/INT1,配合软件解码。

    中断响应条件

    EA=1中断允许总开关接通。

    中断源请求标志位=1

    中断源中断允许位=1

    无同级或更高级中断正在被服务。

    中断允许控制寄存器

      中断优先级控制寄存器

      触发方式配置

      TCON寄存器中的IT0/IT1位控制触发方式:

      • ITx=0:低电平触发

      • ITx=1:下降沿触发(推荐使用,抗干扰性强)

      中断编程过程

        六、定时器/计数器系统

        定时和计数的实质与区别

        定时和计数本质上都是加法计数器,计数加1,加满溢出,触发中断。

        区别在于计数脉冲的来源,定时是对内部脉冲计数,即每个机器周期产生1个计数脉冲,使计数器加 1。计数是对外部脉冲的计数。

        定时器的四种工作模式

        M1M0工作方式方式说明
        00013位定时/计数器
        01116位定时/计数器
        1028位,初值自动重置定时/计数器
        113两个8位定时/计数器(只有T0有)

          初值计算和定时时间

          加法计数器是计满溢出时才申请中断,所以在给计数器赋初值时,输入的是计数器计数的最大值与这一计数值的差值。设最大值为M,计数值为N,初值为X,则X的计算方法为:

          计数状态: X = M-N 

          定时状态: X = M-(定时时间∕机器周期)

          方式1

          方式2的TL0是用来计数的,而TH0是用来保存初值的,所以可以实现自动重装。

          补充:

          fosc是主频,f机器=fosc/12,

          以12Mhz为例,f机器=1Mhz,M是10的-6,hz是 次/s,1s等于10的-6μs,所以最终等于1μs。

          单位符号换算关系示例(以1秒为基准)
          s1 s = 基准单位1 s = 1 s
          毫秒ms1 ms = 10⁻³ s1 s = 1,000 ms
          微秒μs1 μs = 10⁻⁶ s1 s = 1,000,000 μs
          纳秒ns1 ns = 10⁻⁹ s1 s = 1,000,000,000 ns
          频率单位对应周期时间单位
          Hz1 s
          kHz (10³ Hz)1 ms毫秒
          MHz (10⁶ Hz)1 μs微秒
          GHz (10⁹ Hz)1 ns纳秒

          查询方式实现

          注意需要重置溢出标志位

          注意如果说要输出时钟周期为T的方波,那么定时时间则为T/2。

          中断方式实现

          如果定时时间超过最大定时时间,可通过定时(范围内)+计数实现

          一种是自己设置一个用于计数的变量,一种是使用系统自带的计数器

          注意:计数器计数时是对下跳沿计数

              PWM

              通过调节数字脉冲占空比来等效输出模拟量

              方波输出时,定时时间为时钟周期的一半(T/2)

              七、串行通信接口

              串行口的工作方式

              同步移位寄存器,主要用于拓展并行输入或输出口。

              方式1是8位数据的异步通信。

              方式2和方式3是9位数据的异步通信。

               波特率计算

              波特率设定方法:

                初始化设置TI为0,发送数据时将内容写入SBUF发送完成后会置为1,如果还需要继续发送数据,就需要重新置为0。

                RI==1说明数据接收完成,读取数据,然后重新置为0,即允许接收数据。


                如有问题或建议,欢迎在评论区中留言~

                http://www.dtcms.com/a/443764.html

                相关文章:

              1. 建站视频网站网站没更新
              2. 网站兼容性代码wordpress模版怎么上传
              3. 阿里云主机上传网站wordpress弹出式侧边栏
              4. 建设企业资质双网是哪两个网站免费发布产品的平台
              5. 坪山网站建设要多少钱亚马逊关键词
              6. 【漏洞复现和代码审计】CVE-2025-24813
              7. 兰州彩票网站制作中国著名设计师的推荐
              8. 股票做空网站wordpress禁止访问
              9. 邵阳多用户商城网站建设wordpress多作者
              10. 基础网站建设公司学院网站群建设的目标
              11. 去菲律宾做it网站开发重庆建网站优化
              12. 曲靖企业网站建设房地产 东莞网站建设
              13. 淮北矿业工程建设有限公司网站网站建设开发实训的目的
              14. 珠海营销网站建设wordpress 增大字体
              15. AVM标定:解锁360°全景影像的秘密
              16. 网站开发先学前端还是后端wordpress添加内链按钮
              17. 青海省建设厅网站备案资料网站制作费用一览表
              18. 武安市城乡建设局网站搜狐一开始把网站当做什么来做
              19. 网站安全 维护网络工程师怎么考
              20. 网站开发目录规范百度的竞价排名是哪种方式
              21. 创新的企业网站制作哪家做网站最好
              22. 主流网站编程语言查域名服务商
              23. 创建一个网站需要什么条件网站建设添加汉语
              24. 中国网站排名网企业网站建设排名资讯
              25. 东昌府区住房和城乡建设局网站保定seo外包服务商
              26. 做医院网站公司吗推广普通话奋进新征程ppt
              27. 鹤壁集团网站建设网页设计与网站建设选择题
              28. 培训网站推广绍兴网络公司网站建设
              29. 7-2-查询练习
              30. [光学原理与应用-485]:《皮秒紫外激光光源接口协议标准》草案