资源描述
等级:
湖南工程学院
课 程 设 计
课程名称 EDA技术
课题名称 基于FPGA的具有闰年补偿功能的
数字日历
专 业
班 级
学 号
姓 名
指导教师 郭照南
2014 年 12 月 8 日
D题
(注:完成人员:01班的24号、30号和34号;02班的28号和29号)
湖南工程学院
课 程 设 计 任 务 书
课程名称 EDA技术
课 题 基于FPGA的具有闰年补偿功能的数字日历
专业班级 电子科学与技术
学生姓名 蒋玉
学 号 201201180134
指导老师 郭照南
审 批
任务书下达日期2014年12月8日星期一
设计完成日期 2014年12月19日星期五
设计内容与设计要求
一.设计内容:
用FPGA为核心器件,用VHDL为设计手段设计制作一个具有大小月份自动调节和闰年补偿功能的数字日历,具体设计要求如下:
1、用7个数码管从左到右分别显示年(后两位)、月、日和星期;星期与日之间隔开一位。
2、年计数从00到99循环;月、日的计数显示均从1开始,并具备大小月份自动调节和闰年补偿功能,即日期的计数实现大月31天,小月30天,二月28天或29天(闰年)的自动调整(注意:7、8月均为大月)。
3、对星期的计数显示从1到6再到日(日用8代替);注意星期应和实际日历相吻合。
4、具备日历调整功能和节日提醒功能。
要求采用分层次描述方式,且用图形输入和文本输入混合方式建立描述文件。
二、设计要求:
1、 设计思路清晰,给出整体设计框图;
2、 用VHDL设计各单元电路,完成其功能仿真和编译并生成低层计数器;
3、 在QuartusⅡ中完成顶层设计并编译通过;
4、 在QuartusⅡ中完成设计下载并调试电路;
5、 写出设计报告;
主要设计条件
1、 提供EDA设计环境和EDA软件QuartusⅡ;
2、 提供 EDA实验箱和CPLD下载装置;
说明书格式
1、 课程设计报告书封面;
2、 任务书;
3、 说明书目录;
4、 设计总体思路;
5、 单元电路设计;
6、 总电路设计;
7、 设计调试体会与总结;
8、 附录;
9、 参考文献。
注意:每个人的课程设计报告说明书不得雷同!
课程设计报告说明书要求用16开纸打印!
进 度 安 排
第一周:
星期一 上午 安排任务、讲课。
星期一下午~星期五 查资料、设计
第二周:
星期一~星期二 设计输入和设计仿真〈四楼EDA室〉
星期三 低层编译和设计下载〈四楼EDA室〉
星期四 调试电路、写总结报告;
星期五 答辩
参 考 文 献
《EDA技术实用教程》第四版 潘松主编
《电子技术与EDA技术课程设计指导》 郭照南主编 中南大学出版社
《电子线路设计、实验、测试》 谢自美主编 华中理工出版社
目 录
一、设计总体思路
1.1设计内容……………………………………1
1.2设计要求……………………………………1
1.3设计思路……………………………………1
1.4设计框图……………………………………2
二、单元电路设计及仿真
2.1年计数器……………………………………2
2.2月计数器……………………………………4
2.3日计数器……………………………………6
2.4星期计数器…………………………………8
2.5提醒模块……………………………………9
2.6控制模块……………………………………10
2.7显示模块……………………………………11
三、总电路设计………………………………..13
四、设计调试总结与体会……………………..13
五、附录………………………………………..15
六、参考文献…………………………………..15
附:课程设计评分表
一、设计总体思路
1.1设计内容
用FPGA为核心器件,用VHDL为设计手段设计制作一个具有大小月份自动调节和闰年补偿功能的数字日历,具体设计要求如下:
1、用7个数码管从左到右分别显示年(后两位)、月、日和星期;星期与日之间隔开一位。
2、年计数从00到99循环;月、日的计数显示均从1开始,并具备大小月份自动调节和闰年补偿功能,即日期的计数实现大月31天,小月30天,二月28天或29天(闰年)的自动调整(注意:7、8月均为大月)。
3、对星期的计数显示从1到6再到日(日用8代替);注意星期应和实际日历相吻合。
4、具备日历调整功能和节日提醒功能。
要求采用分层次描述方式,且用图形输入和文本输入混合方式建立描述文件。
1.2设计要求
1、设计思路清晰,给出整体设计框图;
用VHDL设计各单元电路,完成其功能仿真和编译并生成低层计数器;
2、在QuartusⅡ中完成顶层设计并编译通过;
3、在QuartusⅡ中完成设计下载并调试电路;
4、写出设计报告;
1.3设计思路
用FPGA为核心器件,用VHDL为设计手段设计制作一个具有大小月份自动调节和闰年补偿功能的数字日历,日历有年、月、日、星期以及特殊节日提醒的功能,根据要求,用了一个一百进制的计数器来进行年的计数,中间有一个辅助进程,闰年时让进位端输出为一;设计了一个十二进制的计数器进行月的控制,其中用了case语句,来完成该年是不是闰年以及该月是大月或者小月的控制;利用一个七进制计数器来进行星期的计时;现在就完成了我们所需要的几个计数器。设计了一个控制模块来控制是否进入下一年;然后设计了一个特殊节日提醒提醒功能,输出端接了一个LED灯,灯亮时表示提醒;最后设计动态扫描显示部分。
将这些计数器的组合,我们可以完成具有闰年补偿功能的万年历的设计,同时可以通过控制键对年、月、日进行调整。
17
1.4设计框图
控制模块
提醒模块
年计数器
星期计数器
日计数器
月计数器
显示模块
二、 单元电路设计及仿真
2.1年计数器的设计
对于年100进制的加法计数器的设计,有个位、十位的输出,用显示模块来显示,以及一个进位端,来驱动月模块二月的选择,其输入有清零端,使能端和时钟脉冲,当清零端为低电平0时此计数器被清零,而重新开始计数,当使能端为低电平时该计数器不工作处于暂停状态。
其程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY nian IS
PORT
(clk,en : IN STD_LOGIC;cr : IN STD_LOGIC;
co:out STD_LOGIC;
q1: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
y10: OUT STD_LOGIC_VECTOR (3 DOWNTO 0));
END nian;
ARCHITECTURE a OF nian IS
SIGNAL bcd1n : STD_LOGIC_VECTOR (3 DOWNTO 0);
SIGNAL vcd10n : STD_LOGIC_VECTOR (3 DOWNTO 0);
BEGIN
q1<=bcd1n;y10<=vcd10n;
PROCESS (clk,cr)
BEGIN
IF (cr = '0') THEN
bcd1n <= "0000"; vcd10n <= "0000";
ELSIF (clk'EVENT AND clk = '1') THEN
if (en='1') then
IF (bcd1n=9 and vcd10n=9) THEN
bcd1n <= "0000"; vcd10n <= "0000";
ELSIF (bcd1n=9) THEN
bcd1n <= "0000"; vcd10n <= vcd10n + 1; ELSE
bcd1n <= bcd1n + 1; END IF;END IF;end if;
END PROCESS;
process (bcd1n,vcd10n)
begin
if ((bcd1n=0 and vcd10n=0) or(bcd1n=4 and vcd10n=0) or(bcd1n=8 and vcd10n=0) or(bcd1n=2 and vcd10n=1) or(bcd1n=6 and vcd10n=1) or(bcd1n=0 and vcd10n=2) or(bcd1n=4 and vcd10n=2) or(bcd1n=8 and vcd10n=2) or(bcd1n=2 and vcd10n=3) or(bcd1n=6 and vcd10n=3) or(bcd1n=0 and vcd10n=4) or(bcd1n=4 and vcd10n=4) or(bcd1n=8 and vcd10n=4) or(bcd1n=2 and vcd10n=5) or(bcd1n=6 and vcd10n=5) or(bcd1n=0 and vcd10n=6) or(bcd1n=4 and vcd10n=6) or(bcd1n=8 and vcd10n=6) or(bcd1n=2 and vcd10n=7) or(bcd1n=6 and vcd10n=7) or(bcd1n=0 and vcd10n=8) or(bcd1n=4 and vcd10n=8) or(bcd1n=8 and vcd10n=8) or(bcd1n=2 and vcd10n=9) or(bcd1n=6 and vcd10n=9)) then co<='1';else co<='0';
end if;
end process;end a;
其仿真波形如下:
2.2月计数器
对于月十二进制的加法计数器的设计,有个位、十位的输出用显示模块来显示,a,b的输出,来控制日计数器是31或30或28或29天。其输入有清零端,使能端,run控制端和时钟脉冲,当清零端为低电平0时此计数器被清零,当使能端为低电平时该计数器不工作处于暂停状态。run为1并且计数器记为2时,ab就输出11,run为0并且计数器记为2时,ab就输出10,来控制日计数器二月的输出。
其程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY yue IS
PORT(clk,run: IN STD_LOGIC;
cr : IN STD_LOGIC;
en: IN STD_LOGIC;
a,b,co : out STD_LOGIC;
q1:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
y10:OUT STD_LOGIC_VECTOR (3 DOWNTO 0));
END yue;
ARCHITECTURE a OF yue IS
SIGNAL bcd1n: STD_LOGIC_VECTOR (3 DOWNTO 0);
SIGNAL vcd10n: STD_LOGIC_VECTOR (3 DOWNTO 0);
SIGNAL vcd10nbcd1n:std_logic_vector(7 downto 0);
BEGIN
q1<=bcd1n;
y10<=vcd10n;
PROCESS (clk,cr)
BEGIN
IF (cr = '0') THEN
bcd1n <= "0001"; vcd10n <= "0000";
ELSIF (clk'EVENT AND clk = '1') THEN
if (en='1') then
IF (bcd1n=2 and vcd10n=1) THEN
bcd1n <= "0001"; vcd10n <= "0000";
ELSIF (bcd1n=9) THEN
bcd1n <= "0000"; vcd10n <= vcd10n + 1;
ELSE
bcd1n <= bcd1n + 1;
END IF;
END IF;
end if;
IF (bcd1n=2 and vcd10n=1) THEN co<='1';
ELSE co<='0';
END IF;
vcd10nbcd1n<=vcd10n&bcd1n;
case vcd10nbcd1n is
when"00000001"=>a<='0';b<='0';
when"00000010"=>if run='1' then
a<='1';b<='1';else a<='1';b<='0';
end if;
when"00000011"=>a<='0';b<='0';
when"00000100"=>a<='0';b<='1';
when"00000101"=>a<='0';b<='0';
when"00000110"=>a<='0';b<='1';
when"00000111"=>a<='0';b<='0';
when"00001000"=>a<='0';b<='0';
when"00001001"=>a<='0';b<='1';
when"00010000"=>a<='0';b<='0';
when"00010001"=>a<='0';b<='1';
when"00010010"=>a<='0';b<='0';
when others=>null;
END CASE;
END PROCESS;
end a;
仿真波形如下:
2.3日计数器
对于日计数器的设计,有个位、十位的输出用显示模块来显示,有一个进位端,来驱动月计算器,给月计数器时钟脉冲。其输入有清零端,使能端,s1,s2控制端和时钟脉冲,当清零端为低电平0时此计数器被清零,当使能端为低电平时该计数器不工作处于暂停状态。用了一个case语句,s1s2分别输出为00、01、10、11时,日计数器就分别计数31、30、28、29天。
程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY ri IS
PORT(clk,s1,s2:IN STD_LOGIC;
cr : IN STD_LOGIC;
en: IN STD_LOGIC;
co: out STD_LOGIC;
q1: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
y10:OUT STD_LOGIC_VECTOR (3 DOWNTO 0));
END ri;
ARCHITECTURE a OF ri IS
SIGNAL s1s2 : STD_LOGIC_VECTOR (1 DOWNTO 0);
SIGNAL bcd1n : STD_LOGIC_VECTOR (3 DOWNTO 0);
SIGNAL vcd10n : STD_LOGIC_VECTOR (3 DOWNTO 0);
BEGIN
q1<=bcd1n;
y10<=vcd10n;
PROCESS (clk,cr,s1,s2)
BEGIN
IF (cr = '0') THEN
bcd1n <= "0001"; vcd10n <= "0000";
ELSIF (clk'EVENT AND clk = '1') THEN
IF (en='1') then
IF (bcd1n=9) THEN
bcd1n <= "0000"; vcd10n <= vcd10n + 1;
ELSE
bcd1n <= bcd1n + 1;
END IF;
END IF;
s1s2<=s1&s2;
CASE s1s2 IS
WHEN "00"=>IF vcd10n=3 AND bcd1n=1 THEN
bcd1n<="0001"; vcd10n<="0000"; co<='1';
ELSE co<='0';END IF;
WHEN "01"=>IF vcd10n=3 AND bcd1n=0 THEN
bcd1n<="0001"; vcd10n<="0000"; co<='1';
ELSE co<='0';END IF;
WHEN "10"=>IF vcd10n=2 AND bcd1n=8 THEN
bcd1n<="0001"; vcd10n<="0000"; co<='1';
ELSE co<='0';END IF;
WHEN "11"=>IF vcd10n=2 AND bcd1n=9 THEN
bcd1n<="0001"; vcd10n<="0000"; co<='1';
ELSE co<='0';END IF;
END case;
END IF;
END PROCESS;END a;
仿真波形如下:
2.4星期计数器
对于星期七进制计数器的设计,有一个输出端,用显示模块来显示。其输入有清零端,使能端和时钟脉冲,当清零端为高电平1时此计数器被清零,当使能端为低电平时该计数器不工作处于暂停状态。其中设计了当输出为6后让输出为8然后回到1重新计数。
其程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY xingqi IS
PORT (CLK,RST,EN: IN STD_LOGIC;
CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END xingqi;
ARCHITECTURE BEHAV OF xingqi IS
SIGNAL CQI: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(CLK,RST,EN)
BEGIN
IF (RST='1') THEN
CQI<="0001"; ELSIF (CLK'EVENT AND CLK='1' ) THEN
IF (EN='1') THEN
CQI<=CQI+1;IF CQI=6 THEN
CQI<= "1000";ELSIF CQI>7 THEN CQI<="0001";END IF;END IF;END IF;
END PROCESS;
CQ<=CQI;END BEHAV;
仿真波形如下:
2.5提醒模块
设计这个模块是要用来特别节日提醒的,其输入端有一个异步置1端,其它四个输入端,当输入0501时,输出端会为0,此时输出端接一个LED灯,那么灯就会闪一下,表示节日提醒。
其程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity tixing is
port(cr:in std_logic;
ri1,ri2,yue1,yue2:in std_logic_vector(3 downto 0);
co:out std_logic);
end tixing;
architecture a of tixing is
begin
process(cr,ri1,ri2,yue1,yue2)
begin
IF (cr = '0') THEN
co<='1';
end if;
if
((yue2=0 and yue1=1 and ri2=0 and ri1=1)or
(yue2=0 and yue1=5 and ri2=0 and ri1=1)or
(yue2=0 and yue1=6 and ri2=0 and ri1=1)or
(yue2=0 and yue1=8 and ri2=0 and ri1=1)or
(yue2=1 and yue1=0 and ri2=0 and ri1=1))
then co<='0';
end if;
end process;
end a;
仿真波形如下:
2.6控制模块
设计控制这一部分是当月和日计数器分别输出12、31时,输出端输出为1,给年计数器一个时钟脉冲。
其程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity kongzhi is
port(
ri1,ri2,yue1,yue2:in std_logic_vector(3 downto 0);
co:out std_logic);
end kongzhi;
architecture a of kongzhi is
begin
process(ri1,ri2,yue1,yue2)
begin
if(yue2=1 and yue1=2 and ri2=3 and ri1=1)
then co<='1';
else co<='0';
end if;
end process;
end a;
仿真波形如下:
2.7显示模块
用来显示年、月、日、星期的。
程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SCAN_LED IS
PORT(CLK: IN STD_LOGIC;
d0,d1,d2,d3,d4,d5,d6,d7:in STD_LOGIC_VECTOR(3 DOWNTO 0);
SG: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
BT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );
END;
ARCHITECTURE one OF SCAN_LED IS
SIGNAL CNT8 : STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL A : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
P1:PROCESS( CNT8 )
BEGIN
CASE CNT8 IS
WHEN "000" => BT <= "00000001" ; A <= d0 ;
WHEN "001" => BT <= "00000010" ; A <= d1 ;
WHEN "010" => BT <= "00000100" ; A <= d2;
WHEN "011" => BT <= "00001000" ; A <= d3 ;
WHEN "100" => BT <= "00010000" ; A <= d4;
WHEN "101" => BT <= "00100000" ; A <= d5;
WHEN "110" => BT <= "01000000" ; A <= d6;
WHEN "111" => BT <= "10000000" ; A <= d7 ;
WHEN OTHERS => NULL ;
END CASE ;
END PROCESS P1;
P2:PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK = '1'
THEN CNT8 <= CNT8 + 1;
END IF;
END PROCESS P2 ;
P3:PROCESS( A )
BEGIN
CASE A IS
WHEN "0000"=> SG <= "0111111"; WHEN "0001" => SG <= "0000110";
WHEN "0010" => SG <= "1011011"; WHEN "0011" => SG <= "1001111";
WHEN "0100" => SG <= "1100110"; WHEN "0101" => SG <= "1101101";
WHEN "0110" => SG <= "1111101"; WHEN "0111" => SG <= "0000111";
WHEN "1000"=> SG <= "1111111"; WHEN "1001"=> SG <= "1101111";
WHEN "1010"=> SG <= "1110111"; WHEN "1011"=> SG <= "1111100";
WHEN "1100"=> SG <= "0111001"; WHEN "1101"=> SG <= "1011110";
WHEN "1110"=> SG <= "1111001"; WHEN "1111" => SG <= "1110001";
WHEN OTHERS => NULL ;
END CASE ;
END PROCESS P3;
END;
三、总电路设计
日历总体设计图
四、设计调试总结与体会
在拿到课题后,感觉这个容易,就是几个计数器,但是实际不简单,我太想当然了。端正态度,我一步一步出发,先做星期部分,因为这个在EDA机试时做过,所以比较顺手,只是当时没有做到跳到6后跳8这个功能;接着做天数部分,这里有些棘手,不能单独的做几个计数器,突然想到实验课的基于状态机的彩灯控制器设计与调试,利用四种不同状态分别计数大月,小月,二月不同的天数;然后是月份的模块,有了日子的模块基础,这一个模块就好做多了,这个模块不是一个简单的十二进制计数器,它需要有控制天数的输出端,所以用了case语句来实现;最后做了年模块设计,刚开始我只是简单的做了一个100进制的计数器,后来做总体连线时想到闰年的补偿,所以在100进制基础上,我加了一个辅助进程,来实现闰年的补偿。而提醒部分,就只写了几个简单的语句,来提醒几个比较普遍的节日。显示部分是因为实验课做过动态扫描显示,直接运用的。
开始一个一个模块仿真,连接,天数的进位端控制月的时钟信号,月的控制年的,可是一调试,那么问题就来了,月记到12后年马上进一位,不会等到月、日记到12月31日,年再进一位,所以我开始想到用一个与门将月和日的进位端连起来送给年的脉冲信号,于是又开始调试,年部分就会在月跳到12月时进一位,月和日跳到12月31日时又进一位,所以我就设计了一个控制模块,让月和日跳到12月31日时年在进一位,最后调试成功。
两周的实践很快就结束,在这两周的时间里无论是对quartus软件的熟悉程度,还是对数字电路的基本原理的理解,以及对VHDL语言的应用及编写都有了很大的提高!两个星期的艰苦奋斗,我终于完成了设计!这次EDA课程设计让我更深刻的了解了现代数字电路系统设计相对于传统电子系统设计的模式的优势,采用模块法自顶向下设计的原则,一边设计一边调试,使系统的开发速度更快。设计的过程,实际上也就是一个发现问题、分析问题、解决问题的过程。两个星期的设计过程中,我发现的问题层出不穷,但最终通过各方面的努力,最终还是圆满解决了!这次课程设计中之所以我能顺利的完成,除了是因为我自己的努力之外,老师的指导和帮助是少不了的,所以在此感谢郭老师对我的指导,让我在这两周的课程设计中学到了许多的东西。
五、附录
元器件
个数
元器件
个数
EPIC3T144C8
1块
PC机
1台
手动脉冲
10个
外部脉冲器
3个
数码管
7个
导线
若干
六、参考文献
《EDA技术实用教程》第四版 潘松主编
《电子技术与EDA技术课程设计指导》 郭照南主编 中南大学出版社
《电子线路设计、实验、测试》 谢自美主编 华中理工出版社。
电气信息学院课程设计评分表
项 目
评 价
优
良
中
及格
差
设计方案合理性与创造性(10%)
开发板焊接及其调试完成情况*(10%)
硬件设计或软件编程完成情况(20%)
硬件测试或软件调试结果*(10%)
设计说明书质量(20%)
答辩情况(10%)
完成任务情况(10%)
独立工作能力(10%)
出勤情况(10%)
综 合 评 分
指导教师签名:________________
日 期:________________
注:①表中标*号项目是硬件制作或软件编程类课题必填内容;
②此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
1. 基于C8051F单片机直流电动机反馈控制系统的设计与研究
2. 基于单片机的嵌入式Web服务器的研究
3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究
4. 基于模糊控制的电阻钎焊单片机温度控制系统的研制
5. 基于MCS-51系列单片机的通用控制模块的研究
6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器
7. 单片机控制的二级倒立摆系统的研究
8. 基于增强型51系列单片机的TCP/IP协议栈的实现
9. 基于单片机的蓄电池自动监测系统
10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究
11. 基于单片机的作物营养诊断专家系统的研究
12. 基于单片机的交流伺服电机运动控制系统研究与开发
13. 基于单片机的泵管内壁硬度测试仪的研制
14. 基于单片机的自动找平控制系统研究
15. 基于C8051F040单片机的嵌入式系统开发
16. 基于单片机的液压动力系统状态监测仪开发
17. 模糊Smith智能控制方法的研究及其单片机实现
18. 一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制
19. 基于双单片机冲床数控系统的研究
20. 基于CYGNAL单片机的在线间歇式浊度仪的研制
21. 基于单片机的喷油泵试验台控制器的研制
22. 基于单片机的软起动器的研究和设计
23. 基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究
24. 基于单片机的机电产品控制系统开发
25. 基于PIC单片机的智能手机充电器
26. 基于单片机的实时内核设计及其应用研究
27. 基于单片机的远程抄表系统的设计与研究
28. 基于单片机的烟气二氧化硫浓度检测仪的研制
29. 基于微型光谱仪的单片机系统
30. 单片机系统软件构件开发的技术研究
31. 基于单片机的液体点滴速度自动检测仪的研制
32. 基于单片机系统的多功能温度测量仪的研制
33. 基于PIC单片机的电能采集终端的设计和应用
34. 基于单片机的光纤光栅解调仪的研制
35. 气压式线性摩擦焊机单片机控制系统的研制
36. 基于单片机的数字磁通门传感器
37. 基于单片机的旋转变压器-数字转换器的研究
38. 基于单片机的光纤Bragg光栅解调系统的研究
39. 单片机控制的便携式多功能乳腺治疗仪的研制
40. 基于C8051F020单片机的多生理信号检测仪
41. 基于单片机的电机运动控制系统设计
42. Pico专用单片机核的可测性设计研究
43. 基于MCS-51单片机的热量计
44. 基于双单片机的智能遥测微型气象站
45. MCS-51单片机构建机器人的实践研究
46. 基于单片机的轮轨力检测
47. 基于单片机的GPS定位仪的研究与实现
48. 基于单片机的电液伺服控制系统
49. 用于单片机系统的MMC卡文件系统研制
50. 基于单片机的时控和计数系统性能优化的研究
51. 基于单片机和CPLD的粗光栅位移测量系统研究
52. 单片机控制的后备式方波UPS
53. 提升高职学生单片机应用能力的探究
54. 基于单片机控制的自动低频减载装置研究
55. 基于单片机控制的水下焊接电源的研究
56. 基于单片机的多通道数据采集系统
57. 基于uPSD3234单片机的氚表面污染测量仪的研制
58. 基于单片机的红外测油仪的研究
59. 96系列单片机仿真器研究与设计
60. 基于单片机的单晶金刚石刀具刃磨设备的数控改造
61. 基于单片机的温度智能控制系统的设计与实现
62. 基于MSP430单片机的电梯门机控制器的研制
63. 基于单片机的气体测漏仪的研究
64. 基于三菱M16C/6N系列单片机的CAN/USB协议转换器
65. 基于单片机和DSP的变压器油色谱在线监测技术研究
66. 基于单片机的膛壁温度报警系统设计
67. 基于AVR单片机的低压无功补偿控制器的设计
68. 基于单片机船舶电力推进电机监测系统
69. 基于单片机网络的振动信号的采集系统
70. 基于单片机的大容量数据存储技术的应用研究
71. 基于单片机的叠图机研究与教学方法实践
72. 基于单片机嵌入式Web服务器技术的研究及实现
73. 基于AT89S52单片机的通用数据采集系统
74. 基于单片机的多道脉冲幅度分析仪研究
75. 机器人旋转电弧传感角焊缝跟踪单片机控制系统
76. 基于单片机的控制系统在PLC虚拟教学实验中的应用研究
77. 基于单片机系统的网络通信研究与应用
78. 基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究
79. 基于单片机的模糊控制器在工业电
展开阅读全文