1、 单片机课程设计实验报告单片机课程设计实验报告 题目:单片机最小系统设计题目:单片机最小系统设计 指导老师:指导老师:xxxxx 姓名:姓名:xxxxx 学号:学号:xxxxxx 日期:2011.12.25 一、设计任务设及要求一、设计任务设及要求 1、设计任务、设计任务 设计一个单片机系统 (包括单片机最小系统、 4 个独立式按键及 8 个发光二极管、6个数码管和一个蜂鸣器) ,能用 Protel 绘出其原理 图,并进行 Proteus 仿真,完成单片机综合开发板的键盘、显示等程 序的编写、编译和调试。 2、设计要求、设计要求 (1)原理图要清楚,标注元件参数; (2)A4 打印正式原理图;
2、 (3)要求用统一格式封面; (4)图要均匀分布,合理布局 二、方案论证二、方案论证 1 1.设计方案:设计方案: 选用 8051 单片机作为最小系统的控制器, 设计电源电路、 时钟 电路、复位电路完成其基本功能。串行通讯则采用为电脑的 RS-232 标准串口设计的单电源电平转换芯片和 D9 端口,实现系统数据下载; 设计 LED 电路和蜂鸣器电路,实现简单扩展功能。 三、硬件部分三、硬件部分 1.复位电路复位电路 复位电路由按键复位和上电复位两部分组成。AT89S 系列单片 及为高电平复位,通常在复位引脚 RST 上连接一个电容到 VCC,再 连接一个电阻到 GND,由此形成一个 RC 充放
3、电回路保证单片机在 上电时 RST 脚上有足够时间的高电平进行复位,随后回归到低电平 进入正常工作状态,这个电阻和电容的典型值为 10K 和 10uF。按键 复位就是在复位电容上并联一个开关,当开关按下时电容被放电、 RST 也被拉到高电平, 而且由于电容的充电, 会保持一段时间的高电 平来使单片机复位。 2.时钟电路时钟电路 AT89C51 单片机内部有一个用于构成振荡器的高增益反向放 大器,它的输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。这两个 引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器, 如电路原理图所示在引脚 XTAL1和 XTAL2跨接晶振 Y1和微调电容
4、 C1 和 C6。 电容一般选择 30pf, 电容的大小会影响振荡器频率的高低, 稳定性和速度。晶振的频率选择 12MHz。 3.按键电路按键电路 按键原理图 每按一次按键,可以增加一次 led 灯闪烁的时间,灯闪烁到达 十次,用蜂鸣器警报,设计要求不能用单片机,只能用纯电路搭建。 4.LED 显示电路显示电路 本电路使用 8 个数码管可以显示 8 位数字,扩展控制端口来输入 数据,通过电阻和 PNP 放大电流来动态控制四个共阳极数码管的轮 流显示。 5.发光二极管电路发光二极管电路 LED 的阴极接地, 阳极接单片机 IO 口, 那么 IO 口高电平, LED 亮,低电平,LED 灭。 四、
5、软件部分四、软件部分 1.程序流程图程序流程图 2.LED 显示子程序显示子程序 MOV TMOD,#00H MOV TH0,#0F0H MOV TLO,#0CH IOA8 端口输出“1” 读取 IOA 端口低 8 位输入 输入是否为零码 延时消除抖动 再次读取 IOA端口低 8 为输入 两次读取输入相等吗 置有效返回值 返回键值 开 始 置返回键值为零 SETB TR0 SETB ETO SETB EA AJMP $ SETMM: cLR ET0 CLR TR0 LCALL DL1S JB P3.7,CLOSEDIS MOV R2,#06H SETB ET1 SETB TR1 SET2: JNB P3.7,SET1 SETB 00H SET4: JB P3.7,SET3 LCALL DL05S JNB P3.7,SETHH MOV R0,#77H LCALL ADD1 MOV A,R3 CLR C CJNE A,#60H,HHH HHH: JC SET4 LCALL CLR0 CLR C AJMP SET4