八路发光二极管轮流点亮的实验

合集下载

八路彩灯

八路彩灯

河南工业大学EDA技术实验报告专业电科班级1301姓名田学号201316030实验地点6316+ 6515 实验日期2015-11-27成绩评定一、实验项目八路彩灯控制器二、实验目的有八个发光二极管,要求设计花型,使其按照设定的花型随时钟循环点亮。

在Quartus II 中用VHDL语言输入控制器的源程序,然后进行编译,仿真,以保证控制器功能的正确性。

引脚锁定及硬件测试三、实验原理LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY caideng ISPORT (clk: IN STD_LOGIC;A,B,C,D,E,F,G,H: OUT STD_LOGIC );END caideng;ARCHITECTURE cd OF caideng ISTYPE states IS (S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11);SIGNAL present_state, next_state: states;BEGINP1: PROCESS(present_state,clk)BEGINIF clk'EVENT AND CLK='1'THENCASE present_state ISWHEN S0=>A<='1';B<='1';C<='1';D<='1';E<='1';F<='1';G<='1';H<='1';next_state<=S1;WHEN S1=>A<='1';B<='1';C<='1';D<='0';E<='0';F<='1';G<='1';H<='1';next_state<=S2;WHEN S2=>A<='1';B<='1';C<='0';D<='0';E<='0';F<='0';G<='1';H<='1';next_state<=S3;WHEN S3=>A<='1';B<='0';C<='0';D<='0';E<='0';F<='0';G<='0';H<='1';next_state<=S4;WHEN S4=>A<='0';B<='0';C<='0';D<='0';E<='0';F<='0';G<='0';H<='0';next_state<=S5;WHEN S5=>A<='1';B<='0';C<='1';D<='0';E<='1';F<='0';G<='1';H<='0';next_state<=S6;WHEN S6=>A<='1';B<='0';C<='1';D<='0';E<='1';F<='0';G<='1';H<='0';next_state<=S7;WHEN S7=>A<='0';B<='1';C<='0';D<='1';E<='0';F<='1';G<='0';H<='1';next_state<=S8;WHEN S8=>A<='0';B<='1';C<='0';D<='1';E<='0';F<='1';G<='0';H<='1';next_state<=S9;WHEN S9=>A<='0';B<='0';C<='0';D<='0';E<='0';F<='0';G<='0';H<='0';next_state<=S10;WHEN S10=>A<='0';B<='0';C<='0';D<='1';E<='1';F<='0';G<='0';H<='0';next_state<=S11;WHEN S11=>A<='0';B<='0';C<='1';D<='1';E<='1';F<='1';G<='0';H<='0';next_state<=S0;END CASE;END IF;END PROCESS P1;P2:PROCESS (clk)BEGINIF clk'EVENT AND clk='1' THENpresent_state<=next_state;END IF;END PROCESS P2;END cd;我设计的八路彩灯控制电路共有三种花型,用状态机结构设计循环彩灯控制器实现三种花型的交替变化,花型一:八个灯全亮,然后从中间向两边依次成对熄灭,直至全灭,花型二:八个灯明暗相隔,每个状态持续两个时钟周期。

八路流水灯循环点亮

八路流水灯循环点亮

黄山学院专业姓名班级学号指导老师八路循环彩灯控制电路一、 设计要求(1)设计一组8路循环彩灯控制电路,发光二极管的亮度要明显可见。

(2)、点亮要有一定的规律,即按顺序点亮。

(3)、元件、芯片的摆放要合理。

(4)、布线要紧密、尽量短(5)用protuse 仿真,1 题目分析:八路彩灯循环点亮电路功能描述:八只彩灯按顺序轮流点亮,首先点亮第一盏灯,在第一盏灯熄灭之后,点亮第二盏灯,在第二盏灯熄灭之后,再去点亮第三盏灯,依次类推,直到点亮第八盏灯,看上去的效果就像亮点从第一盏灯依次流向第八盏灯,然后又点亮第一盏灯,反复循环这一过程。

2 整体构思:彩灯的控制是用数字集成电路的构成来实现的,用彩灯(LED 发光二极管)构成一个发光矩阵。

主要用计数器和译码器等来实现,其特点是用发光二极管显示,构成具有循环功能的彩灯控制电路。

将振荡器的振荡脉冲进行计数,计数器的输出作为译码器的地址输入,经译码器控制各路彩灯依次发亮。

用框图表示如下。

3 具体实现: (1)、根据题目要求,找到可能完成此功能的芯片。

一共有八只灯所以要用74LS138 3线-8线译码器74LS161十进制上升沿计数器。

(2)、确定芯片后,完成电路图。

(3)、根据题目要求,要实现八只灯按顺序点亮电路就要用到74LS138 3线-8线译码器和74LS161具有异步清零、同步置数、可以保持状态不变的十进制上升沿计数器。

以及发光二极管、电阻、导线、电平开关和万用版。

(4)、按照电路图连接线路,检查是否连接正确 。

(5)、检查功能实现,如果不能进行调试、修改。

二、单元电路设计参考1、振荡器设计:用集成555电路构成多谐振荡器。

电路如下图所示。

振荡器计数器 译码器 8路彩灯 → → →U 0的周期: 2、计数器的选用:选四位二进制同步加/减计数器74LS161。

其引脚功能图如下所示。

