ch07 第七章 输入埠实习

合集下载

打字员实习报告范文

打字员实习报告范文

一、实习单位及部门实习单位:XX公司实习部门:行政部二、实习时间2021年7月1日至2021年8月31日三、实习目的通过本次实习,我希望能将所学理论知识与实际工作相结合,提高自己的专业技能,增强自己的沟通协调能力和团队协作能力,为今后的工作打下坚实的基础。

四、实习内容1. 文字处理(1)负责公司内部文件的起草、修改、排版和打印;(2)协助领导完成会议纪要、工作报告等文件的撰写;(3)对各部门提交的文件进行审核,确保文件格式规范、内容准确。

2. 数据录入(1)负责公司内部各类数据的录入、整理和统计;(2)协助部门负责人完成各类报表的编制;(3)对录入的数据进行核对,确保数据的准确性。

3. 档案管理(1)负责公司内部档案的收集、整理和归档;(2)协助部门负责人进行档案的查询、借阅和归还;(3)定期对档案进行清理和整理,确保档案的完整性和安全性。

4. 办公室日常事务(1)负责公司内部文件的分发、收发和传阅;(2)协助部门负责人完成办公室的日常管理工作;(3)处理办公室的日常事务,如接待客人、订购办公用品等。

五、实习收获1. 专业技能的提升通过实习,我熟练掌握了办公软件的使用,如Word、Excel、PowerPoint等,提高了自己的文字处理能力、数据录入能力和档案管理能力。

2. 沟通协调能力的增强在实习过程中,我积极与同事沟通交流,了解各部门的需求,为部门提供优质的服务。

同时,在处理办公室日常事务时,我学会了如何与不同性格的同事相处,提高了自己的沟通协调能力。

3. 团队协作能力的提升在实习过程中,我深刻体会到团队协作的重要性。

通过与同事的共同努力,圆满完成了各项工作任务,使我在团队协作方面得到了锻炼和提高。

4. 工作态度的端正在实习期间,我始终保持认真负责的工作态度,对待每一项工作都全力以赴,力求做到最好。

通过实习,我更加明白了工作态度的重要性,为今后的工作打下了良好的基础。

六、实习体会1. 实习让我更加了解企业的工作环境,认识到理论知识与实际工作相结合的重要性。

世格软件国际贸易实习的题目和答案

世格软件国际贸易实习的题目和答案

Yours sincerely, Carters Trading Company, LLC Joe Brown
4. 吉辰服装进出口公司是一家快速发展的私营外贸公司,成立于 1997 年,主要经营各类服 装,特别是出口的牛仔裤,因时尚的外观设计和优秀的品质深受广大海外客户的欢迎,产品 远销到欧洲、中东和北美地区。2005 年 10 月 6 日,公司因国外客户需要,在国内寻找合适 的牛仔裤生产厂商。 请你以出口部业务员李兵的身份, 给在网上找到的鹏飞制衣厂的王勇厂 长写一封就男式靴式牛仔裤询盘的信函。 答案: 您好!我们是一家成立于 1997 年的外贸公司——吉辰服装进出口公司,主要经营各类服 装,产品远销到欧洲、中东和北美地区。我们在网上找到了贵厂的资料,得知贵厂专门生
敬启者: 从网上得知贵公司的名称和地址,并了解到你公司主要经营罐头食品的进出口。今特致函与你,希 望能与你公司建立起长期的业务关系。 我公司是一家大型外贸公司,从事进出口业务已有近 20 年,信誉良好。我们对贵公司的产品很有兴 趣,若能提供贵公司的有关产品的目录和价目单,将不胜感激。 如果价格合理且交货期可接受,相信能成交大笔交易。 谨上
谢谢! 7. 假设你是世格国际贸易公司(DESUN TRADING CO.,LTD.)的业务员 Minghua Zhao,加拿 大 NEO 公司(NEO GENERAL TRADING CO.)给你公司发来邮件,向你还盘。请根据该邮件 再对其进行还盘,写信时间为 2005 年 10 月 18 日。信中要点为在对方还盘的基础上重新报 CIFC5 价: Article No. DR2010 USD19.50 CIFC5 Toronto per set Article No. DR2202 USD24.30 CIFC5 Toronto per set Article No. DR2211 USD30.60 CIFC5 Toronto per set Article No. DR2401 USD24.00 CIFC5 Toronto per set 此次发盘的有效期为七天。 答案: Dear Mr. Andy Burns, We are glade to receive your letter of Oct 17 but sorry to learn that your customers find our quotation too high. Much to our regret, we find it impossible to comply with your request. Your offer is too low and cannot serve as a basis for further negotiation with our manufacturers. The prices we quoted are most favorable if you take the quality into consideration.

