在经过了一段时间的C51课程学习后,使我更系统的认识了单片机的主要结构,本篇文章主要是将我所学习到的内容进行一个整理,并结合中断控制法这个综合性的任务尽量对每一个部分进行讲解,希望对大家的学习能够有一点帮助,文章内如有出错还请指正。
目录
一、前期准备工作
1、硬件选择
仿真软件中:单片机:AT89C51
数码管驱动:74ls47
数码管:7SEG-MPX2-CA
实体硬件:单片机:STC89C52RC
下载器:USB转TTL下载器
由于上课时所选择的单片机为宏晶科技的STC89C52RC,但仿真软件中只有AT系列单片机,故在仿真时选择AT89C51,编译仿真效果相同。
2、软件选择
编程软件:keil5
仿真软件:Proteus 8.9
下载器:STC-ISP(用于实物烧写程序,仅仿真则可不用)
二、仿真搭建
1、Proteus工程搭建及器件选择
打开安装好的Proteus ,点击新建工程
工程名称可以自行定义,并选择好工程文件存放路径,然后一直按下一步,设置均为默认即可
进入工程之后点击P选取所需元器件
左侧搜索栏搜索元器件(这里搜索的是AT89C51),中间可以选中器件,右侧有对应原理图以及封装图,选中后点击确定
依次添加好以下器件
右侧一栏选择终端模式,则可以选择调用电源以及接地,双击图标可以编辑字符
2、复位电路及外部时钟电路
(1)复位电路:
复位电路即初始化电路,其作用是将运行中的单片机恢复到初始状态,相当于重置运行状态
复位的触发要求,输入端RST至少保持两个机器周期为高电平(当晶振为12M时机器周期为1us)
(2)外部时钟电路:
该电路中,电容的选择由晶振决定,具体容量需参照技术手册选择,此处晶振的值为12MHz,单片机内部也有时钟电路,具体选择看个人需求
在仿真中可以不使用外部晶振,双击单片机在其设置中可以设置晶振的值
2、LED灯部分
这里设计红绿灯的引脚由P1组引脚控制,且为了方便,设计上选择南-北、东-西联动
对应关系为:
引脚 | 方位 | led灯灯色 | 方位 | led灯灯色 |
P1.0 | 北 | 绿 | 南 | 绿 |
P1.1 | 北 | 黄 | 南 | 黄 |
P1.2 | 北 | 红 | 南 | 红 |
P1.3 | 东 | 绿 | 西 | 绿 |
P1.4 | 东 | 黄 | 西 | 黄 |
P1.5 | 东 | 红 | 西 | 红 |