其真值表如下:)C 2R 0.7(R T 21+=三、设计原理电路四、材料清单:五、protuse仿真部分截图图:六、心得体会:实验之前必须认真阅读有关方面的知识,在心中要有一个大概的模型或过程。

实验、中断控制的8个LED灯轮流点亮电路

实验、中断控制的8个LED灯轮流点亮电路

实验八、中断控制的8个LED灯轮流点亮电路专业: 班级:姓名: 学号:成绩:一、实验目的1.掌握中断程序的分析方法和设计方法。

2.学习电平触发方式及负脉冲触发方式的电路设计方法。

3.学习读程序,并能写出中断初始化程序段。

二、实验器材单片机开发设备一套。

三、实验内容和步骤试设计一个用单片机中断控制的8个LED灯轮流点亮的仿真控制系统,当按下一个按键之后,LED1灯亮,再按下一个按键后,彩灯顺次点亮一个。

要求按照电平触发和负脉冲触发两种方式来设计电路并进行程序设计。

电平触发方式下的仿真图:附加题:请设计一个电路,能实现开关控制的数码管显示0-9数字。

电平触发方式下的程序:ORG 0000HAJMP MAINORG 0013HAJMP SERVERORG 0030HMAIN:MOV A,#01HCLR IT1SETB EX1SETB EA SJMP $ORG 0200H SERVER:CLR P3.0 NOPNOPSETB P3.0MOV P1,ARL ARETIEND负脉冲触发方式下接于P3.3端口的仿真图:负脉冲触发方式下的程序:ORG 0000HAJMP MAINORG 0013HAJMP SERVERORG 0030HMAIN:MOV A,#11111110B MOV P1,A SETB IT1SETB EX1SETB EASJMP $ORG 0200HSERVER:CLR P3.3NOPNOPSETB P3.3MOV P1,ARL ARETIEND。

8路彩灯循环控制

8路彩灯循环控制

黄冈师范学院物理科学与技术学院EDA课程设计课题:8路彩灯循环控制专业年级:电信0702学号:200722240218姓名:余涛指导老师:冯杰时间:2010年1月8日一、设计目的:1、熟练掌握VHDL的设计过程。

2、掌握软件和硬件结合实现功能。

3、了解FPGA/CPLD类芯片的功能及作用。

4、了解和掌握彩灯设计的思想从而为今后的电路设计奠基基础。

二、设计思想:采用的设计方法是一种高层次的“自顶而下”的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。

通过对VHDL语言设计普通电路来实现彩灯的控制的电路,从而能够用MAX+PLU SⅡ平台上进行仿真实现功能。

三、功能描述:此八路彩灯有3种变化,这3种变化可以进行手动切换,三种变化分别为:1、彩灯自左向右依次点亮。

2、彩灯自左向右逐个点亮。

3、彩灯两边两个先亮,然后同时向中间逐个点亮,随后中间同时向两边熄灭。

四、设计原理:本实验主要是为了实现了彩灯循环点亮的不同控制,它主要由彩灯循环控制方式和彩灯循环点亮变化方式选择两大部分组成。

1、彩灯循环控制方式的设计,在这里主要是通过实验箱指示灯显示。

在电路中以1代表灯亮,以0代表灯灭,由0、1按不同的规律组合代表不同的点亮方式,同时使其选择不同的频率,从而实现多种变化多种频率的花样功能显示。

2、彩灯循环点亮变化方式选择,在这里设计了彩灯三种不同的循环变化方式。

我们用状态机来控制不同的点亮方式,从而达到不同的点亮方式随时切换变化。

五、程序设计:(1)实现功能1:LIBRARY ieee;USE ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY caideng1 ISPORT(CLK:IN STD_LOGIC;RST:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END caideng1;ARCHITECTURE a OF caideng1 ISSIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;BEGINPROCESS(CLK)BEGINIF RST='1' THEN NUM<=0;ELSIF CLK'EVENT AND CLK='1' THEN NUM<=NUM+1;END IF;END PROCESS;PROCESS(NUM)BEGINCASE NUM ISWHEN 0 =>Q<="10000000"; WHEN 1 =>Q<="01000000";WHEN 2 =>Q<="00100000"; WHEN 3 =>Q<="00010000";WHEN 4 =>Q<="00001000"; WHEN 5 =>Q<="00000100";WHEN 6 =>Q<="00000010"; WHEN 7 =>Q<="00000001";WHEN OTHERS =>NULL;END CASE;END PROCESS;END a;仿真波形:(2)实现功能2:LIBRARY ieee;USE ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY caideng2 ISPORT(CLK:IN STD_LOGIC;RST:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END caideng2;ARCHITECTURE a OF caideng2 ISSIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;BEGINPROCESS(CLK)BEGINIF RST='1' THEN NUM<=0;ELSIF CLK'EVENT AND CLK='1' THENIF NUM<=7 THEN NUM<=NUM+1;ELSE NUM<=0;END IF;END IF;END PROCESS;PROCESS(NUM)BEGINCASE NUM ISWHEN 0 =>Q<="10000000";WHEN 1 =>Q<="11000000";WHEN 2 =>Q<="11100000";WHEN 3 =>Q<="11110000";WHEN 4 =>Q<="11111000";WHEN 5 =>Q<="11111100";WHEN 6 =>Q<="11111110";WHEN 7 =>Q<="11111111";WHEN OTHERS =>NULL;END CASE;END PROCESS;END a;仿真波形:(3)实现功能3:LIBRARY ieee;USE ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY caideng3 ISPORT(CLK:IN STD_LOGIC;RST:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END caideng3;ARCHITECTURE a OF caideng3 ISSIGNAL NUM: INTEGER RANGE 7 DOWNTO 0; BEGINPROCESS(CLK)BEGINIF RST='1' THEN NUM<=0;ELSIF CLK'EVENT AND CLK='1' THENIF NUM<=7 THEN NUM<=NUM+1;ELSE NUM<=0;END IF;END IF;END PROCESS;PROCESS(NUM)BEGINCASE NUM ISWHEN 0 =>Q<="00000000";WHEN 1 =>Q<="10000001";WHEN 2 =>Q<="11000011";WHEN 3 =>Q<="11100111";WHEN 4 =>Q<="11111111";WHEN 5 =>Q<="11100111";WHEN 6 =>Q<="11000011";WHEN 7 =>Q<="10000001";WHEN OTHERS =>NULL;END CASE;END PROCESS;END a;仿真波形:(4)状态机:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY caideng_ztj ISPORT(CLK,RST: IN STD_LOGIC;Q1,Q2,Q3: IN STD_LOGIC_VECTOR(7 DOWNTO 0);T:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END caideng_ztj;ARCHITECTURE behav OF caideng_ztj ISTYPE states IS (s0,s1,s2);SIGNAL YT : states ;BEGINP1: PROCESS(CLK,RST)BEGINIF RST ='1' THENYT <= S0;ELSIF CLK'EVENT AND CLK = '1' THENCASE YT ISWHEN s0 => YT <= s1;WHEN s1 => YT <= s2;WHEN s2 => YT <= s0;WHEN OTHERS => YT <= s0;END CASE ;END IF;END PROCESS ;P2: PROCESS(YT)BEGINCASE YT ISWHEN s0 => T(7 DOWNTO 0)<= Q1 (7 DOWNTO 0);WHEN s1 => T(7 DOWNTO 0)<= Q2 (7 DOWNTO 0);WHEN s2 => T(7 DOWNTO 0)<= Q3 (7 DOWNTO 0);WHEN OTHERS => T(7 DOWNTO 0)<=Q1 (7 DOWNTO 0); END CASE ;END PROCESS P2 ;END behav;仿真波形:(5)实现上述3项功能的总原理图:仿真波形:六、实验箱调试:1、引脚锁定:我选用实验电路结构图NO.7为这次彩灯硬件调试的操作界面。

八路彩灯控制器实验

八路彩灯控制器实验
首先点亮第一盏灯在第一盏灯熄灭之后点亮第二盏灯在第二盏灯熄灭之后再去点亮第三盏灯依此类推直到点亮第八盏灯看上去的效果就像亮点从第一盏灯依次流向第八盏灯然后全部熄灭反复循环这一过程
八路彩灯控制器
功能描述:首先点亮第一盏灯,在第一盏灯熄 灭之后,点亮第二盏灯,在第二盏灯熄灭之后,再 去点亮第三盏灯,依此类推,直到点亮第八盏灯, 看上去的效果就像亮点从第一盏灯依次流向第八盏 灯,然后全部熄灭,反复循环这一过程。 用中规模计数器设计该八路彩灯控制电路,要求: (1)每盏灯的点亮时间为100~120ms之间; (2)用555定时器设计时钟脉冲; (3)八路彩灯采用八个发光二极管代替。
A0 A1 A2 S1 S2 S3
P'0 P'1 P'2 P'3 P'4 P'5 P'6 P'7
P'0 P'1 P'2
74HC138
P'3
P'4 P'5
1
P'6
P'7
VCC(+5V) 1 R1 10kΩ
8 4 7 3
CLK
R2 10kΩ
C 22µ F
+
6 2 1 5
0.01µF
0
EP ET CLK D 0 Q0 D 1 Q1 D2 Q2 D3 Q3 C RD LD
74HC161 1
1
T≈ (R1+2R2)C×0.7, T≈462ms,
取R1=R2=10kΩ, C=22µ F
74HC138
1 0 1 0 1 0 1 0
A0 A1 A2 S1 S2 S3
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

单片机实验之二极管循环点亮

单片机实验之二极管循环点亮

实验一P1口亮灯实验一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。

二、实验内容P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

三、实验预备知识(1)P1口为准双向口,可定义为输入,也可定义为输出。

(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHZ)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

四、程序框图五、实验步骤1、实验连线P1.0~P1.7用插针连至L1~L82、PC环境在与PC联机状态下,打开桌面图标“MCS-51集成开发环境”,下载PH51\he01.asm,编译、连接、装载,用连续方式运行程序。

3、观察运行结果在连续运行方式下,观察发光二极管闪亮移位情况。

4、终止运行按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出该程序的运行返回监控状态。

六、思考修改延时常数,使发光二极管闪亮时间改变。

修改程序,使发光二极管闪亮移位方向改变。

七、实验电路八、实验程序ORG 0790H;----------------------------------------------------------SE18: MOV P1,#0FFH ;送P1口LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,ALCALL SE19 ;延时RL A ;左移位SJMP LO33 ;循环;----------------------------------------------------------SE19: MOV R6,#0A0HLO36: MOV R7,#0FFHLO35: DJNZ R7,LO35DJNZ R6,LO36 ;延时RET;----------------------------------------------------------END教你如何用W ORD文档(2012-06-27 192246)转载▼标签:杂谈1. 问:W ORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。

任务9 用自制的跑马灯电路实现8只LED循环点亮

任务9  用自制的跑马灯电路实现8只LED循环点亮

• 出栈指令格式为:POP direct ;(direct)←(SP) • • ;SP←SP-1 该指令执行时先将SP所指单元数据弹出至direct所指的地址单元, 然后SP减1指向新的栈顶单元地址。
• •
4)子程序调用指令 ) 子程序调用指令的功能调用子程序,执行时先将断点地址(调用 指令的下一条指令的首地址)压入堆栈区,然后将子程序的首地址送 PC,执行子程序。 (1)长调用指令LCALL addr16 ;PC←PC+3 ;SP←SP+1 ;(SP)←PC7-0 ;SP←SP+1 ;(SP)←PC15-8 ; PC←addr16
执行该指令时,先将PC+2得到下一条指令的16位首地址,并将其压入堆栈, 最后子程序标号所在的子程序入口地址送给PC,CPU转入子程序执行。由于短 调用指令中的PC高5位地址不变,所以其转移的范围为2KB。
任务9 用自制的跑马灯电路实现8只 任务 用自制的跑马灯电路实现 只LED循环点亮 循环点亮 程序分析讲解
任务9 用自制的跑马灯电路实现8只 任务 用自制的跑马灯电路实现 只LED循环点亮 循环点亮
9.1.3 跟我学 1)减1不为零循环转移指令 ) 不为零循环转移指令DJNZ 不为零循环转移指令 DJNZ Rn,rel ;PC←PC+2,Rn←(Rn)-1,若(Rn)≠0,则PC←PC+rel DJNZ direct,rel ;PC←PC+2, direct←(direct)-1,若(direct)≠0,则 PC←PC+rel; 每执行一次循环转移指令,第一操作数(Rn或direct中的数)减1,并 保存,若减1后结果不为零,则转移至目的地(标号处);若减1后结果为零, 则程序按顺序执行下一条指令。

