- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实报告
题 目: 单片机组成原理实验报告
学 院: 计算机科学与工程学院
专 业: 信息安全
姓 名:
学 号:
2012年12月8日
实验一、输入输出接口编程
一、实验目的
1、掌握Keil软件的基本使用。
2、掌握单片机汇编语言基本编程。
二、实验内容
1、学习用Keil软件进行51单片机的软件开发;
学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。(见参考程序一)
2、霓虹灯控制程序设计
用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。将生成的HEX文件下载到实验板上验证。(见参考程序二)
三、实验原理
1、Keil软件使用练习
设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,
(22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。(见参考程序一)
2、霓虹灯控制程序设计
电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED
图中用单片机的P1口作输出口接8个LED,8个LED按共阳极连接,端口逻辑值为0点亮LED;P3口作输入口接2个SW-SPST开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。
本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。
本实验中的延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。
输出表格确定发光模式,实验中定义表格如下:
TAB1:DB 01H,02H,04H,08H,10H,20H,40H,80H(SW3,SW4为:00)
TAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81H(SW3,SW4为:01)
TAB3:DB 80H,40H,20H,10H,08H,04H,02H,01H(SW3,SW4为:10)
TAB4: DB 用户自己定义(SW3,SW4为:11)
输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。
实验程序框图如下:
子程序入口 读取输入模式根据输入模式选择表格查表输出
子程序入口
读取输入模式
根据输入模式选择表格查表输出
延时返回
开 始
P1、P3 初始化
调循环计数程序
调转换输出程序
图 1.1 主程序 图1.2 转换输出子程序
实验二、定时器/计数器编程
一、实验目的
1、掌握定时器的基本编程方法。
2、掌握计数器的基本编程方法。
二、实验内容
1、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.7接到示波器显示该方波波形;用T1作计数器对从P3.6输出的方波进行计数,计数结果通过P1口输出到发光二极管显示。(计算机仿真)
2、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.6输出的方波接到P3.5口通过T1作计数器对该方波进行计数,计数值由LED显示,用存储示波器显示P3.7输出的方波。(实验台验证)
三、实验原理
当晶振为22.1184M时,一个机器周期为0.54251微秒,要实现500毫秒的定时,需要921659个机器周期,对于51单片机内部定时器来说,最大只能定时65536个机器周期,定时35.535毫秒,不能满足要求,为此必须借助软件循环进行扩展。实现的方法是:用定时器中断定时10毫秒,再用软件扩展50倍即可得到500毫秒的定时。当到达500毫秒时,对P3.7输出取反,可得到周期为1秒的方波。
选择模式1,每个10ms中断一次,设初值为X,根据下面公式,可求得X的值。
(216-计数初值)*机器周期=定时时间
有关定时计数器的特殊功能寄存器,请参考课本。
四、实验步骤:
用KEIL 软件编写、汇编、调试给定内容的有关程序,并生成HEX文件;
用Proteus对单片机硬件电路图进行仿真;
下载到ZKSYS单片机实验板上验证有关程序。
实验三、外部中断的编程
一、实验目的
1、掌握外部中断的基本编程方法。
2、掌握计数器的扩展编程。
二、实验内容
设计单片机程序实现秒表功能;用一个开关对秒表进行启动和停止
文档评论(0)