ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:825.80KB ,
资源ID:11106340      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11106340.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机实训任务书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机实训任务书.docx

1、单片机实训任务书单片机原理及接口实训任务书使用班级:电气自动化技术103指导老师:冉会中电子信息与电气工程系2011年2月提前下载并阅读实训任务书。三人一小组,每组保证一台电脑。下周一上午8:40 带上电脑,到单片机实验室实训任务一:选座系统设计/LED点阵广告设计 一、内容1、选座系统设计设计主要内容:会议厅电影厅等有座位选择的需求,要求用单片机、LED和按键设计自助选座系统。基本功能要求:1)用点亮LED上对应的点表示已选的座位2)用LED上对应的熄灭的点表示未选的座位3)按按键实现座位的行号和列号输入,并通过矩阵LED上对应的点闪烁来形象显示将选定的座位号2点阵广告设计设计主要内容:常见

2、室外有LED点阵广告,要求用单片机、多片LED设计显示汉字的点阵广告牌系统。基本功能要求:用点亮LED上对应的点显示一个特定的汉字或图形二、目的1. 学习矩阵按键的工作原理2. 学习矩阵按键识别的方法3. 学习点阵显示的工作原理4. 学习点矩点亮显示字型的方法5训练程序编写和调试能力三、知识梳理和参考:1. 矩阵按键例功能:用单片机的并口连接4*4矩阵按键, 并在数码管上显示每个按键的序号硬件设计单片机P0.0至P0.3接矩阵按键的行线, P2.0至P2.3接矩阵按键的列线,P3接led段码管的abcdefgdp端,段 P1口的P1.0和P1.3参考程序/ 用单片机的并口连接4*4矩阵按键,

3、并在数码管上显示每个按键的序号#include void delayms(unsigned char xms) /延时xms子函数 unsigned char i,m; for(i=xms;i0;i-) /i=xms即延时约xms毫秒 for(m=110;m0;m-);/显示子程序void display( int j) unsigned char code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/字符0123456789ABCDE if(j!=-1) P3=tab

4、j; else P3=0x00; /黑屏 delayms(5);/矩阵键盘扫描子程序int scan_key(void)unsigned i,temp,m,n; /i为循环次数,m为列,n为行号, P0为行,P2为列unsigned char sel_c,sel_column;bit find=0;P0=0x0f;P2=0x00;temp=P0;temp=temp&0x0f;if(temp!=0x00) delayms(10); temp=P0; temp=temp&0x0f; if(temp!=0x00) sel_c=0x01; /判断 哪一个按键 for(i=0;i4;i+) sel_co

5、lumn=sel_c; P2=sel_column; temp=P0; temp=temp&0x0f; if(temp!=0x00) m=i; find=1; switch(temp) case 0x01:n=0;break; case 0x02:n=1;break; case 0x04:n=2;break; case 0x08:n=3;break; default:break; sel_c=sel_c1; if(find=0) return -1; else return(n*4+m);void main() int key; key=-1; /没按下按键,给key赋值-1,创造黑屏条件 d

6、isplay(key); while(1) key=scan_key( ); if(key!=-1) display(key); delayms(30); 想想练练如果把矩阵键盘编号改为下图,程序怎么改写?如果输入多位数,并在多位段码管上显示,程序怎么写?2. LED点阵显示例功能:单片机控制8*8的LED点阵显示数字和汉字硬件线路:单片机的并口P0连线8*8的LED点阵的列线, 并口P2连线8*8的LED点阵的行线nn 知识输理:参见教材P137编程思路:在点阵上稳定显示一个字符”日”的设计思路是:用点阵上所有点亮的点来展示成”日”字的形状,从而达到显示的目的。字型编码用二维数组表示(也可用

7、一维数组)。硬件接线:单片机的两个并行端口P0和P2分别连线LED的列选和行选。显示过程:行扫描方式。每次显示一行8个LED,8行扫描显示完,即为一个字型,字型要稳定显示,开始新一轮的扫描。首先选中第一行(P2.0所接线),把该行要点亮所对应的8位二进制数0x00(字型编码)送到列控制口(P0口),延时2ms(8行显示一帧,即一个稳定的字型,一帧的显示时间不能超过超过视觉暂留时间),选中第二行(P2.1所接线), 把该行要点亮所对应的8位二进制数0x3c(字型编码)送到列控制口(P0口) ,延时2ms,如此下去,直到把一个字的8个字节的字型编码送给8行,完整显示一个汉字。为了稳定显示,每隔20

8、ms刷新显示一次,刷新100次后,再显示其他字型。参考程序/循环显示 汉字“一”、“二”和“日”三个字型#include void delay(unsigned int i)unsigned char j,k;for(j=0;ji;j+)for(k=0;k255;k+);void main() unsigned char code led38=0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,/汉字字型“ 一 ” 0x00,0x00,0x3c,0x00,0x00,0x00,0xff,0x00,/汉字字型 “二” 0x00,0x3c,0x24,0x24,0x3c,0