Word版可编辑-八路循环彩灯电路设计精心整理.doc

Word版可编辑-八路循环彩灯电路设计精心整理.doc

八路循环彩灯电路设计摘要:灯光的闪烁和流动可以用于各种各样的装饰,例如电子门标、广告装饰等。

灯光的流动总是特别吸引别人的注意力。

在夜晚,在城市的街头,当广告牌上的灯光流动起来时,城市就会马上变得生动起来。

我所设计的彩灯控制电路是原理很简单的一种利用大学所学到的数电知识制成。

只要了解几种集成电路便可轻松明白它的原理。

做好的彩灯可以放在室内,主人会感到温馨;放在餐厅等地方可以增加氛围。

本文基于电子线路CAD常用软件Protel99SE设计了一个简单的循环彩灯电路,各路彩灯由发光二极管模拟代替。

采用555定时器,计数器,移位器,产生控制循环信号,再利用74LF161A计数器和74LS194左右移位寄存器组成驱动电路来依次控制彩灯循环闪烁。

循环彩灯电路由驱动电路、输出电路、时钟电路和电源等为整个系统工作提供所需的能源。

CMOS 电路对电源电压的要求相对比较宽松。

循环彩灯电路是由TTL集成电路做成,并且采用5伏电源供电。

时钟电路是由555多谐自激震荡集成电路制成,与电阻和电容一起构成时钟周期发生器,为电路提供时钟信号,支持整个电路的工作。

