W了然于心
这是大规模数字集成电路在系统可编程领域的经典课程设计。数字频率计是近代电子技术领域的重要测量工具之一,同时也是其他许多领域广泛应用的测量仪器。数字频率计是在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。数字频率计用于测量信号(方波,正弦波或其他周期信号)的频率,并用十进制数字显示,它具有精度高,测量速度快,读数直观,使用方便等优点。一个用VHDL语言实现的实例如下:-- Project Name: 恒精度频率计-- Target Devices: FPGA or CPLD-- Revision - File Created-- Comments: clk--系统工作时钟,2MHz-------------reset--系统复位信号,高电平有效-------------Fx--为待测信号-------------FreqNx--为待测信号的计数值-------------FreqNs--为标准信号的计数值-------------Freq--为待测信号的频率------------------------------------------------------------------------------------library IEEE;use ;use ;use ;----------------------------------------------------------entity Cymometer is generic(clk_freq : integer := 2000000);--系统工作时钟频率 Port ( clk : in STD_LOGIC; reset : in STD_LOGIC; Fx : in STD_LOGIC; ----待测信号 FreqNs : out natural; FreqNx : out natural); --Freq : out natural);end Cymometer;----------------------------------------------------------architecture Behavioral of Cymometer is---------------------------------------- signal start : STD_LOGIC;--此信号为高电平时计数器开始计数 signal CTRL : STD_LOGIC;--CTRL信号为待测信号和门控信号产生的计数器启动信号 signal CNTx : natural;--待测信号计数器 signal CNTs : natural;--标准信号计数器----------------------------------------begin--***************************************----产生一个门控信号,高电平有效 GateCtrl : process(clk) --------------------------- variable CNT0 : integer range 0 to 2_097_152;--门控信号计数器 --------------------------- begin if rising_edge(clk) then if reset='1' then CNT0 := 0; else CNT0 := CNT0 + 1; end if; --------- if reset='1' then start <= '0'; elsif CNT0 < (clk_freq*3/4) then start <= '1'; else start <= '0'; end if; end if; end process GateCtrl;--***************************************----产生CTRL信号,由待测信号和门控信号产生的计数器启动信号 CtrlGen : process(Fx) begin if rising_edge(Fx) then if reset='1' then CTRL <= '0'; else CTRL <= start; end if; end if; end process CtrlGen;--***************************************----用两个计数器分别对标准信号clk和待测信号signal计数------------------------------------计数标准信号,CTRL高电平期间有效 CountS : process(clk) begin if rising_edge(clk) then if reset='1' then CNTs <= 0; elsif CTRL='1' then CNTs <= CNTs + 1; else CNTs <= 0; end if; end if; end process CountS;------------------------------------计数待测信号,CTRL高电平期间有效 CountX : process(Fx) begin if rising_edge(Fx) then if reset='1' then CNTx <= 0; elsif CTRL='1' then CNTx <= CNTx + 1; else CNTx <= 0; end if; end if; end process CountX;--***************************************----CTRL下降沿将技术结果和测量值输出 CountOut : process(CTRL) begin if falling_edge(CTRL) then if reset='1' then FreqNs <= 0; FreqNx <= 0;-- Freq <= 0; else FreqNs <= CNTs; FreqNx <= CNTx;-- Freq <= (clk_freq / CNTs * CNTx); end if; end if; end process CountOut;end Behavioral;下面是为上面的模块编写的测试平台,在Modelsim下仿真通过,因为数据量较大,建议不要使用Altera及ISE仿真。--------------------------------------------------------------------------------LIBRARY ieee;USE ;USE ;USE ; ENTITY tb ISEND tb; ARCHITECTURE behavior OF tb IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT Cymometer PORT( clk : IN std_logic; reset : IN std_logic; Fx : IN std_logic; FreqNs : OUT natural; FreqNx : OUT natural; Freq : OUT natural ); END COMPONENT;--Inputs signal clk : std_logic := '0'; signal reset : std_logic := '1'; signal Fx : std_logic := '0'; --Outputs signal FreqNs : natural; signal FreqNx : natural;-- signal Freq : natural; -- Clock period definitions constant clk_period : time := 500ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: Cymometer PORT MAP ( clk => clk, reset => reset, Fx => Fx, FreqNs => FreqNs, FreqNx => FreqNx, -- Freq => Freq ); -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; --产生待测信号 Fx_process : process begin Fx <= '0'; wait for 2*clk_period; Fx <= '1'; wait for 2*clk_period; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100ms. wait for clk_period*10; reset <= '0'; -- insert stimulus here wait; end process;END;参考原理M/T测频法。
融发装修
基于 AT89C52 的多周期同步测频技术的实现黄晓峰 上海工程技术大学高职学院,上海 200437 摘 要:论述了传统的频率测量方法的原理及误差。提出了基于 AT89C52 实现多周期同步测频的新方法。 构造了与待测信号同步的多周期闸门时间,实现了时基信号与待测信号的准同步计数,系统只用一个定时/ 计数器 T2 实现了多周期同步测频。该频率测试仪结构简单,成本较低,能够在高低频段范围内实现频率参 数的等精度测量,具有较高的测量精度和较短的系统反应时间。 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式; 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式;等精度测量 中图分类号: 中图分类号: 文献标识码: 文献标识码:B 文章编号: 文章编号: Realization of multi-cycle synchronization based on AT89C52 HUANG Xiao-Feng Vocational Technical College, Shanghai University of Engineering Science, Shanghai, 200437 Abstract:The traditional frequency measuring principles and the errors are introduced. The new way of : multi-cycle synchronization based on 89C52 is presented. By structuring multi-cycle gate time synchronistically with the frequency signal, the system use only T2 to acquire under synchronous time base with the frequency signal, and realize the new method of multi-cycle synchronization frequency measuring .With the characteristics of a simple structure ,low cost, high accuracy and short measuring time, this frequency meter can realize equal precision measurement from high frequency to low frequency . Keyword:frequency measurement; multi-cycle synchronization; gate time;AT89C52; capture function;equal : precision measurement 0 引言 频率作为一种最基本的物理量,是电子测量技术中最重要的被测量之一。本文详细论 述了传统频率测量方法及原理, 并对各种方法的测量误差进行了分析。 为保证频率测量精度 和兼顾测量反应时间, 采用多周期同步测频技术, 设计了以 AT89C52 单片机为核心的频率参 数测试仪, 由于充分利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉功能, 使得该频率参 数测试仪的软硬件结构简单, 实现了对高低频段频率参数的等精度测量, 具有较高的测量精 度和较短的系统反应时间。 1 传统测频方法及其误差分析 频率测量的方法主要有 M 法、T 法以及 M/T 法 [1] 。M 法的基本测频原理是在选定的 闸门时间 T 内对被测脉冲信号进行计数,根据计数值 N x 和闸门时间 T 求得所测脉冲信号的 频率。在 M 法中,由于闸门时间 T 由标准频率源决定,而单片机的标准频率源是由晶振频 率分频后获得, 因而保证了闸门时间 T 的精确性。 但由于闸门的启闭与待测计数脉冲不同步, 闸 门开 通时间 通常 不是待 测信 号周期 的整数 倍, 存在 待测脉 冲信号 的计 数量 化误差 ?N x = ±1 。由 M 法的测频原理可知,待测信号频率 1 fx = Nx N ? f0 = x N0 T (1) 设待测脉冲频率的准确值为 f xd , 由于单片机测频系统中的标准频率源通常是由晶振产 生的频率信号分频后得到的, 而晶振的稳定性很高, 只要按测量精度要求选择合适的晶振后, 由标准频率源的不稳定性所造成的测频误差就可以被忽略掉 (文中的误差分析均是在忽略标 准频率源的不稳定性下做出的) 。设 δ Mx 为测量的相对误差 δM x = f xd = 得 δ Mx = f xd ? f x f xd (2) N x + ?N x T = ?N x N x + ?N x ≤ (3) f xd ? f x f xd 1 Nx (4) 由式(4)知, 当待测脉冲信号频率较高时, 在闸门时间 T 内被测信号脉冲的计数值 N x 较 大, δ Mx 很小,M 法能够达到较高的测量精度;而当待测脉冲信号频率较低时,在闸门时间 T 内 N x 较小, δ Mx 很大,测频精度降低。例如,被测信号的频率为 100HZ,则在 1S 内的相对误差 δ M x =1%。 而当待测脉冲信号的频率为 10HZ, f x 在 T =1S 内的相对误差 δ M x =10%。 则 虽然可以通过增大闸门时间 T 来提高测量精度,但闸门时间 T 过长将使系统的测量时间过 长,无法满足实时性的要求。 T 法的基本原理是在待测脉冲的一个周期内对标准频率信号进行计数,根据计数值 N 0 和标准信号的频率 f 0 求得待测脉冲信号的频率。在 T 法中,由于闸门时间 T 由待测脉冲信 号决定,不存在待测脉冲信号计数的量化误差 ?N x 。但由于闸门的启闭与标准频率源不同 步,故存在对标准频率源信号的计数量化误差 ?N 0 = ±1 。由 T 法的测频原理可知,待测信 号频率 f x = 1 N 0T0 = f 0 N 0 其中 T0 为标准频率源信号的周期。同理,可得 (5) δ Tx = f xd ? f x f0 f = ? 0 N 0 + ?N 0 N 0 f xd f0 N 0 + ?N 0 (6) 2 = ?N 0 N 0 ≤ 1 N 0 由于闸门时间 T 是待测脉冲信号周期的整数倍, 当待测脉冲频率较低时, 闸门时间 T 较 长,对标准频率源的计数值 N 0 较大,测量精度高;而当待测脉冲频率较高时,闸门时间 T 过短,甚至与标准频率源信号周期相近,故高频测量时 T 法存在严重的测量误差。 理论分析表明, 无论采取何种补偿措施, 都无法同时消除对待测脉冲和标准信号的计数 量化误差。将 M 法和 T 法结合起来就是 M/T 法,M/T 法结合了 M 法和 T 法各自的优点,在被 测信号频率较高时采用 M 法,频率较低时采用 T 法,这样在高、低频信号测量中都能获得较 高的精度。但由于在 M 法中, ?N x 随着被测信号频率的降低而增大,在 T 法中 ?N 0 随着被 测信号频率的增大而增大, 因此必存在 M 法和 T 法的分界点, 在该点高低频测量的相对误差 相等且达到最大,即 δ max = δ M x = δ T x 。我们将该点的频率称为中界频率 f C ,由式(1)知 N x = f x ? T ,由式(5)得 N 0 = f 0 f x ,则中界频率 f C = f 0 T 。虽然 M/T 法能够在两端获 得高精度,但在中界频率处的误差却总是最大的。本系统采用多周期同步测频原理,利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉方式,实现对信号频率、周期、脉宽以及占空 比的测量。 2 多周期同步测频原理及其误差分析 多周期同步测频技术的基本原理是在待测脉冲的 m 个周期内同时对对待测脉冲和标准 信号计数, 根据待测脉冲的计数值 N x 和标准信号的计数值 N 0 求得被测信号的频率 [2,3] 。 由 于闸门时间 T 为待测脉冲的 m 个周期即闸门时间与待测脉冲同步,从而消除了待测脉冲的 计数量化误差 ?N x 。但由于闸门的启闭与标准信号不同步,故仍存在对标准信号的计数量 化误差 ?N 0 = ±1 。设两个计数器在闸门时间 T 内同时对待测脉冲和标准信号的计数值分别 为 N x 和 N 0 ,则待测信号频率 fx = Nx T f0 = N0 T 消去闸门时间 T ,得 f x = N x ? f 0 N 0 (7) (8) (9) 同理,相对误差 δ = f xd ? f x f xd f0 f ?N ? Nx ? 0 x N + ?N 0 N0 = 0 f0 ? Nx N 0 + ?N 0 (10) = ?N 0 N 0 ≤ 1 N 0 = 1 f 0T 3 由式(10)知, δ 只与标准频率源的频率 f 0 和闸门时间 T 有关,与待测脉冲的频率 f x 无 关,实现了整个测量频段内的等精度测量,使测量精度大大提高。对于标准信号的计数量化 误差 ?N 0 ,虽然可以通过提高标准频率源的频率 f 0 和加大闸门宽度 T 来减小,但需要考虑 标准频率源工作频率的限制,以及加大闸门宽度 T 所带来的系统测量时间的增加。 3 基于 AT89C52 的多周期同步测频技术的实现 AT89C52 片内有 1 个 16 位的定时/计数器 T2,T2 除具备和定时/计数器 T0、T1 相同的 功能外,还具有捕捉方式、16 位自动重装等功能 [4,5] 。所谓捕捉功能就是当 T2 的外部输入 端 T2EX()的输入电平发生负跳变时,就会把 TH2 和 TL2 的内容同时记录到特殊功能寄存 器 RCAP2H 和 RCAP2L 中,并将外部中断标志 EXF2 置位,向 CPU 发出中断申请信号。T2 的 捕捉功能避免了 CPU 在读计数值的高字节时, 低字节还在变化所引起的读数误差, 更重要的 是,T2EX()上输入电平连续两次负跳变的计数差值,就是外部输入脉冲的周期。 依据多周期同步测频技术的原理,将 AT89C52 的定时/计数器 T2 设置为定时器捕捉工 作方式,闸门时间 T 为 m 个待测脉冲周期,被测信号经放大、整形、分频后送入 T2 的外部 输入端 T2EX(),在待测信号产生第一次负跳变时,TH2 和 TL2 中的内容(即时基脉冲计 数值)被同时捕捉至特殊功能寄存器 RCAP2H 和 RCAP2L,并在 T2 外部中断服务程序中记录 待测信号下降沿的数目, 以此实现闸门开启及待测脉冲及和时基脉冲的同时计数, 闸门时间 到时(即 T2 的外部输入端 T2EX 检测到第 m + 1 个待测脉冲下降沿) ,一次测量过程结束。 在此过程中, 当外部待测脉冲的下降沿到来或定时器 T2 产生对时基脉冲的计数溢出时, T2 外部中断标志 EXF2 或 T2 溢出标志 TF2 置位,并向 CPU 发出中断申请信号。CPU 相应中 断后,在 T2 中断服务程序中通过软件判断是 EXF2 还是 TF2 产生的中断,并进行相应的处 理,是 EXF2 产生的中断就记录下待测脉冲下降沿的数目,若是 TF2 就记录下 T2 对时基脉 冲的溢出次数。待测频率具体的计算如下: 设闸门时间 T 内共产生了 m + 1 次 T2 外部中断( m 个待测脉冲)及 N 次 T2 溢出中断, 且设第一个待测脉冲的下降沿到来时 T2 对时基的计数值为 l1 , m + 1 个待测脉冲的下降沿 第 到来时 T2 对时基的计数值为 l2 ,则 T2 对时基的计数过程如下(包括 N 次 T2 溢出中断) 。 l1 L65535 → 0L65535 → 0L65535 → 0LLL0L65535 → 0Ll2 则闸门时间 T = ( l2 ? l1 + 65536 × N ) × T0 = mTx 其中 T0 为单片机时基信号周期, Tx 为待测脉冲信号周期,故被测信号频率为 fx = k ( l2 ? l1 + 65536 × N ) × mT0 (11) 其中 k 为可编程分频器相应的分频数 4 4 系统的软硬件设计 本系统采用多周期同 步 测 频 原 理 [3] , 以 盘 AT89C52 单片机为核心, 显 利用其片内定时器/计数 示 器 T2 所特有的捕捉功能, 器 XTAL2 利用定时器 T2 的捕捉功 复位电路 RESET VSS 能及外部中断,软硬件结 GND 合完成待测信号与闸门信 图1 系统硬件组成框图 号的同步,以及待测信号 与时基信号的同时刻计数,使用一个定时器/计数器 T2 实现多周期同步测频技术,使得频率 测试仪的软硬件结构简单易于实现。系统硬件组成框图如图 1 所示,主要由放大限幅电路、 波形转换与整形电路、可编程分频器电路、单片机最小应用系统及键盘显示器电路组成。输 入的正弦波、 三角波等各种形式的小信号电压经放大限幅后, 通过波形转换电路转换为方波 信号,再利用 7414 整形为 TTL 电平信号,利用可编程分频器来扩展频率测量范围的上限, 这样将经过了放大、整形、分频后的待测脉冲送入单片机最小应用系统的 (T2 的外部 输入端 T2EX) ,通过键盘显示器电路来实现被测频率参数(频率、周期、脉宽和占空比) 的选择与动态显示。 放 大 被测信号 与 限 幅 波 形 变 换 整 形 可 编 程 待测脉冲 分 频 器 +5V VCC XTAL1 键 软件采用自顶向下的模块化设计方法 [6] ,将 T2中断服务程序流程图 N 各个功能分成独立的模块,由系统的监控程序统 一管理执行。整个系统由初始化模块、键输入模 块(用于测量参数的选择)、信号频率测量模块、 数据处理模块、数据显示模块等组成。上电后, 首先进入系统初始化模块,在初始化子程序中完 成对定时/计数器 T2 的定时器及捕捉方式的设置, 并启动 T2。 频率测量模块由 T2 中断服务程序完成, 当外 部待测脉冲的下降沿到来或定时器 T2 产生对时基 脉冲的计数溢出时,T2 向 CPU 发出中断申请。 CPU 响应中断后, 通过软件判断是 EXF2 还使 TF2 产生的中断,并进行相应处理。T2 中断服务程序 流程图如图 2 所示。 5 结束语 本文讨论了传统频率测量方法的原理及误 差。在此基础上,对多周期同步测频技术的原理 及其误差进行了详细分析。由于多周期同步测频 技术的测量精度与被测信号的频率无关,实现了 整个测量频段内的等精度测量,消除了 M 法中对 T2外部中断? Y T2外中断次数加1 T2溢出中断 次数加1 Y 第1个外部 脉冲下降沿? N 第m+1个外部 脉冲下降沿? 捕捉寄存器 内容送时基 计数单元1 Y 捕捉寄存器内容 送时基计数单元2 存外中断次数 外中断次数清零 存T2溢出次数 溢出次数清零 清TF2中断 标志 清EXF2中断标志 中断返回 图2 T2中断服务程序流程图 5 被测脉冲信号的计数量化误差 ?N x = ±1 , 克服了 M/T 法中高低频两端精度高而中界频率附 近测量误差最大的缺陷。 本文提出了基于 AT89C52 实现多周期同步测频方法, 利用 T2 的捕 捉功能和外部中断产生与待测信号同步的闸门时间,通过 T2 的定时功能实现了时基信号与 待测信号的同步计数,使得系统只用一个定时器/计数器 T2 就实现了多周期同步测频技术, 该系统软硬件结构简单,具有较高的测量精度和较短的系统反应时间。 参考文献: 参考文献: [1] 尹克荣.智能仪表中的频率测量方法[J].长沙电力学院学报,2002, 17(1):74-76 [2] 章军,张平,于刚.多周期同步测频测量精度的提高[J].电测与仪表,2003,40(6):16-18 [3] 王连符.测频系统测量误差分析及其应用[J].中国科技信息,2005,(18A):94-94 [4] 李全利.单片机原理及应用技术[M].北京:高等教育出版社,2001 [5] 李群芳 黄建.单片微型计算机与接口技术[M].北京:电子工业出版社,2002 [6] 孙传友,孙晓斌,汉泽西等,测控系统原理与设计[M].北京:北京航空航天大学出版社,2002 作者简介: 作者简介: 黄晓峰(1969-),男,甘肃省甘谷县人,副教授,硕士,研究方向为检测技术及智能仪器仪表、计算机控制。 E-mail: 电话: 6 基于 MCS_51单片机的直流电机转速测控系统设计摘要: 给出了一种基于89C51单片机以及 PWM 控制思想的高精度、高稳定、多任务直流电机转速测控系 统的硬件组成及关键单元设计方法。实验结果表明该系统能实时、有效地对直流电机转速进行监测与控制, 而且输出转速精度高、稳定性好。 0 引言 目前使用的电机模拟控制电路都比较复杂,测量范围与精度不能兼顾, 且采样时间较长, 难以测得 瞬时转速。本文介绍的电机控制系统利用 PWM 控制原理, 同时结合霍尔传感器来采集电机转速, 并经 单片机检测后在显示器上显示出转速值, 而单片机则根据传感器输出的脉冲信号来分析转速的过程量, 并 超限自动报警。本系统同时设置有按键操作仪表, 可用于调节电机的转速。 1 系统方案的制定 直流电机控制系统主要是以 C8051单片机为核心组成的控制系统, 本系统中的电机转速与电机两端的 电压成比例, 而电机两端的电压与控制波形的占空比成正比, 因此, 由 MCU 内部的可编程计数器阵列 输出 PWM 波, 以调整电机两端电压与控制波形的占空比, 从而实现调速。本系统通过霍尔传感器来实 现对直流电机转速的实时监测。系统的设计任务包括硬件和软件两大部分,其中硬件设计包括方案选定、 电路原理图设计、PCB 绘制、线路调试; 软件设计包括内存空间的分配, 直流电机控制应用程序模块的 设计, 程序调试、软件仿真等。 2 硬件设计 C8051是完全集成的混合信号系统级 MCU 芯片, 具有64个数字 I/O 引脚, 片内含有 VDD 监视器、 看门狗定时器和时钟振荡器, 是真正能独立工作的片上系统, 并能快捷准确地完成信号采集和调节。同 时也方便软件编程、干扰防制、以及前向通道的结构优化。 本单片机控制系统与外部连接可实时接收到外部信号, 以进行对外部设备的控制, 这种闭环系统可 以较准确的实现设计要求, 从而制定出一个合理的方案, 图1所示是电机测控系统框图。 图1 电机测控系统框图。 本系统先由单片机发出控制信号给驱动电机, 同时通过传感器检测电机的转速信号并传送给单片机, 单片机再通过软件将测速信号与给定转速进行比较, 从而决定电机转速, 同时将当前电机转速值送 LED 显示。此外, 也可以通过设置键盘来设定电机转速。系统中的转速检测装置由霍尔传感器组成, 并通过 A/D 转换将转速转换为电压信号, 再以脉冲形式传给单片机。这种设计方法具有频率响应高(响应频率达 20 kHz 以上)、输出幅值不变、抗电磁干扰能力强等特点。其中霍尔传感器输入为脉冲信号, 十分容易与 微处理器相连接, 也便于实现信号的分析处理。单片机的 T0口可对该脉冲信号进行计数。 设计时, 可通过单片机的 ~ 五个接口来完成键盘的输入, 口可完成鸣叫和报警, 接电机, ~接显示器的位选, P0口为显示器段选码, 其硬件连接电路如图2所示。 图2 硬件连接电路图。 本系统的脉冲宽度调制(Pulse Width Modulation)原理是: 脉冲宽度调制波由一列占空比不同的矩形脉 冲构成, 其占空比与信号的瞬时采样值成比例。该系统由一个比较器和一个周期为 Ts 的锯齿波发生器组 成。脉冲信号如果大于锯齿波信号, 比较器输出正常数 A, 否则输出0。图3所示为脉冲宽度调制系统的 调制原理和波形图。 图3 脉宽调制过程。 设样本 τk 为均匀脉冲信号, 它的第 k 个矩形脉冲可以表示为: 其中, x {t} 是离散化信号; Ts 是采样周期,τ0是未调制宽度, m 是调制指数。现假设脉冲幅度为 A, 中心在 t=kTs 处, τk 在相邻脉冲间变化缓慢, 那么, 其 Xp (t) 可表示为: 其中, 为电机角速度,结合式(2) 可见, 脉冲宽度信号可由信 号 x (t)加上一个直流成分以及相位调制波构成。当 τ0<<> 因此, 脉冲宽度调制波可以直接通过低通滤波器进行解调。C8051单片机有2个12位的电压方式 DAC, 每个 DAC 的输出摆幅为0 V~VREF, 对应的输入码范围是0x000~0xFFF。通过交叉开关配置可将 CEX0~CEX4 配置到 P2 端口, 这样, 改变 PWM 的占空比就可以调整电机速度。 LED 显示采用动态扫描方式, 并用单片机 I/O 接口扩展输出, 再由三极管驱动各显示器的位选端并 放大电流。独立式按键采用查询方式, 按键输入均采用低有效, 上拉电阻可用于保证在按键断开使其 I/O 口为高电平。单片机的 I/O ()引脚所扩展的5个按键分别定义为: 设置、启动、移位、开始、+1 功能。硬件电路确定以后, 电机转速控制的主要功能将依赖于软件来实现。 3 软件设计 本系统的软件程序的设计可分为5个步骤: 分别是综合分析并确定算法; 设计程序流程图;合理选择和分配内存单元以及工作寄存器; 编写程 序; 上机调试运行程序。 应用软件的设计可采用模块化结构设计, 其优点是每个模块的程序结构相对简单, 且任务明确, 易 于编写、调试和修改; 其次是程序可读性好, 对程序的修改可局部进行, 而其他部分可以保持不变, 这 样便于功能扩充和版本升级; 另外, 对于使用频繁的子程序, 可以建立子程序库, 以便于多个模块调 用; 最后是便于分工合作, 多个程序员可同时进行程序的编写和调试工作, 故可加快软件研制进度。 本程序采用8051单片机的 C 语言编程来实现。 在系统的程序设计中, 可采用模块化编程实现。 整个软件由主程序模块、转速测量模块、时钟模块、数据通信模块、动态显示模块等组成。各模块均 采用结构化程序设计思想设计, 因而具有较强的通用性; 而采用模块化程序结构则可使软件易于调试、 维护和移植。 系统软件可根据硬件电路的功能与 AT89C51各管脚的连接情况对软件进行设计。以便明确各引脚所要 完成的功能, 从而方便进行程序设计和内存地址的分配, 最终完成程序模块化设计。 本系统为直流电机测控系统。根据系统性能要求, 除复位电路外, 还应该设置一些功能键: 包括启动键、设置键、确定键、移位键、加1键等。由于本系统中的单片机还有闲置的 I/O 口线,而系 统要求所设置的按键数量也不多, 因此, 可以采用独立式按键结构。 根据直流电机控制系统的结构, 该电机转速控制系统为一简单的应用系统, 可以采用顺序的设计方 法。这种设计由主程序和若干个中断服务程序构成, 整个电机转速测控系统可分成六大模块, 每个模块 完成一定的功能。图4所示是根据电路图确定的程序设计模块图。 图4 直流电机控制软件设计模块图。 其中主程序模块主要设置主程序的起始地址、中断服务程序的起始地址、有关内存单元及相关部件的 初始化和一些子程序调用等。其主程序流程图如图5所示。 图5 主程序流程图。 对于定时器 T1 (1s) 子程序的设计,其实在单片机中,定时功能既可以由硬件(定时/计数器) 实现,也 可以通过软件定时程序来实现。软件延时程序要占用 CPU 的时间, 因而会降低 CPU 的利用率。而硬件定 时则通过单片机内的定时器来定时, 而且, 定时器启动以后可与 CPU 并行工作, 故不占用 CPU 的时间, 从而可使 CPU 具有较高的工作效率。 本系统采用硬件定时和软件定时并用的方式, 即用 T1溢出中断功能来实现10 ms 定时, 而通过软件 延时程序实现1 ms 定时。其中 T1定时器中断服务程序的功能主要实现转速值的读入、检测与缓存处理。 对于定时器 T1的计数初值计算, 由于本系统采用的是6 MHz 的时钟频率, 所以, 一个机器周期时 间是2 ?s。这样, 根据 T1定时器产生500 ?s 的定时, 便可以计算出计数初值。 本文设计的转速测控系统的工作方式寄存器 TMOD=00010000B, T1定时器以工作方式2来完成定时。 4 程序调试 程序调试可在伟福仿真软件上进行编制, 该软件支持脱机运行, 纯软件环境可模拟单步、跟踪、全 速、 断点; 源文件仿真、 汇编等, 并可支持多文件混合编程。 仿真调试后的目标程序可以固化到 EPROM, 然后用专门的程序烧写器对89C51单片机进行程序烧写。 5 结束语 本设计采用 C51进行编程, 程序占用存储器单元少, 执行速度快, 并能够准确掌握执行时间, 实 现精细控制。同时由于采用89C51为 CPU,并利用噪声抵抗能力较强的 PWM 控制技术、串行口扩展显示 器接口和 I/O 口扩展键盘, 因而可省去片外 RAM, 而且体积小, 功能全, 小巧灵活,操作方便, 又 可安装在工作现场单独工作。因而具有较大的实用价值和良好的应用前景。
基督城里
其中这些有开题报告1. 用单片机进行温度的控制及LCD显示系统的设计2. 基于MultiSim 8的高频电路仿真技术3. 简易数字电压表的设计4. 虚拟信号发生器设计及远程实现5. 智能物业管理器的设计6. 信号高精度测频方法设计7. 三相电机的保护控制系统的分析与研究8. 温度监控系统设计9. 数字式温度计的设计10. 全自动节水灌溉系统--硬件部分11. 电子时钟的设计12. 全自动电压表的设计13. 脉冲调宽型伺服放大器的设计14. 基于虚拟仪器技术的数字滤波及频率测试15. 基于无线传输技术的室温控制系统设计——温度控制器硬件设计16. 温度箱模拟控制系统17. 基于无线传输技术的室温控制系统设计——温度控制器软件设计18. 基于微控制器的电容器储能放电系统设计19. 基于机器视觉的构件表面缺陷特征提取20. 基于单片机的语音提示测温系统的研究21. 基于单片机的步进电机的控制22. 单片机的数字钟设计23. 基于单片机的数字电压表的设计24. 基于单片机的交流调功器设计25. 基于SPI通信方式的多通道信号采集器设计26. 基于LabVIEW虚拟频谱分析仪的设计27. 功率因数校正器的设计28. 高精度电容电感测量系统设计29. 电表智能管理装置的设计30. 基于Labview的虚拟数字钟设计31. 超声波测距语音提示系统的研究32. 斩控式交流电子调压器设计33. 基于单片机的脉象信号采集系统设计34. 基于单片机的简易智能小车设计35. 基于FPGA的18路智力竞赛电子抢答器设计36. 基于EDA技术的智力竞赛抢答器的设计37. 基于EDA技术的数字电子钟设计38. 基于EDA的计算器的设计39. 基于DDS的频率特性测试仪设计40. 基于CPLD直流电机控制系统的设计41. 单色显示屏的设计42. 扩音电话机的设计43. 基于单片机的低频信号发生器设计44. 35KV变电所及配电线路的设计45. 10kV变电所及低压配电系统的设计46. 6Kv变电所及低压配电系统的设计47. 多功能充电器的硬件开发48. 镍镉电池智能充电器的设计49. 基于MCS-51单片机的变色灯控制系统设计与实现50. 智能住宅的功能设计与实现原理研究51. 用IC卡实现门禁管理系统52. 变电站综合自动化系统研究53. 单片机步进电机转速控制器的设计54. 无刷直流电机数字控制系统的研究与设计55. 液位控制系统研究与设计56. 智能红外遥控暖风机设计57. 基于单片机的多点无线温度监控系统58. 蔬菜公司恒温库微机监控系统59. 数字触发提升机控制系统60. 仓储用多点温湿度测量系统61. 矿井提升机装置的设计62. 中频电源的设计63. 数字PWM直流调速系统的设计64. 基于ARM的嵌入式温度控制系统的设计65. 锅炉控制系统的研究与设计66. 动力电池充电系统设计67. 多电量采集系统的设计与实现68. PWM及单片机在按摩机中的应用69. IC卡预付费煤气表的设计70. 基于单片机的电子音乐门铃的设计71. 新型出租车计价器控制电路的设计72. 单片机太阳能热水器测控仪的设计73. LED点阵显示屏-软件设计74. 双容液位串级控制系统的设计与研究75. 三电平Buck直流变换器主电路的研究76. 基于PROTEUS软件的实验板仿真77. 基于16位单片机的串口数据采集78. 电机学课程CAI课件开发79. 单片机教学实验板——软件设计80. 63A三极交流接触器设计81. 总线式智能PID控制仪82. 自动售报机的设计83. 断路器的设计84. 基于MATLAB的水轮发电机调速系统仿真85. 数控缠绕机树脂含量自控系统的设计86. 软胶囊的单片机温度控制(硬件设计)87. 空调温度控制单元的设计88. 基于人工神经网络对谐波鉴幅89. 基于单片机的鱼用投饵机自动控制系统的设计90. 锅炉汽包水位控制系统91. 基于单片机的玻璃管加热控制系统设计92. 基于AT89C51单片机的号音自动播放器设计93. 基于单片机的普通铣床数控化设计94. 基于AT89C51单片机的电源切换控制器的设计95. 基于51单片机的液晶显示器设计96. 超声波测距仪的设计及其在倒车技术上的应用97. 智能多路数据采集系统设计98. 公交车报站系统的设计99. 基于RS485总线的远程双向数据通信系统的设计100. 宾馆客房环境检测系统101. 智能充电器的设计与制作102. 基于单片机的户式中央空调器温度测控系统设计103. 基于单片机的乳粉包装称重控制系统设计104. 基于单片机的定量物料自动配比系统105. 基于单片机的液位检测106. 基于单片机的水位控制系统设计107. 基于VDMOS调速实验系统主电路模板的设计与开发108. 基于IGBT-IPM的调速实验系统驱动模板的设计与开发109. HEF4752为核心的交流调速系统控制电路模板的设计与开发110. 基于87C196MC交流调速实验系统软件的设计与开发111. 87C196MC单片机最小系统单板电路模板的设计与开发112. 电子密码锁控制电路设计113. 基于单片机的数字式温度计设计114. 列车测速报警系统115. 基于单片机的步进电机控制系统116. 语音控制小汽车控制系统设计117. 智能型客车超载检测系统的设计118. 直流机组电动机设计119. 单片机控制交通灯设计120. 中型电弧炉单片机控制系统设计121. 中频淬火电气控制系统设计122. 新型洗浴器设计123. 新型电磁开水炉设计124. 基于电流型逆变器的中频冶炼电气设计125. 6KW电磁采暖炉电气设计126. 基于CD4017电平显示器127. 多路智力抢答器设计128. 智能型充电器的电源和显示的设计129. 基于单片机的温度测量系统的设计130. 龙门刨床的可逆直流调速系统的设计131. 音频信号分析仪132. 基于单片机的机械通风控制器设计133. 论电气设计中低压交流接触器的使用134. 论人工智能的现状与发展方向135. 浅论配电系统的保护与选择136. 浅论扬州帝一电器的供电系统137. 浅谈光纤光缆和通信电缆138. 浅谈数据通信及其应用前景139. 浅谈塑料光纤传光原理140. 浅析数字信号的载波传输141. 浅析通信原理中的增量控制142. 太阳能热水器水温水位测控仪分析143. 电气设备的漏电保护及接地144. 论“人工智能”中的知识获取技术145. 论PLC应用及使用中应注意的问题146. 论传感器使用中的抗干扰技术147. 论电测技术中的抗干扰问题148. 论高频电路的频谱线性搬移149. 论高频反馈控制电路150. 论工厂导线和电缆截面的选择151. 论工厂供电系统的运行及管理152. 论供电系统的防雷、接地保护及电气安全153. 论交流变频调速系统154. 论人工智能中的知识表示技术155. 论双闭环无静差调速系统156. 论特殊应用类型的传感器157. 论无损探伤的特点158. 论在线检测159. 论专家系统160. 论自动测试系统设计的几个问题161. 浅析时分复用的基本原理162. 试论配电系统设计方案的比较163. 试论特殊条件下交流接触器的选用164. 自动选台立体声调频收音机165. 基于立体声调频收音机的研究166. 基于环绕立体声转接器的设计167. 基于红外线报警系统的研究168. 多种变化彩灯169. 单片机音乐演奏控制器设计170. 单目视觉车道偏离报警系统171. 基于单片机的波形发生器设计172. 智能毫伏表的设计173. 微机型高压电网继电保护系统的设计174. 基于单片机mega16L的煤气报警器的设计175. 串行显示的步进电机单片机控制系统176. 编码发射与接收报警系统设计:看护机177. 编码发射接收报警设计:爱情鸟178. 红外快速检测人体温度装置的设计与研制179. 用单片机控制的多功能门铃180. 电气控制线路的设计原则181. 电气设备的选择与校验182. 浅论10KV供电系统的继电保护的设计方案183. 智能编码电控锁设计184. 自行车里程,速度计的设计185. 等精度频率计的设计186. 基于嵌入式系统的原油含水分析仪的硬件与人机界面设计187. 数字电子钟的设计与制作188. 温度报警器的电路设计与制作189. 数字电子钟的电路设计190. 鸡舍电子智能补光器的设计191. 电子密码锁的电路设计与制作192. 单片机控制电梯系统的设计193. 常用电器维修方法综述194. 控制式智能计热表的设计195. 无线射频识别系统发射接收硬件电路的设计196. 基于单片机PIC16F877的环境监测系统的设计197. 基于ADE7758的电能监测系统的设计198. 基于单片机的水温控制系统199. 基于单片机的鸡雏恒温孵化器的设计200. 自动存包柜的设计201. 空调器微电脑控制系统202. 全自动洗衣机控制器203. 小功率不间断电源(UPS)中变换器的原理与设计204. 智能温度巡检仪的研制205. 保险箱遥控密码锁206. 基于蓝牙技术的心电动态监护系统的研究207. 低成本智能住宅监控系统的设计208. 大型发电厂的继电保护配置209. 直流操作电源监控系统的研究210. 悬挂运动控制系统211. 气体泄漏超声检测系统的设计212. FC-TCR型无功补偿装置控制器的设计213. 150MHz频段窄带调频无线接收机214. 数字显示式电子体温计215. 基于单片机的病床呼叫控制系统216. 基于单片微型计算机的多路室内火灾报警器217. 基于单片微型计算机的语音播出的作息时间控制器218. 交通信号灯控制电路的设计219. 单片机控制的全自动洗衣机毕业设计论文220. 单片机脉搏测量仪221. 红外报警器设计与实现
永远的终结者
1、 用FPGA实现控制基于I2C总线的EEPROM 2、 基于FPGA的简单OEM板GPS接收机设计 3、 基于FPGAD的数字频率计设计 4、 [电气工程]基于FPGA的电网基本电量数字测量系统的设计 5、 [电子信息工程]基于单片机和FPGA的位同步信号提取 6、 基于FPGA的数字通信系统 7、 基于FPGA和锁相环4046实现波形发生器 8、 UC/OSII在FPGA上的移植 9、 基于FPGA的IIR滤波器设计 10、 基于FPGA的TD-SCDMA信道编解码技术研究与实现(硕士) 11、 基于ARM和FPGA的数控系统的硬件设计(硕士) 12、 基于FPGA的JPEG压缩编码的研究与实现(硕士) 13、 OFDM通信系统基带数据处理部分的FPGA实现 14、 FPGA应用实验板设计 15、 UWB-OFDM解调器的仿真及FPGA在线仿真实现 16、 高速VITERBI译码器在ALTERA FPGA中的设计与实现 17、 基于FPGA温、湿度传感器系统设计 18、 基于FPGA的嵌入式系统开发板 19、 卫星信道延时模拟器的FPGA实现 20、 基于Altera FPGA的发动机ECU原型设计 21、 基于FPGA设计电梯控制系统 22、 FPGA在机卡分离式高清数字一体电视机里的应用 23、 PSK调制算法仿真与FPGA实现 24、 基于FPGA的数字复接系统帧同步器的设计
其实我们大多数时候所说的论文查重,只是针对于论文正文的查重,就拿本科毕业生的论文来说,如果院校对于论文的查重要求不是特别高的话,他们是不会查重论文附录的。普通院
其中这些有开题报告 1. 用单片机进行温度的控制及LCD显示系统的设计 2. 基于MultiSim 8的高频电路仿真技术 3. 简易数字电压表的设计 4. 虚拟
双钳法/地桩法双重测量方式: 适合任意接地场所,多点或单点接地,都可正常测试2、抗干扰能力强: 自产生高频电流,从而过滤市电中50Hz、100Hz等谐波干扰电流
我可以给你,不上传,
其中这些有开题报告1. 用单片机进行温度的控制及LCD显示系统的设计2. 基于MultiSim 8的高频电路仿真技术3. 简易数字电压表的设计4. 虚拟信号发生