9、x24,0x24,0x3c;/汉字字型数据日 unsigned char rowselect; unsigned char k, j; unsigned int m ; while(1) for(k=0;k=2;k+) for(m=0;m=100;m+) /显示一个字的字型 rowselect=0x01; for(j=0;j=7;j+) P2=rowselect;/ 选行 /同时送字型编码中的一个字节到列线 P0=ledkj; delay(2); rowselect=rowselect1; delay(20); 想想练练编程实现把矩阵中的任意设定点点亮如果矩阵中的一部分点亮,让任意设定点闪烁2

10、秒后,也点亮,但是不影响前面点亮的部分,程序如何编写实训任务二 数字电压表 一、内容利用单片机和A/D转换芯片采集0-5V的模拟电压信号,转变为8位数字信号,在两位数码管上显示。 二、目的 1.学习单片机接口技术2学习A/D转换技术3.掌握模拟信号采集及数据显示的程序设计和调试方法三、知识梳理和编程思路:ADC0809是一个8位8通道的逐次逼近式AD转换器,各引脚功能如下:(1)IN7IN0:8个模拟量输入通道。(2)ADDA、ADDB、ADDC:地址线。(3)ALE:地址锁存允许信号。对应ALE上升沿,ADDA、ADDB和ADDC地址状态送入地址锁存器中,经译码后输出选择模拟信号输入通道。(

11、4)START:转换启动信号。对应START上跳沿时,所有内部寄存器清0;对应START下跳沿,开始进行A/D转换;在A/D转换期间,START应保持低电平。单片机连线此引脚,可以启动ADC0809开始转换 (5)D7D0:数据输出线,为三态缓冲输出形式,可以和单片机的数据线直接相连,单片机连线ADC0809的数据线,可以读取转换的结果(6)OE:输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的数据。当OE=0时,输出数据线呈高电阻;当OE=1时,输出转换得到的数据。(7)CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为5

12、00kHz的时钟信号(8)EOC转换结束状态信号。启动转换后,系统自动设置EOC=0,转换完成后,EOC=1。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。(9)Vref:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准,其典型值为+5V(Vref (+) =+5V,Vref(-) =0V)。转换步骤:1. ALE信号上升沿有效,锁存地址并选中相应通道。2. ST信号有效,开始转换。A/D转换期间ST为低电平。3. EOC信号输出高电平,表示转换结束。4. OE信号有效,允许输出转换结果四、示例用滑动电阻模拟可变的电压模拟信号,模拟信号送给ADC0809模数转

13、换芯片的IN0通道,ADC0809芯片将其转换为数字信号,送给单片机的P1口,单片机控制2位数码管显示。参考程序/功能:简易数字电压表程序#include#define uchar unsigned char /无符号字符型数据预定义为ucharuchar code led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8E; /定义0F显示码sbit P0_2=P02; /可寻址位定义sbit P0_3=P03;sbit P0_6=P06;sbit P0_7=P07;void sepr

14、(unsigned char i); /把形式参数i的高低位分开,分别存放在全局变量chh,chl中void disp(); /显示chh,chl中的数据(两位)uchar chh,chl; /全局变量定义void main() /主函数 uchar a; unsigned char i; while(1) P0_2=1; for(a=0;a50;a+); /延时 P0_2=0; /在P0.2引脚产生下降沿,START和ALE引脚产生上升沿,锁存通道地址,所有内部寄存器清0 for(a=0;a50;a+); /延时 P0_2=1; /在P0.2上产生上升沿,START上产生下降沿,A/D转换开

15、始 while(P0_3=0); /等待转换完成,EOC=1表示转换完成 P0_2=0; /P0_2=0,则OE=1,允许读数 P1=0xff; /作为输入口,P1口先置全1 i=P1; /读入A/D转换数据 sepr(i); /数据高低位分开 disp(); /显示数据 /函数名:sepr/函数功能: 将8位二进制数00FFH转换为0.05.0,低位和高位分别存在chl和chh中/形式参数: i为A/D转换后的8位二进制数/返回值: chl中存放拆分后的低位、chh中存放拆分后的高位void sepr(unsigned char i) /拆分高位和低位 uchar ch; ch=i; chh

16、=ch/51; /除以51得到高位 ch=ch%51; /取余运算 chl=ch*10/51; /再除以51,并扩大10倍,得到低位/函数名:disp/函数功能:显示全局变量中chl和chh中的数字void disp() uchar j; P2=ledchl; /显示低位 P0_6 = 1; P0_7 = 0; for(j=0;j100;j+); /延时 P0_6=0; P0_7=0; P2=ledchh&0x7f; /显示高位 P0_6 = 0; P0_7 = 1; for(j=0;j100;j+); /延时 P0_6=0; P0_7=0; 其他资料:王静霞单片机应用技术电子工业出版社刘高锁单片机系统开发技术天津出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1