驱动电路是由74LF161A计数器和74LS194左右移位寄存器组成,用以驱动发光二极管正常工作,并且在时钟电路的控制下让八个发光二极管循环工作。

关键词:八路彩灯;555定时器;计数器;移位寄存器The Design Of Eight Lines Circulating Lights Abstract: Lights flashing and the flow can be used for a variety of decoration, such as electronic door standard, advertising and decoration. The flow of light is always special to attract people's attention. At night, the streets in the city, when the flow of light on the billboards up, the city will soon get to life. I designed the lights control circuit is a very simple principle learned to use the University made several electrical knowledge. As long as several integrated circuits can easily understand its principles. Do the lights can be placed indoors, the owner will feel warm; on restaurants and other places to increase the atmosphere.Based on the electronic circuits commonly used CAD software Protel99SE designed a simple circuit lights cycle, and the brightest lights from the light-emitting diode simulations instead. Using 555 timers, counters, shifters, resulting in the control loop signal, and then use 74LF161A around the counter and 74LS194 shift registers control drive circuit to turn lights cycling. Cycle lights circuit by the drive circuit, output circuit, clock circuit and power supply for the entire system to provide the necessary energy. CMOS circuits the power supply voltage requirements are relatively relaxed. Cycle lights circuit is made by TTL integrated circuits, and the 5-volt power supply. Clock circuit is more than 555 integrated circuit made of harmonic self-excited oscillation, together with resistors and capacitors constitute the clock generator providing clock signals for the circuit to support the entire circuit. Drive circuit is 74LF161A counter and shift register 74LS194 about the composition, light-emitting diodes to drive to work, and under the control of the clock circuit so that the work cycle of eight light-emitting diodes.Key words:Eight lines circulating lights; 555 timer; Counter; Shift register目录1引言 (1)2 系统组成及工作原理 (1)2.1 基础设计目的 (1)2.2 基础设计要求 (1)2.3 总体设计思路 (2)2.4 电路框图 (2)2.5 PCB板布线 (2)2.5.1 布局规则 (2)2.5.2 布线规则 (2)3 循环彩灯的系统组成 (3)3.1 555定时器电路 (3)3.1.1 定时器电路产生时钟脉冲 (3)3.1.2 555定时器组成的多谐振荡电路 (4)3.2 74F161A及74LS194的功能 (5)3.2.1 74F161A四位二进制同步计数器 (5)3.2.2 74LS194四位双向移位寄存器 (6)3.3 设计彩灯控制电路 (7)3.4 电路图的仿真 (7)3.5 PCB板布线与制做方案的实施 (7)3.5.1 PCB板布线 (7)3.5.2 PCB板制作 (8)4 循环电路的总体设计 (8)4.1 循环彩灯原理图 (8)4.2循环彩灯仿真图 (9)4.3 循环彩灯PCB图 (9)4.4循环彩灯装配图 (10)4.5 循环彩灯实物图 (10)5 实验结果的调试与检验 (11)5.1 调试技巧方法 (11)5.2 调试中出现的原因、故障及排除的方法 (11)6 总结与设计结论 (11)6.1 总体结果 (11)6.2 设计结论 (12)6.3 收获 (12)参考文献 (15)致谢......................................................错误!未定义书签。

发光二极管流水灯实验报告

发光二极管流水灯实验报告

实验一发光二极管流水灯实验
一、实验目的:
1.通过AT89C51单片机控制8个发光二极管,八个发光二极管分别接在单片机的P0.0-P0.7接口上,输出“0”时,发光二极管亮。

