秒计数器实验报告
一、实验目的
(1)显示60秒计时功能。
(2)计时器为60秒递减计时器
(3)根据原理图分析各单元电路的功能。
(4)熟悉电路中所用到的各集成块的管脚及功能。
(5)进行电路的装接、调试,直到电路能达到规定的设计要求。
二、实验器材
三、实验原理及步骤
秒计时器的总体方案框图如图1所示,它包括秒脉冲发生器、计数器、译码显示电路、控制电路四个模块组成。其中计数器和控制电路是系统的主要模块。计数器完成60秒计时功能,控制电路完成计数器的直接清零、启动计数、译码显示电路的显示功能。
当接通信号源时,控制电路应封锁时钟信号CP,同时计数器完成置数功能,译码显示电路显示“59”字样,计数器开始计数;知道数码管显示“00”为一个周期循环计数。
安装注意事项:安装之前请不要急于动手,应先查阅相关的技术资料以及本说明,然后对照原理图,了解印刷电路板、元件清单,并分清各元件,了解各元件的特点、作用、功能,同时核对元件数量。
正确插入元件:按照从低到高、从小到大的顺利安装,极性要符合规定,对于手工安装,应分批安装。1、CD4518计数的复位端靠二极管和复位电阻复位,改变二极管可以实现其它进制的计数器。复位电阻取较小的阻值有利于提高向前进位并复位的可靠性,但耗电量变大(微安、毫安计算),(在数码管点亮时复位耗电可忽略不计。2、集成电路的型号不要装错,脚序不要装错,集成电路的1脚在有缺口方的左下脚。3、、电容说明:陶瓷电容不分正负极。4、走时数度:本板配备了高精度的石英晶振,想走时精度更高(例如月误差小于10钞)请参考有关书籍增加频率微调电容,使用稳压电源供电,并将电路板放置在温差变化小的地方。
功能特点:
1. 电源打开时,数码管初始状态显示为“00”,系统进行正常运行,计时器开始递增计数,循环00~59的秒计时。
2. 按下清零开关,计数器进行置数,完成复位功能。
3. 按下暂停开关,暂停计时;弹起暂停开关,计数器继续累计计数。工作电压:直流5V。. 电路原理图:
四、实验总结
课 程 设 计
设计题目:C#环境下的ACCESS表格查询
学生姓名: 李伟
学 号: 20095378
专业班级: 电子商务09-1班
指导教师: 惠刚
20## 年 10 月 13 日
数据库查询
一、实验目的
通过点击面板上的特定按钮,弹出提示框显示出access表格中相对应按钮的内容。
二、程序编制流程
1.新建解决方案—windows应用程序—将其命名为sjk2,如图所示:
2.程序中使用了标签、按钮控件,以及按钮的Click事件,在此过程中使用语句解释如下:
private void InitializeComponent()
{
x=new System.Windows.Forms.Button();语句用于初始化按钮
x=new System.Windows.Forms.Label();语句用于初始化标签
x.Location=new System.Drawing.Point(a,b);语句用于定义控件位置
x.Size=new Size (a,b);语句用于定义控件大小
x.Text="a";语句用于定义控件的文本内容
this.Controls.Add(x);语句用于将控件加入到面板当中
x.Click+=new System.EventHandler(x_Click);语句用于按钮Click事件的声明
this.Text = "Access表格查询";语句用于面板栏文本内容
}
private System.Windows.Forms.Button x;语句用于声明button控件
private System.Windows.Forms.Label x;语句用于声明标签控件
private void but1_Click(object sender,EventArgs e)
{}用于Click事件的具体内容,{}内添实现内容代码
3.Click事件具体内容:Access表格的链接、显示,过程如下:
该Access表格中有ID、学号、姓名、性别、年级信息;
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\aa.mdb";
语句用于连接Access表格的字符串
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
语句用于创建OleDbConnection对象
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
语句用于创建OleDbCommand对象
string commandString = "Select ID,学号,姓名,性别,年级 From 1 Where 学号 = 20090001";
myOleDbCommand.CommandText = commandString;
myOleDbConnection.Open();
用Connection对象的open()方法打开Access表格
OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
创建OleDbDataReader对象并执行ExecuteReader()方法
myOleDbDataReader.Read();
读取每行记录
MessageBox.Show("[ID]="+myOleDbDataReader["ID"]+"[学号] = "
+ myOleDbDataReader["学号"]+"[姓名] = "
+ myOleDbDataReader["姓名"]+"[性别]="
+myOleDbDataReader["性别"] +"[年级] = "
+ myOleDbDataReader["年级"]);
将列属性值输出在对话框中
myOleDbDataReader.Close();
关闭myOleDbDataReader对象
myOleDbConnection.Close();
关闭数据库链接
三、实验结果
查询20090001学生信息,点击20090001按钮;
查询20090002学生信息,点击20090002按钮;
四、实验体会
实验中遇到了很多问题,也是请教了很多同学才得到解决,首先就是数据库访问这块儿,编程序是发现与Access2007不兼容。而对于string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\aa.mdb";现在才知道DataSource就是Access表格所在路径。
"Select ID,学号,姓名,性别,年级 From 1 Where 学号 = 20090001";当初编写这行SQL语句时,我会在Where 学号=2009001的20009001上加个' ',也是因为看到书上有这么个程序,但是在编译时就会提示编译程序发生了无法处理的异常,找了半天才知道是这个问题。
在using那里一开始using System.Data.OleDb;也没有添加,出现了问题。
还有个问题现在也没解决,就是编写面板那里,有一次调整按钮位置、大小、文本不论怎么改,倒可以显示,但都是一开始的那个样子,改了没用,只能重新新建了一个应用程序复制进去就好了。
虽然用的是MessageBox.Show()来做的显示,但是还是觉得数据库访问查询并输出还是用一个文本框获取用户输入信息并根据此来查询并用文本框来显示的方式更好,但文本框控件的事件的使用不是很熟悉,就没有使用了,因此感觉编程一定得多编写,涉猎面还要广,常用的一定得熟练,对于我来讲真的要多多练习。
五、程序代码
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Data.OleDb;
namespace sjk2
{
partial class MainForm
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
but1=new System.Windows.Forms.Button();
but2=new System.Windows.Forms.Button();
but3=new System.Windows.Forms.Button();
ts=new System.Windows.Forms.Label();
but1.Location=new System.Drawing.Point(29,58);
but2.Location=new System.Drawing.Point(29,100);
but3.Location=new System.Drawing.Point(29,142);
ts.Location=new Point(27,21);
but1.Size=new Size (75,23);
but2.Size=new Size(75,23);
but3.Size=new Size(75,23);
ts.Size=new Size(170,120);
but1.Text="20090001";
but2.Text="20090002";
but3.Text="20090003";
ts.Text="请选择您要查询的学生学号:";
this.Controls.Add(but1);
this.Controls.Add(but2);
this.Controls.Add(but3);
Controls.Add(ts);
but1.Click+=new System.EventHandler(but1_Click);
but2.Click+=new EventHandler(but2_Click);
but3.Click+=new EventHandler(but3_Click);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "Access表格查询";
this.Name = "MainForm";
}
private System.Windows.Forms.Button but1;
private System.Windows.Forms.Button but2;
private System.Windows.Forms.Button but3;
private System.Windows.Forms.Label ts;
private void but1_Click(object sender,EventArgs e)
{
String connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\aa.mdb";
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
string commandString = "Select ID,学号,姓名,性别,年级 From 1 Where 学号 = 20090001";
myOleDbCommand.CommandText = commandString;
myOleDbConnection.Open();
OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
myOleDbDataReader.Read();
MessageBox.Show("[ID]="+myOleDbDataReader["ID"]+"[学号] = "
+ myOleDbDataReader["学号"]+"[姓名] = "
+ myOleDbDataReader["姓名"]+"[性别]="+myOleDbDataReader["性别"]
+
"[年级] = "
+ myOleDbDataReader["年级"]);
myOleDbDataReader.Close();
myOleDbConnection.Close();
}
private void but2_Click(object sender,EventArgs e)
{
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\aa.mdb";
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
string commandString = "Select ID,学号,姓名,性别,年级 From 1 Where 学号 = 20090002";
myOleDbCommand.CommandText = commandString;
myOleDbConnection.Open();
OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
myOleDbDataReader.Read();
MessageBox.Show("[ID]="+myOleDbDataReader["ID"]+"[学号] = "
+ myOleDbDataReader["学号"]+"[姓名] = "
+ myOleDbDataReader["姓名"]+"[性别]="+myOleDbDataReader["性别"]
+
"[年级] = "
+ myOleDbDataReader["年级"]);
myOleDbDataReader.Close();
myOleDbConnection.Close();
}
private void but3_Click(object sender,EventArgs e)
{
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\aa.mdb";
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
string commandString = "Select ID,学号,姓名,性别,年级 From 1 Where 学号 = 20090003";
myOleDbCommand.CommandText = commandString;
myOleDbConnection.Open();
OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
myOleDbDataReader.Read();
MessageBox.Show("[ID]="+myOleDbDataReader["ID"]+"[学号] = "
+ myOleDbDataReader["学号"]+"[姓名] = "
+ myOleDbDataReader["姓名"]+"[性别]="+myOleDbDataReader["性别"]
+
"[年级] = "
+ myOleDbDataReader["年级"]);
myOleDbDataReader.Close();
myOleDbConnection.Close();
}
}
}
实验4计数器及其应用一实验目的1学习用集成触发器构成计数器的方法2掌握中规模集成计数器的使用及功能测试方法二实验原理计数器是一个用…
实验四计数器的设计实验室实验台号日期专业班级姓名学号一实验目的1通过实验了解二进制加法计数器的工作原理2掌握任意进制计数器的设计方…
试验七计数器李*电子信息科学与技术一、试验目的1.掌握中规模集成计数器74LS160,161的逻辑功能及使用方法。2.掌握74LS…
四川大学电气信息学院电气工程及其自动化网络专升本实验报告实验课程:电工电子综合实践实验名称:计数器班级:05秋电气工程及其自动化姓…
计数器实验报告一实验内容1静态测试芯片74LS90的逻辑功能2动态测试芯片73LS90的芯片功能画出clk与其中一个输出的波形图3…
实验4计数器及其应用一实验目的1学习用集成触发器构成计数器的方法2掌握中规模集成计数器的使用及功能测试方法二实验原理计数器是一个用…
四川大学电气信息学院电气工程及其自动化网络专升本实验报告实验课程:电工电子综合实践实验名称:计数器班级:05秋电气工程及其自动化姓…
试验七计数器李*电子信息科学与技术一、试验目的1.掌握中规模集成计数器74LS160,161的逻辑功能及使用方法。2.掌握74LS…
实验三集成计数器一实验目的1掌握集成计数器构成N进制的计数器的连接方法二预习要求1熟悉芯片各引脚排列2理解构成模长M进制计数器的原…
广东水利电力职业技术学院20xx年4月1日设计一个动态显示十进制计数器一前言本实验将用到七段数码显示译码器译码器是用来驱动各种显示…