好文档 - 专业文书写作范文服务资料分享网站

单片机实训花样流水灯

天下 分享 时间: 加入收藏 我要投稿 点赞

的稳定性和快速性,通常取值20~ 30pF。在设计印制电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性。

也可以由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。这时外部脉冲信号是经XTAL1引脚引入的,而XTAL2引脚悬空或接地。对外部信号的占空比没有要求,但高低电平持续的时间不应小于20ns。这种方式常用于多块芯片同时工作,便于同步。

所谓时序,是指在指令执行过程中,CPU的控制器所发出的一-系列特定的控制信号在时间上的先后关系。CPU发出的控制信号有两类:一类是用于单片机内部的,用户不能直接接触此类信号,不必对它作过多了解;另一类是通过控制总线送到片外的,人们通常以时序图的形式来表示相关信号的波形及出现的先后次序。为了说明信号的时间关系,需要定义时序单位。89C51 的时序单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。

3.2.2LED电路显示

如图所示,PO口控制LED灯D9~D16的显示,P2口控制LED灯D1~D8的显示。

3.2.3复位电路

当要对晶片重置时,只要按开关就能完成LED和开关的重置。复位是单片机的初始化操作,其主要功能是把PC初始化为000H,使单片机从000H单元开始

执行程序。单片机的RST管脚为主机提供了一一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手动复位完成。

4软件设计

4.1主程序设计

void main() {INT8U i; while(1) {

for(i=0;i<136;i++) {P0=Pattern[i]/256; P2=Pattern[i]%6; delay_ms(50); } }

4.2延时程序设计

void delay_ms(INT16U x) {

INT8U t; while(x--) for(t = 0;t <120; t++); }

4.3流水灯花样吧数组程序设计

{

0xFCFF,0xF9FF,0xF3FF,0xE7FF,0xCFFF,0x9FFF,0x3FFF,0x7FFE, 0xFFFC,0xFFF9,0xFFF3,0xFFE7,0XFFCF,0xFF9F,0xFF3F,0xFFFF,

0xE7E7,0xDBDB,0xBDBD,0x7E7E,0xBDBD,0xDBDB,0xE7E7,0xFFFF, 0xE7E7,0xC3C3,0x8181,0x0000,0x8181,0xC3C3,0xE7E7,0xFFFF, 0xAAAA,0x5555,0x1818,0xFFFF,0xF0F0,0x0F0F,0x0000,0xFFFF, 0xF8F8,0xF1F1,0xE3E3,0xC7C7,0x8F8F,0x1F1F,0x3F3F,0x7F7F, 0x7F7F,0x3F3F,0x1F1F,0x8F8F,0xC7C7,0xE3E3,0xF1F1,0xF8F8, 0xFFFF,0x0000,0x0000,0xFFFF,0xFFFF,0x0F0F,0xF0F0,0xFEFE,

0xFDFF,0xFBFF,0xF7FF,0xEFFF,0xDFFF,0xBFFF,0x7FFF,0xFFFE, 0xFFFD,0xFFFB,0xFFF7,0xFFEF,0xFFDF,0xFFBF,0xFF7F,0xFF7F, 0xFFBF,0xFFDF,0xFFEF,0xFFF7,0xFFFB,0xFFFD,0xFFFE,0x7FFF, 0xBFFF,0xDFFF,0xEFFF,0xF7FF,0xFBFF,0xFDFF,0xFEFF,0xFEFF, 0xFCFF,0xF8FF,0xF0FF,0xE0FF,0xC0FF,0x80FF,0x00FF,0x00FE, 0x00FC,0x00F8,0x00F0,0x00E0,0x00C0,0x0080,0x0000,0x0080, 0x00C0,0x00E0,0x00F0,0x00F8,0x00FC,0x00FE,0x00FF,0x80FF, 0xC0FF,0xE0FF,0xF0FF,0xF8FF,0xFCFF,0xFEFF,0x0000,0xFFFF, 0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF };

4.4程序流程图

5使用proteus软件调试仿真

5.1proteus使用方法

点状的栅格区域为编辑窗口,左上方为预览窗口,左下方为元器件列表区,即对象选择器编辑窗口用于放置元器件,进行连线,绘制原理图。预览窗口可以显示全部原理图。在预览窗口中,有两个框蓝框表示当前页的边界,绿框表示当前编辑窗口显示的区域。当从对象选择器中选中一个新的对象时,预览窗口可以

预览选中的对象。在预览窗口上单击,Proteus ISIS将会以单击位置为中心刷新编辑窗口。

5.2电路原理图的设计方法

原理图的具体设计步骤如下:

(1)新建设计文档。在进入原理图设计之前,首先要构思好原理图,即必须知道所设计的项目需要哪些电路来完成,用何种模板; 然后在Proteus ISIS编辑环境中画出电路原理图。

(2)设置工作环境。根据实际电路的复杂程度来设置图纸的大小等。在电路图设计的整个过程中,图纸的大小可以不断地调整。设置合适的图纸大小是完成原理图设计的第一步。

(3)放置元器件。首先从添加元器件对话框中选取需要添加的元器件,将其布置到图纸的合适位置,并对元器件的名称、标注进行设定;再根据元器件之间的走线等联系对元器件在工作平面上的位置进行调整和修改,使得原理图美观、易懂。

(4)对原理图进行布线。根据实际电路的需要,利用Proteus ISIS编辑环境所提供的各种工具、命令进行布线,将工作平面上的元器件用导线连接起来,构成一幅完整的电路原理图。

(5)建立网络表。在完成上述步骤之后,即可看到一张完整的电路图,但要完成印制版电路的设计,还需要生成-一个网络表文件。网络表是印制版电路与电路原理图之间的纽带。

(6) 原理图的电气规则检查。当完成原理图布线后,利用Proteus ISIS编辑环境所提供的电气规则检查命令对设计进行检查,并根据系统提示的错误检查报告修改原理图。

(7)调整。如果原理图已通过电气规则检查,那么原理图的设计就完成了,但是对于-般电路设计而言,尤其是较大的项目,通常需要对电路进行多次修改才能通过电气规则检查。

(8)存盘和输出报表。Proteus ISIS提供了多种报表输出格式,同时可以对设计好的原理图和报表进行存盘和输出打印。

5.3仿真过程

Proteus Isis仿真时,单片机需要加载程序,加载程序为.HEX文件。本设计利用proteus, 在proteus中的source下拉框中选择add/removesource files新建汇 编语言程序文件,然后用鼠标点击OK在source下拉框中新建的汇编语言程序文件里写入汇编语言程序,写完之后在“source”选项中选择“build al”选项进行编译,如有错误则在刚刚新建的汇编语言程序文件里面进行修改,如果正确则会自动生成.HEX文件,然后就可以开始仿真了。

6测试数据

通过程序可以实现花样流水灯的不同形式变换。流水灯一次点亮。

单片机实训花样流水灯

的稳定性和快速性,通常取值20~30pF。在设计印制电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性。也可以由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。这时外部脉冲信号是经XTAL1引脚引入的,而XTAL2引脚悬空或接地。对外部信号的占空比没有要求,但高低电平持续的时间不应小于20ns。这种方式常用于多块芯片同时工作,
推荐度:
点击下载文档文档为doc格式
9rv3a1jfhf1ujtp7zqyg25ui718xfz0190c
领取福利

微信扫码领取福利

微信扫码分享