开始时P0.0→P0.1….→P0.7,实现亮点以1HZ频率循环移动。

2.用PROTEUS 设计,仿真以AT89C51为核心的发光二极管流水灯实验装置。

3.掌握发光二极管的控制方法。

二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
1.程序
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R1,#08H ;8个发光二极管,循环8次点亮
MOV A,#0FEH ;共阳接法,低电平点亮
LOOP: ;循环依次点亮
MOV P0,A ;输出到P0口点亮二极管
RL A
ACALL DELAY ;调用延时
DJNZ R1,LOOP ;判断8个二级管是否都点亮过
SJMP MAIN ;若8个二极管都循环点亮一次,则重新依次点亮
DELAY:MOV R2,#10 ;延时1S
DEL3:MOV R3,#200
DEL2:MOV R4,#125
DEL1:NOP
NOP
DJNZ R4,DEL1
DJNZ R3,DEL2
DJNZ R2,DEL3
RET
END。

实验4核心板上的八个LED灯交替闪烁解析

实验4核心板上的八个LED灯交替闪烁解析

实验四:核心板上的八个LED灯交替闪烁一、试验目的1、掌握NiosII 软核的定制流程;2、掌握NiosII 软件开发流程;3、熟识NiosII IDE 开发环境的使用;4、掌握基本的软件调试方法;原理:在本实验中,我们用软件来控制核心板上的八个LED灯交替闪烁。

二、硬件开发流程1、新建QuartusII 工程。

新建一个工程目录“F:/shiyan”,在此目录下建立一个名为“led”的QuartusII 工程,并新建一个顶层原理图,保存于工程中。

过程如下所示:(1)、创建QuartusII 工程目录。

在QuartusII的File菜单下,选择New project wizard..,如下图:在弹出的对话框中,填入以下内容:点击Next进入下一步,在family中选择Cyclone,在Available devices中选择EP1C12F324C8,然后点击finish,完成QuartusII 工程的创建。

(2)、创建顶层原理图在QuartusII的File菜单下,选择New,如下图:在弹出的界面中,选择Block Diagram/Schematic File,并点击OK,返回QuartusII界面,如下图所示:2、SOPC Builder系统的定制,用SOPC Builder 定制NiosII 处理器及其外设。

(1) 打开Tools SOPC Builder,如下图:要求指定系统名字,本例中我们输入ledshow。

按OK 进入SOPC 定制界面:(2) 选择目标板及时钟频率。

Target,本例选择Nios Evaluation Board Cyclone(ep1c12);选择时钟频率,Clock(MHz):本例选24.0;选择目标器件系列,Target Device Family:本例选Cyclone。

在SOPC 定制界面的左边,我们可以看到有很多功能模块,这些功能模块用户可以按照需要添加到所设计的系统中(3) 添加CPU元件。

8个LED灯循环闪烁课程设计

8个LED灯循环闪烁课程设计

摘要“微机原理与接口技术”是高等学校电子信息工程、通信工程、自动化、电气工程及其自动化等工科电气与电子信息类各专业的核心课程。

该课程以INTER 8086微处理器和IBM PC系列微机为主要对象,系统。

深入地介绍了微型计算机的基本组成、工作原理、接口技术及应用,把微机系统开发过程中用到的硬件技术和软件技术有机地结合起来。

本文详述了8个LED灯循环闪烁的课程设计。

设置8个LED灯,首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。

然后是2、4、6、8号LED 依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。

本课程设计,由于自身能力和学习水平有限,可能存在一定的错误和不当之处,敬请批评和指正。

一、设计目的1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件;2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;3.进一步了解8255A各引脚的功能, 8255A和系统总线之间的连接, 8255A和CPU 之间的数据交换,以及8255A的内部逻辑结构。

深入掌握8255A显示电路的基本功能及编程方法,8255等芯片的工作方式、作用。

4.培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。

通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。

同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

二、设计内容根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器和8255A可编程并行接口芯片和8个LED等连成硬件电路。

设计8个LED灯,实现如下要求:首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。

然后是2、4、6、8号LED依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。

三、设计要求使用8255A可编程接口芯片实现8个LED灯以十种不同的方式显示。

八路流水灯循环点亮

八路流水灯循环点亮

黄山学院专业姓名班级学号指导老师八路循环彩灯控制电路一、 设计要求(1)设计一组8路循环彩灯控制电路,发光二极管的亮度要明显可见。

(2)、点亮要有一定的规律,即按顺序点亮。

(3)、元件、芯片的摆放要合理。

(4)、布线要紧密、尽量短(5)用protuse 仿真,1 题目分析:八路彩灯循环点亮电路功能描述:八只彩灯按顺序轮流点亮,首先点亮第一盏灯,在第一盏灯熄灭之后,点亮第二盏灯,在第二盏灯熄灭之后,再去点亮第三盏灯,依次类推,直到点亮第八盏灯,看上去的效果就像亮点从第一盏灯依次流向第八盏灯,然后又点亮第一盏灯,反复循环这一过程。

2 整体构思:彩灯的控制是用数字集成电路的构成来实现的,用彩灯(LED 发光二极管)构成一个发光矩阵。

主要用计数器和译码器等来实现,其特点是用发光二极管显示,构成具有循环功能的彩灯控制电路。

将振荡器的振荡脉冲进行计数,计数器的输出作为译码器的地址输入,经译码器控制各路彩灯依次发亮。

用框图表示如下。

3 具体实现: (1)、根据题目要求,找到可能完成此功能的芯片。

一共有八只灯所以要用74LS138 3线-8线译码器74LS161十进制上升沿计数器。

(2)、确定芯片后,完成电路图。