c#实习7报告

c#实习7报告

实验七:流程控制实验目的:1.掌握C#顺序结构2.掌握C#选择结构if 语句和switch 语句的使用3.掌握C#循环结构的使用实验内容:1. 输入整数n (n>=0),分别利用for 循环、while 循环、do...while 循环求n !。

2.利用级数和求П。

使用格里高利公式求П的近似值,直到最后一项的绝对值不小于10-6为止。

...-9171-5131-14++≈∏ 3.利用嵌套循环打印如下图所示的呈下三角和呈上三角的九九乘法表。

4.素数的判断。

利用for 循环显示1~100间所有的素数。

要求每行显示10项。

效果如图所示:}}}第2题:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace P1_2{class Program{static void Main(string[] args){int c=1;double b, m = 0,a;for (a = 1, b = 1; (Math.Abs(b)) >= (Math.Pow(10, -6)); ) {m = m + b;a += 2;c=-c;b =c / a;}Console.WriteLine("П的近似值为:{0}", 4* m);}}}第3题:(1)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace P1_3{class Program{static void Main(string[] args){Console.WriteLine("\t\t\t九九乘法表");int i, m;for (i = 1; i <= 9; i++){for (m = 1; m <= i; m++){Console.Write("{0}*{1}={2}\t", i, m, i * m); }Console.WriteLine();}}}}(2)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace P1_3{class Program{static void Main(string[] args){Console.WriteLine("\t\t\t\t九九乘法表");int i, m,k;for (i = 1; i <= 9; i++){for (k = 1; k <= i; k++){Console.Write("\t");}for (m = i; m <= 9; m++){Console.Write("{0}*{1}={2}\t", i, m, i * m); }}}}}第4题:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace P1_4{class Program{static void Main(string[] args){Console.WriteLine("1~100之间所有素数为:");Console.Write("2\t");int i,m;for (i = 1; i <= 100; i += 2){for (m = 2; m <= i; m++){if (i % m == 0)break;}if (m==i)Console.Write("{0}\t", i);}}}}评语:。

python从入门到实践第七章课后题

python从入门到实践第七章课后题