(3)、根据题目要求,要实现八只灯按顺序点亮电路就要用到74LS138 3线-8线译码器和74LS161具有异步清零、同步置数、可以保持状态不变的十进制上升沿计数器。

以及发光二极管、电阻、导线、电平开关和万用版。

(4)、按照电路图连接线路,检查是否连接正确 。

(5)、检查功能实现,如果不能进行调试、修改。

二、单元电路设计参考1、振荡器设计:用集成555电路构成多谐振荡器。

电路如下图所示。

振荡器计数器 译码器 8路彩灯 → → →U 0的周期: 2、计数器的选用:选四位二进制同步加/减计数器74LS161。

其引脚功能图如下所示。

其真值表如下:)C 2R 0.7(R T 21+=三、设计原理电路四、材料清单:五、protuse仿真部分截图图:六、心得体会:实验之前必须认真阅读有关方面的知识,在心中要有一个大概的模型或过程。

八只LED灯做流水灯实验报告

八只LED灯做流水灯实验报告

51八只LED灯做流水灯实验第一节:单片机在上电初始后,其各端口输出为高电平。

如果我们现在想让接在P1.0口的LED1亮,那么我们只要把P1.0口的电平变为低电平就可以了。

想让LED1灭,LED0亮,只需将P1.0升高,P1.1变低,LED1就熄灭LED2随后既点亮!依始类推如下所示8只LED变会一亮一暗的做流水灯了。

本实验在“SP-51实验板”学习套件上的相关图纸:P1.0低、P1.0高、P1.1低、P1.1高、P1.2低、P1.2高、P1.3低、P1.3高、P1.4低、P1.4高、P1.5低、P1.5高、P1.6低、P1.6高、P1.7低、P1.7高、返回到开始、程序结束。

我们不能说P1.1你变低,它就变低了。

因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”代码。

我们又怎样来用二进制语议论使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。

今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。

这里的“程序语言”目前主要有汇编和C两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。

前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。

现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。

“汉语”语言汇编语言开始:star:P1.0低clr p1.0P1.0高setb p1.0P1.1低clr p1.1P1.1高setb p1.1这里用到了四条汇编指令:clr、setb、ljmp 、end;clr:是将其后面指定的位清为0;setb:是将其后面指定的位置成1;ljmp:是无条件跳转指令,意思是:跳转到指定的标号处继续运行。

实验一LED二极管闪烁十次再循环再闪烁的编程及仿真

实验一LED二极管闪烁十次再循环再闪烁的编程及仿真

实验一单片机实验装置及使LED二极管闪烁十次再循环再闪烁的编程及仿真一、实验目的1熟悉keil4和Proteus可编程控制器实验装置的功能结构及使用。

2熟悉用单片机编辑循环程序的方法。

3熟悉用keil4和Proteus编程及仿真。

二、实验器材1、keil4和Proteus可编程控制器实验装置。

2、装有keil4和Proteus编程软件的PC机。

3、89C51单片机一块,8个LED二极管最好是有颜色变化的,1块respack-8的排阻,一块74HC245缓流器。

4、虚拟接地、电源、导线若干。

三、实验原理1、应用keil4和Proteus的高度兼容性和完美的仿真功能,以计算机的计算能力来模拟出现实实验的现象,以程序编程后并定义好关口的引脚,通过实验逻辑的变化来达到控制原件的变化。

四、实验内容1、先根据你的实验需要来设计实验。

2、然后再使用keil4在电脑上把程序编好并输出.HEX格式文件,打开proteus 将画好的实验电路图画到软件里,并且把.HEX文件编辑到实验的器件89C51中。

3、仿真实验,观察实验的现象并总结实验结果。

五、实验步骤1、根据实验的要求来设计实验。

首先应该先在草稿纸上把实验的步骤和方法先提前写好,并把实验电路图画出。

2、在keil4中编辑程序并输出.HEX文件,如下编辑:第一种编程方法:要加<stdio.h>#include <reg51.h> //80C51的头文件//#include <stdio.h>#define unit unsigned int#define uchar unsigned char //对int和char定义,以减少实验操作的简便//uchar y;sbit led0=P2^0;sbit led1=P2^1;sbit led2=P2^2;sbit led3=P2^3;sbit led4=P2^4;sbit led5=P2^5;sbit led6=P2^6;sbit led7=P2^7; //定义P2上八个管脚的名称,以控制引脚//void delayms (unit); //必须要先定义,后才能引用使文件得以延时//void main(){while(1) //必须要是1使循环变成死循环,才能控制实验//lable0:{for(y=10;y>0;y--) //控制灯的闪烁次数//{led0=0;delayms(100);led0=1;delayms(100);}goto lable1;} //达到循环跳出的目的//lable1: //跳出的地址//{for(y=10;y>0;y--){led1=0;delayms(100);led1=1;delayms(100);}goto lable2; }lable2:{for(y=10;y>0;y--){led2=0;delayms(100);led2=1;delayms(100);}goto lable3;}lable3:{for(y=10;y>0;y--){led3=0;delayms(100);led3=1;delayms(100);}goto lable4;}lable4:{for(y=10;y>0;y--){led4=0;delayms(100);led4=1;delayms(100);;}goto lable5;}lable5:{for(y=10;y>0;y--){led5=0;delayms(100);led5=1;delayms(100);}goto lable6;}lable6:{for(y=10;y>0;y--){led6=0;delayms(100);led6=1;delayms(100);}goto lable7;}lable7:{for(y=10;y>0;y--){led7=0;delayms(100);led7=1;delayms(100);}goto lable0;}}void delayms(unit x) //延时程序//{unit i,z;for(i=x;i>0;i--)for(z=113;z>0;z--);}编译后输出.HEX文件。

数电实验报告发光二极管走马灯电路设计与实现

数电实验报告发光二极管走马灯电路设计与实现

数电实验报告发光二极管走马灯电路设计与实现北京邮电大学数字电路与逻辑设计实验实验报告实验名称:发光一极官走马灯电路设计与头现学院: 班级: 姓名: 学号: 任课老师:实验日期:成绩:实验名称和实验任务要求实验名称:发光二极管走马灯电路设计与实现实验目的:⑴进一步了解时序电路描述方法;⑵熟悉状态机的设计方法。

实验任务要求:设计并实现一个控制 8 8 个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。

⑴单点移动模式:一个点在 8 8 个发光二极管上来回的亮;⑵幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。

二. 设计思路和过程设计实现过程:⑴设计的电路拥有两种功能,所以设定 d d」n n 控制输出实现两种功能,规定当 d d」 n 0 =0 时,实现单点移动模式;当 d d」 n 1 =1 时,实现幕布式。

同时,时序电路中钟控是必不可少的,所以引入 clk_in 来实现钟控。

最终需输出在实验板上的 8 8 个发光二极管上验证,所以输出 f f 需设定为 8 8 端口输出, 女口:f:out std_logic_vector(7 downto 0)。

⑵单点移动模式的实现:来一个时钟沿,实现一次变化。

单点移动模式需实现发光二极管来回亮,所以需定义一个 6 16 变量的数据类型。

利用 CASE- - WHE语句实现状态的转移。

状态转移01 T 00000010 T 0001T …T 10000000 -^01000000 T ... T 00000001 ⑶幕布式的实现:需实现发光二极管从中间两个点, 同时向两边依次点亮直至全亮,然后再向中间点灭,往复。

需要 8 8 变量数据类型,利用单点式中信号类型定义给状态转移。

状态转移需满足:0000000111100 T …T 11111111^ 01111110 T …00000000 T 00011000 三. VHDL 程序发光二极管走马灯电路 I VHDI 程序: 1 library leee; 2. 二二 = re ■ std lacxc; 11 € 1 ■ a 11 r 3 \ise Leee . std lcgic unsigned, all; 弓 E ■ entity color 1aicp ±a 6 Sport ( 7 : in svd._lc?iG; R d^in r in«td_loqi.c:; 9 f:out std lcgic vectorp downto 0)}; 10 snd color_airf ; 1112 Q architecture a匚£ colorlaKp is 13 Q type all scace la (3Q f14 310 f31 丄 F 鼻 3 丄攻 r 215): 15 s 丄 gnal state:all atate; 16 ■ begm 17 Sprocess(elk in} IB begm5 if ( ellr in 1eTZEnt and ulZ in= 1 1. 1) then 20 Hif (d 1 n= 10 1) then 21 S case state 二 m 22 <hen g0=> svate<—al;f<= n C DC 0< OZC"; 23 when aZ=> stave f<= w GOGQ?"OLQ n;巧 -. :nen 32=> svaue^=a3 ; r^="Q9OQ0iOQ"; 25 v?ien a3=>state<^54; £<-"00002000"; 26 whe^ 3^=> svate<=35;f<= wOQG10QOO"; 27 when a5-> 3tate<—£<-"00100000"; 28 whe^ B 6"> 3tate<»s7;f<»w 01000000";■ if(din-"l 1 } then Q case suatm is whens0=>3tate<=sl;f<="00011COO*; when 31">3ta 匸览 whens2=>fltat&<=33;f<-"01111110"; WhMD »3 : =>HtHt :P< = H4 ; f<=" J * 1 ;: 1 11 " ; when □4->otate< - aS ;£< i-n 0111111Q n ; when =5->5tate<-36;£<-"Q0111100 _ ; whans^=>3tate<=s7 ;£<="QOOHQOO H ; when 盘丁=>日匸且匸豐 V■且。