python从⼊门到实践第七章课后题'''7-1'''car = "请问你需要租约什么品牌的汽车"cat=''while cat != 'quit':cat = input(car)print("我去查询下,是否还有" + cat + "的汽车。

")'''7-2'''number = "请问你⼏位⽤餐"while number:ressen=int(input(number))if ressen > 8 :print("没有空座")else:print("有空座")'''7-4'''pizz = "请输⼊要想添加的配料"pizz += "\n请输⼊quit退出"while True:info = input(pizz)if info == 'quit':breakelse:print("我们将在您的披萨中添加" + info)'''7-5'''mes = "请输⼊你的年纪"while mes :info = int(input(mes))if info < 3 :print("免费")elif info >3 and info <=12 :print("5元")else:print("10元")""""""'''7-8'''sandwich_orders = ['s1','s2','s3']finished_sandwiche = []while sandwich_orders:#判断条件为真for i in sandwich_orders:print("I made your tuna sandwich : " + i)sandwich_orders.pop()finished_sandwiche.append(i)print(finished_sandwiche)'''7-9'''sandwich_orders = ['s1','pastrami','s2','pastrami','s3','pastrami']print("五⾹⽜⾁卖完了")while 'pastrami' in sandwich_orders:#判断⼀个条件如果在列表中sandwich_orders.remove('pastrami')#⽤.remove⾃定元素名称来删除print(sandwich_orders)"""'''7-10'''local = {}#定义⼀个空的字典names = "请输⼊你的姓名"mesinfo = "如果让你去度假你希望去哪⾥"Active = True #定义⼀个标志为真while Active == True :#给while 条件name = input(names)city = input(mesinfo)local[name] = city#⽤字典的⽅法把获取到⽤户的值写进字典中cn=input("是否在接受调查 Y/N")if cn.lower() == 'n':Active = False#标志设置为假#print(local)print("调查的结果为:")for a , b in local.items():#⽤for 循环遍历字典print(a+"希望去"+b)。

c#实习报告(精选6篇)

c#实习报告(精选6篇)

c#实习报告(精选6篇)c# 篇13月4日3月29日我们在李涛老师的指导下我们进行了为期四周的PLC综合实习。

本次实习在电子实训中心五楼PLC实验室进行。

四周繁忙的实践学习让我们第一次接触到了PLC综合控制系统。

通过对该装置的认识、原理的了解、接线以及设计方案和具体调试使我们受益匪浅。

2 与要求2.1 实习目的;1、学习掌握编程软件的使用方法和基本操作;2、熟悉基本指令与应用指令以及实习设备的使用方法;3、学会三菱可编程控制器装置的使用方法;4、PC机和PLC的通信技术;5、理论联系实际提高学生分析问题和解决问题的能力;6、通过大学生毕业实习活动,发现问题、解决问题、发现自己的专业特长爱好,为选定毕业设计题目奠定基础。

2.2 实习要求;1、校内实习期间,严格遵守学校,服从专业老师的安排,做好笔记,注重理论与实践相结合,善于发现问题;2、校外实习期间遵守公司各项规章制度,有严格的时间观念,不迟到不早退,虚心向有经验的同事请教,积极主动完成单位分配的任务,与单位同事和谐相处;3、每天都认真总结实习工作所遇到的问题和收获体会。

3 实习单位及岗位介绍3.1实习单位:河南理工大学电工电子实验中心PLC实验室3.2实习单位介绍:PLC实验室始建于20xx年,20xx年进行改扩建,实验室旨在培养学生的独立思考、独立操作和独立分析问题的能力,本实验室拥有可编程序控制器实验装置和计算机等设备70余台(件实验设备)实验设备,设备价值约30万元,实验室面积:300㎡;使用情况:每年约接纳1000余名本科生进行实验。

PLC实验台PLC--Ⅲ可编程控制器教学实验装置,是根据“PLC课程”教学的需要,结合PLC在工厂中的应用,与教学大纲要求相配套的教学实验设备。

具功能完善、结构合理、操作方便、造型美观等特点。

既有发光管、LED显示实验,又有电机驱动的动作实验。

既能巩固教学效果,又能提高学生动手操作、产品开发的能力。

3.3 实验室功能:1、使学生能够掌握可编程控制技术和现代工业控制技术;2、实验室承担《可编程控制技术》、《现代电器控制技术》等课程的实验教学、课程设计、毕业设计等教学任务;3、作为开放性实验室,除承担开放实验外,还承担综合实习、设计竞赛等综合性实践教学任务。

C语言实习报告(小超市管理系统和打字母小游戏)

C语言实习报告(小超市管理系统和打字母小游戏)

实习报告书专业计算机科学与技术系别信息工程系报告题目计算机科学与技术认识实习(C语言)报告人班级指导教师带队教师实习时间实习单位教务处监制目录1 实习目的 (3)2 实习要求 (3)3 实习内容 (3)4 《小超市管理系统》的设计与实现 (4)4.1 设计题目简介 (4)4.2 需求分析 (4)4.3系统模块图 (4)4.4数据结构 (5)4.5数据文件 (5)4.6 系统流程图 (6)4.7 系统的实现 (6)5 《打字母小游戏》的设计与实现 (17)5.1 设计题目简介 (17)5.2 需求分析 (17)5.3系统模块图 (18)5.4数据文件 (18)5.5 系统流程图 (19)5.6 打字母小游戏的实现 (19)6 实习小结 (23)参考文献 (24)1 实习目的首先,通过实习,学会为实际应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,从而能对C语言程序设计这门课能有一个更深刻的理解和认识;再者,实习相对于平时实验课来说,要完成的是一个难度较大的可执行综合性程序,培养处理复杂问题的能力,从而极大的提高编程能力以及撰写文档的能力;并且本实习内容是当前社会最热门且尚处于研究阶段的课题之一,希望能通过实习,实际做到理论和实践紧密结合,同时也为后续课程和毕业设计打下坚实的基础知识。

2 实习要求实习要求每个人从实习项目集合中至少选择2个实习项目并参照相关实习资料独立操作,能正确分析现实生活中的问题,并抽象成数学模型,进行模块分析和编程,认真完成软件设计的全部过程,并完成实习报告。

首先根据所选项目进行需求分析和算法分析,根据项目实现的功能进行数据分析,设计相应的数据结构,同时为贯彻“程序设计=算法+数据结构”的思想,要求学生完成流程图的设计,然后根据流程图写出课程实习代码并上机调试,设计的功能应相对完善,每个学生须独立完成程序构思、基本结构设计、变量设计、函数设计、文件操作等任务。

在设计中要综合运用所学内容,顺利调试通过并运行所编写的程序,最后完成课程实习报告,报告书应图文结合,须包含用户需求分析、系统模块图、流程图、数据结构设计、界面设计、功能模块实现与测试、设计的算法及主要程序代码等内容,并结合自己的实习情况写出实习总结。

实习报告打字员

实习报告实习岗位:打字员实习时间:2021年7月1日-2021年8月31日实习单位:XX科技有限公司一、实习背景及目的作为一名即将毕业的大学生,为了更好地提升自己的实践能力和适应社会的能力,我选择了在一家科技有限公司担任打字员的实习岗位。

这次实习的主要目的是通过实际工作锻炼自己的耐心、细心和责任心,同时提高自己的文字处理能力和工作效率。

二、实习内容及收获1. 实习内容在实习期间,我主要负责的工作是打印、复印、扫描文件,以及整理和归档文件。

此外,还需要协助同事们处理一些日常事务,如接听电话、接待来访客人等。

2. 实习收获(1)熟练掌握办公软件和打印设备通过实习,我熟练掌握了办公软件(如Word、Excel等)的使用方法,能够快速准确地处理各种文件。

同时,也熟悉了打印机、复印机等办公设备的使用和维护方法。

(2)提高自己的细心和耐心作为打字员,需要具备很高的细心和耐心。

在实习过程中,我学会了如何仔细核对文件内容,确保打印出来的文件准确无误。

同时,在处理大量文件时,我也培养了耐心,能够按时完成工作任务。

(3)学会与人沟通和协作在实习期间,我需要与同事们进行沟通和协作,这让我学会了如何与人相处,提高自己的沟通能力。

同时,我也明白了团队协作的重要性,认识到只有团结协作,才能更好地完成工作任务。

三、实习中遇到的问题及解决办法1. 问题:在打印文件时,有时会遇到打印机卡纸、 toner 不足等问题,导致工作进度延误。

解决办法:遇到这种情况,我会立即查找原因,并与同事请教解决方法。

同时,提前做好准备工作,确保打印机和 toner 等耗材充足,避免影响工作进度。

2. 问题:在整理和归档文件时,有时会遇到文件分类不明确、标签脱落等问题。

解决办法:为了解决这个问题,我会在整理文件时,认真核对文件内容,确保分类准确。

同时,使用胶带等工具,将标签重新粘贴在文件上,便于日后查找。

四、实习总结通过为期两个月的实习,我深刻体会到了打字员工作的重要性和必要性。

ch07


再看“登录” 再看“登录” —— 改进后的方法
public class UserDAO { public boolean isExist(Users person){ … try { conn = DBGet.getConnection(); String sql = “select * from users where username=? and password=?” psmt = con.prepareStatement(sql); psmt.setString(1, person.getUsername()); psmt.setString(2, person.getPassword()); rs = psmt.executeQuery(); if(rs.next()) { return true; } } catch (SQLException ex) { ex.printStackTrace(); } finally {……} return false; } } String username,String password
再看“注册” 再看 注册” —— 改进后的方法 注册
String username,String password, public class UserDAO { public boolean register(Users person){ int age, String country, String zipCode, String[] hobby … try { con = DBGet.getConnction(); String sql = “insert into users values(?,?,?,?,?,?,?)” psmt = con.prepareStatement(sql); psmt.setString(1, person.getUsername()); psmt.setString(2, person.getPassword()); //设置每一个占位符的数据 设置每一个占位符的数据 int num = psmt.executeUpdate(); if(num > 0) { return true; } } catch (SQLException ex) { ex.printStackTrace(); } finally {……} return false; } }

C语言程序设计 (何钦铭 颜晖 著) 高等教育出版社第七章 课后答案

/*找第max列中最小值所在行下标min*/
min=0;
for(j=0;j<n;j++)
if(a[j][max]<a[min][max])min=j;
if(min==i){flag=1;break;}
}
/*根据flag值输出结果*/
if(flag==1)printf("鞍点是a[%d][%d]=%d\n",min,max,a[min][max]);
{
int i,j,n,a[6][6],max,min,flag;
printf("Enter n :"); /*输入一个正整数n */
scanf("%d",&n);
printf("Enter %d integers :\n",n); /*输入一个n阶方阵,存储在数组a中*/
for(i=0;i<n;i++)
{
int i,j,n,a[6][6],flag;
printf("Enter n :"); /*输入一个正整数n */
scanf("%d",&n);
printf("Enter %d integers :\n",n); /*输入一个n阶方阵,存储在数组a中*/
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(a[i]>a[index1])index1=i;
if(a[i]<a[index2])index2=i;
}
/*交换位置:最大值与最后一个数交换,最小值与第一个数交换*/

ch07


提问:
CPU和输入/输出设备之间传送的信息有哪几类? 一般的IO接口电路安排有哪三类寄存器?它们各自的作 用是什么? 在8086/8088系统中,用哪种方法对I/O端口进行编址?
7.2 输入输出的控制方式
7.2
输入输出的控制方式
程序传送方式 中断传送方式 (直接存储器存取)DMA方式
7.2.1 程序传送方式
7.3 DMA控制器
2、 8237的传送方式
(1)单字节传送方式 (2)数据块传送方式 (3)请求传送方式 (4)级连方式
7.3 DMA控制器 3、 8237的结构 寄存器组 现行地址寄存器 现行字节数寄存器 基地址和基字节数寄存器 命令寄存器 模式寄存器 请求寄存器 屏蔽寄存器 临时寄存器 状态寄存器
第7章 输入输出
7.1 输入输出概述 7.1.1 I/O接口的作用 7.1.2 CPU和I/O设备间的接口信息 7.1.3 I/O接口的基本结构 7.1.4 I/O端口编址方式 7.2 输入输出的控制方式 7.2.1 程序传送方式 7.2.2 中断传送方式 7.2.3 直接存储器存取方式 7.3 DMA控制器
本章学习目的
学习目的
通过对本章的学习,能够达到下列要求: 描述接口与CPU和外设的信号 说明接口中主要的端口的作用 输入输出端口的寻址方式 输入输出的控制方式 DMA控制器8237的应用
本章重点内容
重点内容
I/O接口电路的典型结构 无条件传送方式 查询传送方式 中断工作过程 8237应用
7.1.1 I/O接口的作用
这种编址方式中,建立了两个地址空间,一个为存 储单元地址空间,一个为I/O端口地址空间。
00000H
存储 器地 址 FFFFFH 0000H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章 输入埠实习
7.1 指拨开关控制LED实习 7.2 按键开关控制LED实习(一) 7.3 按键开关控制LED实习(二) 7.4 矩阵键盘控制LED实习 7.5 矩阵键盘控制4位七段显示器实习
1
7.1 指拨开关控制LED实习
指拨开关控制LED实习
相關知識
如圖 7-1 所示為常用開關如單切開關、按鍵開關、指撥開關、矩陣鍵盤等, 其中指撥開關是將 2 個、4 個或 8 個單切開關包裝成一組使用,而矩陣鍵盤則 是將 12 個或 16 個按鍵開關包裝成一組使用。按鍵開關會有機械彈跳的問題存 在,容易造成誤動作,常用軟體來消除機械彈跳。單切開關沒有機械彈跳的問 題,使用上較按鍵開關容易,有兩種連接方式如圖 7-2 所示。
12
/* 8051 接腳定義 */ /* 按鍵按下後狀態為 1 的次數 */ /* 按鍵按下後狀態為 0 的次數 */ /* 未除彈跳鍵值 */ /* 已除彈跳鍵值 */
/* 按鍵掃描函數 */ /* LED 全暗 */
/* 掃描按鍵 */ /* 按下任何鍵? */ /* 相對 LED 狀態反相 */ /* 清除按鍵值 */
6
/* 8051 接腳定義 */
/* 閃爍速度 */ /* 指撥開關狀態 */ /* 閃爍控制位元 */
/* 設定 P2 為輸入埠 */ /* 閃爍速度視 CPU 速度而異 */ /* 讀取 8 位元指撥開關狀態 */ /* mask=0 時,相對 LED 亮 */
/* mask=1 時,LED 全暗 */ /* 反相 mask */
1 2 3 4 5 6 7 8 L0 L1 L
10uF
220Ω
30P
19
X1
12MHz
10kΩ
30P
18 20
X2 VSS
21 22 23 24 25 26 27 28
10kΩ
9 10 11 12 12 13 13 14 15 16
圖 7-3 指撥開關控制 LED 實習電路
清除one=0
與上次 鍵值相同? 是 zero加1

否 mask =1? 否 是 清除mask=0
存鍵值至 KeyTemp (未消除彈跳 )
zero=5? 是 存鍵值至KeyData (已消除彈跳 )
設定zero=1
否 Key=1? 是 LED右移 (i加1) 否 Key=2? 是 否 i=7? 否 是 重設i=0 i=0? 是 清除鍵值 重設i=7 LED左移 (i減1) one=5? 是 清除zero=0 否 one加1
9
7.2 按键开关控制LED实习(一)
流程圖
開始
按鍵掃描函數 K eyS can() 設定P2為輸入模式 並讀取按鍵狀態
按鍵掃描 KeyScan()
否 否 已有按鍵輸入 ? 是 是 切換相對LED 的ON/OFF狀態 與上次 鍵值相同? 清除鍵值 是 zero加1 存鍵值至 KeyTemp (未消除彈跳) 否 清除one=0 已有按鍵輸入 ?
11
7.2 按键开关控制LED实习(一)
程式:ch7-2.c
#include "reg51.h" char one=0; char zero=0; unsigned char KeyTemp=0xff; unsigned char KeyData=0xff; main() { void KeyScan(void); P1=0xff; while(1) { KeyScan(); if(KeyData!=0xff) { P1^=KeyData; KeyData=0xff; } } /* while */ } /* main */
不穩定狀態
不穩定狀態
不穩定狀態
(a) 負脈波型彈跳 圖 7-5 機械彈跳
(b) 正脈波型彈跳
功能說明
如圖 7-6 所示,使用 8 位元按鍵開關 S7~S0 控制 8 位元 LED L7~L0,按鍵開關 可以切換 LED 的 ON/OFF。例如按一次 S0 鍵則 L0 亮,再按一次 S0 鍵則 L0 不亮,再按一次 S0 鍵則 L0 亮,…,如此不斷重覆。
15
7.3 按键开关控制LED实习(二)
按键开关控制LED实习(二
功能说明
如图 7-7 所示,使用 2 位按键开关 下 S0 键时, LED 连续单灯 右移。单击
S1~S0 控制 8 位 LED L7~L0 ,按一 S1 键时, LED 连续单灯 左移。
电路图
+5V
40
MCS-51
VCC EA/VP RST X1 X2 VSS
7.2 按键开关控制LED实习(一)
程式:ch7-2.c
void KeyScan(void) { unsigned char KeyStatus; P2=0xff; KeyStatus=~P2; if(KeyStatus!=0) { one=0; if(KeyTemp!=KeyStatus) { KeyTemp=KeyStatus; zero=1; } else { if(zero<5) { zero+=1; if(zero==5) KeyData=KeyTemp; } } }
7.1 指拨开关控制LED实习
1〃使用 8 位元指撥開關 S7~S0 控制 8 位元 LED L7~L0,當開關 ON 時,LED 亮,反之 當開關 OFF 時,LED 不亮。 2〃使用 1 位元指撥開關 S0 控制 8 位元 LED L7~L0 移位動作,當 S0 ON 時,LED 執行 單燈右移,當 S0 OFF 時,LED 執行單燈左移。 3〃使用 1 位元指撥開關 S0 控制 8 位元 LED L7~L0 移位動作,當 S0 ON 時,LED 執行 單燈閃爍右移,當 S0 OFF 時,LED 執行單燈閃爍左移。 4〃使用 2 位元指撥開關 S1~S0 控制 8 位元 LED L7~L0,當 S1 ON 時,LED 執行單燈 左移,反之當 S0 ON 時,LED 執行單燈右移,當 S1、S0 皆為 OFF 或皆為 ON 時, LED 不亮。
1 2 3 4 5 6 7 8 L0 L1 L2 L3 L4 L5 L6 L7
+5V
10uF
220Ω
30P
19
X1
12MHz
18
10kΩ 30P 20
X2 VSS
21 22 23 24 25 26 27 28
10kΩ
S0 S1 S2 S3 S4 S5 S6 S7
圖 7-6 按鍵開關控制 LED 實習(一)電路
+5V
P10 P11 P12 P13 P14 P15 P16 P17 P20 P21 P22 P23 P24 P25 P26 P27
1 2 3 4 5 6 7 8 L0 L1 L2 L3 L4 L5 L6 L7
10uF
10kΩ 9
30P 19 18 30P 20
31
12MHz
21 22 23 24 25 26 27 28
流程圖


設定P2為輸入埠
i 0 =
讀取指撥開關狀態
mask=0? 是 輸出開關狀態至 LED

關閉所有L E D
i 加1
i>10000? 是 m ask反相

4
7.1 指拨开关控制LED实习
電路圖
+5V
40
MCS-51
VCC EA/VP RST 31 9 P10 P11 P12 P13 P14 P15 P16 P17 P20 P21 P22 P23 P24 P25 P26 P27
返回主程式 輸出 P1=led[i]
j加1
否 J>10000? 是
17
7.3 按键开关控制LED实习(二)
程式:ch7-3.c
#include "reg51.h" char one=0; char zero=0; unsigned char KeyTemp=0xff; unsigned char KeyData=0xff; main() { void KeyScan(void); char i=0; int j; bit mask=0; unsigned char key; P1=led[i]; while(1) { for(j=0;j<=10000;j++) { KeyScan(); if(KeyData!=0xff) { key=KeyData; KeyData=0xff; } /* 儲存按鍵值至 key */ /* 清除按鍵值 */ /* 偵測按鍵狀態 */ /* 按下任何鍵? */ /* 控制移位速度 */ /* 輸出 */ /* LED 移位方向控制位元 */ /* KeyScan 函數宣告 */ char led[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};/* LED 資料 */ /* 8051 接腳定義 */ /* 按鍵按下後狀態為 1 的次數 */ /* 按鍵按下後狀態為 0 的次數 */ /* 未除彈跳鍵值 */ /* 已除彈跳鍵值 */
VCC R out SW 1 0 SW out R VCC 1 0
(a) 負脈波型 圖 7-4 按鍵電路
(b) 正脈波型
8
7.2 按键开关控制LED实习(一)
1
按下SW 放開SW
1
按下SW 放開SW 穩定狀態
10ms~20ms
0
10ms~20ms
0
穩定狀態
10ms~20ms
10ms~20ms
不穩定狀態
8 7 6 5 5 4 4 3 2 1
5
7.1 指拨开关控制LED实习
程式:ch7-1.c
#include "reg51.h" main() { int i; unsigned char j; bit mask=0; while(1) { P2=0xff; for(i=0;i<=10000;i++) { j=P2; if(mask==0) P1=j; else P1=0xff; } mask=~mask; } }
相关文档
最新文档