-八路可控循环彩灯实验报告

-八路可控循环彩灯实验报告

班级:学号:姓名:指导老师:2010年6月2日八路循环彩灯控制电路一、 设计要求设计一组8路循环彩灯控制电路,要求每路灯循环亮2秒。

二、 设计方案将振荡器的振荡脉冲进行计数,计数器的输出作为译码器的地址输入,经译码器控制各路彩灯依次发亮。

用框图表示如下。

三、单元电路设计参考1、振荡器设计用集成555电路构成多谐振荡器。

电路如下图所示。

四、 电路元件参数计算若选用四位二进制计数器,要达到设计要求,振荡周期T 应为1秒。

振荡器 计数器 译码器 8路彩灯 → → → CR R T )2(7.021+=若取R1= R2 =R,则T ≈2RC 。

当取C=100μF 时,R ≈ T/(2C )=0.5/C=5K Ω 一般电路中,取C1= 0.01μF五、 计数器的选用选四位二进制同步加/减计数器74LS191。

其引脚功能如下图所示。

QA~ QC 作输出, QD 不用。

使输出数据的频率为输入时钟频率的二分频,周期为2秒。

六、译码器的选用译码器选用74LS138,其引脚功能如下图所示。

当输入A0、A1、A2在000~111变化时,对应的输出Y0至Y7为低Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0 S 2S 3 S 1 A2 A1 A074LS191B QB QA G U/D QC QD GNDVcc A CP RC MIN/MAX PL C D3电平,驱动外接彩灯发亮。

七、彩灯的选用这里选用一般灯泡做彩灯。

由于电源电压为220V,每次只亮一路灯,限流电阻R3=(UCC-VD)/ID,当可调电阻R3阻值为100时,调整R3,可以调节彩灯的亮度。

八、设计原理电路当D/U脚接高电平或悬空时,计数器执行减法,彩灯由上依次一次亮灭;按下开关时,D/U脚接低电平,计数器执行加法,彩灯由下到上依次亮灭。

八、心得体会由于对计数器比较陌生,在选用计数器时,花了很多时间,个人觉得在以后的日子里要熟悉各种各样的芯片,这样才不会接到任务时茫然而不知所措,无从下手。

一.八路彩灯自动控制

一.八路彩灯自动控制
次分别接p10p17d1装在最右d8在最左运行后彩灯分四步循环工作
一 .八路彩灯自动控制
实验器材: EL实验箱或仿真器一台;74LS04两片;LED发光二极管8个;680Ω电阻8个;+5V稳压电源一台;面包板一块。
要求: 用8031控制八路彩灯(D1-D8,依次分别接P1.0-P1.7,D1装在最右,D8在最左),运行后,彩灯分四步循环工作: (1)D1-D8按规定顺序依次点亮(间隔为1S),最后全亮。共8S。 (2)D1-D8按规定顺序依次熄灭(间隔为1S),最后全灭。共8S。 (3)D1-D8同时亮,时间为1S。 (4)D1-D8同时灭,时间为0.5S。 第3步和第4步重复4遍,共6S。如此完成一次循环共22S。整个程序循环n次。 说明:第1.2步中发光二极管依次点亮和熄灭的顺序及循环次数n由考评员现场设定,

24-张永乐-基于单片机的8位二极管循环点亮电路(1)

24-张永乐-基于单片机的8位二极管循环点亮电路(1)

物理与电子工程学院《单片机原理与接口技术》课程设计报告书设计题目:基于单片机的8位二极管循环点亮电路的设计专业:自动化班级: 14级接本班学生姓名:张永乐学号: 20140343124指导教师:成燕平2015年6 月14 日物理与电子工程学院课程设计任务书专业:自动化班级: 14级接本班摘要本设计提出了一种基于AT89C51单片机的彩灯循环控制的方案,实现对LED灯的控制。

本方案以89C51单片机作为主控核心,以按键、显示、驱动等模块组成核心主控制模块。

进一步熟悉和掌握89C51单片机的结构及工作原理掌握单片机的接口技术及相关外围芯片的外特性和控制方法。

通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。

本设计完成后,能掌握以单片机核心的电路设计的基本方法和技术。

根据用户需要可以编写各种亮灯模式的程序,用户可以根据不同场合选用不同的彩灯循环方式。

与普通LED彩灯相比,它具有体积小、价格低、低能耗等优点。

通过完成一个包括电路设计和程序开发完整过程,了解开发以单片机应用系统的全过程,为今后从事相应工作打下基础关键词:单片机;中断;循环目录1 引言 (1)2 设计原理 (2)2.1功能介绍 (2)3 硬件电路设计 (3)4 系统软件程序设计 (5)5 电路仿真及调试 (6)6 心得体会 (9)参考文献 (11)附录 (12)1 引言当今社会中,循环灯在人们的日常生活中有着日益重要的作用。

它不仅能美化环境,渲染气氛,还可以用于娱乐场所和电子玩具中,并且在不同场所都各具特色。

由于循环彩灯的快速发展使其应用也越来越广泛,逐渐深入到了人们生产、生活的各个领域。

随着彩灯应用的深入发展,对其安全要求也就越来越高。

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时也带动传统控制日新月异更新。

在自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,并加以完善。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

八路发光二极管轮流点亮的实验
八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了,在焊接前要看仔细哦~~~
下面我们来完成软件编程设计,这里我们没有采用高深的编程技巧,而是用了最直接的向端口送数的办法来实现,一来程序比较简单,没必要玩深沉,而且初学者看起来直观易懂。

ORG 0000H
START:MOV P1,#01111111B;最下面的LED点亮
LCALL DELAY;延时1秒
MOV P1,#10111111B;最下面第二个的LED点亮
LCALL DELAY;延时1秒
MOV P1,#11011111B;最下面第三个的LED点亮(以下省略)
LCALL DELAY
MOV P1,#11101111B
LCALL DELAY
MOV P1,#11110111B
LCALL DELAY
MOV P1,#11111011B
LCALL DELAY
MOV P1,#11111101B
LCALL DELAY
MOV P1,#11111110B
LCALL DELAY
MOV P1,#11111111B;完成第一次循环点亮,延时约0.25秒
AJMP START;反复循环
;延时子程序,12M晶振延时约250毫秒
DELAY:
MOV R4,#2
L3: MOV R2 ,#250
L1: MOV R3 ,#250
L2: DJNZ R3 ,L2
DJNZ R2 ,L1
DJNZ R4 ,L3
RET
END
这是上面程序汇编以后获得的编程器烧写文件:201.hex
下载烧写文件的方法:将鼠标移到烧写文件的超级键连处,点击鼠标的右键,选择“目标另存为(A)...”保存文件类型中不要选择“文本文件”,应该选择“所有文件”,这样就能获得*.hex文件了。

如何精确计算延时子程序的执行时间?
汇编语言的一大优势就是能够精确控制程序的执行时间,这在编写一些对时序要求严格的外围器件驱动时由为重要!
;延时子程序,12M晶振延时约253毫秒
DELAY:
MOV R4,#2------执行1个机器周期,耗时1微秒
L3: MOV R2 ,#250---执行1个机器周期,耗时1微秒
L1: MOV R3 ,#251---执行1个机器周期,耗时1微秒
L2: DJNZ R3 ,L2---执行2个机器周期,反复执行251次(2x251)=502微秒)
DJNZ R2 ,L1-----执行2个机器周期,反复执行250次(1+502+2)*250=126250微秒)
DJNZ R4 ,L3-----执行2个机器周期,反复执行2次(1+1+502+126250+2)*2=253512微秒)
RET
delay 加上第一条总共延时1+253512=253513微秒。

相关文档
最新文档