欢迎来到天天文库
浏览记录
ID:8465033
大小:214.81 KB
页数:32页
时间:2018-03-28
《单片机内部结构测试报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机内部结构测试报告姓名:苏汉生班别:09机械1班学号:指导老师:庞志目录1.跑马灯实验12.跑马灯实验23.跑马灯实验34.按键实验、蜂鸣器5.定时器数码管显示6.看门狗实验7.AD数模转换实验程序运行分析一、跑马灯实验11.测试程序名称:跑马灯实验12.程序功能介绍:跑马灯1的程序功能主要是控制LED灯闪亮的顺序,使八个LED灯按照程序设定闪亮。但对按键和其他元件不起任何控制作用。3.程序相关的电路图:8位流水灯电路4.程序总体(主函数)流程图:i=i+1延时80msA口输出LED_tab
2、le[]数组中第i个元素i=0i==36初始化I/O口i=0开始YN(2)Nus延时函数:i=i+1延时1usi3、0xBF,0x7F,0xFF,0x00,0xFF,0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,0x00,0xFF,0x7E,0xBD,0xDB,0xE7,0xFF,0x00,0xE7,0xDB,0xBD,0x7E,0xFF,0x00};上述这个语句用到了一维数组,命名为LED_table,该数组一共有37个元素,每一个元素是一个十六进制的数,这些十六进制的数代表着开发板上的LED灯闪亮的规律(输出1为不亮,输出0为亮)。PORTA=0xFF;DDRA4、=0xFF;DDRE=0XFF;PORTE=0XFF;上述语句是I/O口(端口A寄存器)的初始化,A口的8个脚控制开发板上的8个LED灯。初始化A口设置为输出,8个引脚分别为11111111,LED等为全灭的状态。单片机与LED灯之间连接了一个74HC573八进制3态非反转透明锁存器,E口2脚接在74HC573锁存器的使能端。当锁存使能端为高电平1时,锁存对于数据是透明的(也就是说输出同步);当锁存使能端为低电平0时,符合建立时间和保持时间的数据会被锁存。初始化E口设置为输出,8个引脚分别为115、111111,使锁存器对于数据是透明的,输出同步。PORTA=LED_table[i++];上述语句是A口的8个引脚调用一维数组LED_table[]中的十六进制数据,使开发板上的8个LED灯根据数据中的十六进制数据闪亮。7.程序运行结果:将程序烧进单片机后,8个LED灯立即全部闪亮,瞬间后8个LED灯依次由上到下均匀的有规律的闪亮;之后8个LED灯全部又一起闪亮一次,然后第一个LED灯和最后一个LED灯一起闪亮一次,接着是第二个和倒数第二个一起闪亮一次,一直到中间两个LED灯一起闪亮;然后8个6、LED灯有全部一起闪亮一次,接着又从中间两个LED灯开始一起闪亮,一直到第一个和第八个,接着全暗,全亮,一直这样循环。i++与++i的区别,i++是先运行i再加1,++i是i先加1再运行。PORTA=LED_table[i++];改成PORTA=LED_table[i];i=i++;if(i==36)i=0;改为If(i==2)i=0;8个LED灯先全暗,后全亮,一直循环。if(i==36)i=0;改为if(i==11)i=0;8个LED灯先全暗,接着全亮,再全暗,然后LED1亮,LED2亮,L7、ED3亮,LED4亮,LED5亮,LED6亮,LED7亮,LED8亮,一直循环。二、跑马灯实验21.测试程序名称:跑马灯实验22.能介绍:跑马灯2程序功能主要是控制LED灯闪亮的顺序,使八个LED灯按照程序设定闪亮。但对按键和其他元件不起任何控制作用。3.程序相关电路图:8位流水灯电路4.程序总体(主函数)流程图:A口初始化定义无符号字符型ii=i+1延时300ms数据寄存器端口A的1左移i位再取反i<8初始化I/O口开始NY5.每个函数(延时函数)的流程图:延时1us开始结束1us延时函数:i8、=i+1i<1140i=0开始结束i=i+1延时1usi9、=(1<<2);DDRE10、=(1<<2);PORTA=0xFE;DDRA=0xFF;上述程序语句是对端口A和端口E寄存器的初始化。片机与LED灯之间连接了一个74HC573八进制3态非反转透明锁存器,E口2脚接在74HC573锁存器的使能端。当锁存使能端为高电平1时,锁存对于数据是透明的(
3、0xBF,0x7F,0xFF,0x00,0xFF,0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,0x00,0xFF,0x7E,0xBD,0xDB,0xE7,0xFF,0x00,0xE7,0xDB,0xBD,0x7E,0xFF,0x00};上述这个语句用到了一维数组,命名为LED_table,该数组一共有37个元素,每一个元素是一个十六进制的数,这些十六进制的数代表着开发板上的LED灯闪亮的规律(输出1为不亮,输出0为亮)。PORTA=0xFF;DDRA
4、=0xFF;DDRE=0XFF;PORTE=0XFF;上述语句是I/O口(端口A寄存器)的初始化,A口的8个脚控制开发板上的8个LED灯。初始化A口设置为输出,8个引脚分别为11111111,LED等为全灭的状态。单片机与LED灯之间连接了一个74HC573八进制3态非反转透明锁存器,E口2脚接在74HC573锁存器的使能端。当锁存使能端为高电平1时,锁存对于数据是透明的(也就是说输出同步);当锁存使能端为低电平0时,符合建立时间和保持时间的数据会被锁存。初始化E口设置为输出,8个引脚分别为11
5、111111,使锁存器对于数据是透明的,输出同步。PORTA=LED_table[i++];上述语句是A口的8个引脚调用一维数组LED_table[]中的十六进制数据,使开发板上的8个LED灯根据数据中的十六进制数据闪亮。7.程序运行结果:将程序烧进单片机后,8个LED灯立即全部闪亮,瞬间后8个LED灯依次由上到下均匀的有规律的闪亮;之后8个LED灯全部又一起闪亮一次,然后第一个LED灯和最后一个LED灯一起闪亮一次,接着是第二个和倒数第二个一起闪亮一次,一直到中间两个LED灯一起闪亮;然后8个
6、LED灯有全部一起闪亮一次,接着又从中间两个LED灯开始一起闪亮,一直到第一个和第八个,接着全暗,全亮,一直这样循环。i++与++i的区别,i++是先运行i再加1,++i是i先加1再运行。PORTA=LED_table[i++];改成PORTA=LED_table[i];i=i++;if(i==36)i=0;改为If(i==2)i=0;8个LED灯先全暗,后全亮,一直循环。if(i==36)i=0;改为if(i==11)i=0;8个LED灯先全暗,接着全亮,再全暗,然后LED1亮,LED2亮,L
7、ED3亮,LED4亮,LED5亮,LED6亮,LED7亮,LED8亮,一直循环。二、跑马灯实验21.测试程序名称:跑马灯实验22.能介绍:跑马灯2程序功能主要是控制LED灯闪亮的顺序,使八个LED灯按照程序设定闪亮。但对按键和其他元件不起任何控制作用。3.程序相关电路图:8位流水灯电路4.程序总体(主函数)流程图:A口初始化定义无符号字符型ii=i+1延时300ms数据寄存器端口A的1左移i位再取反i<8初始化I/O口开始NY5.每个函数(延时函数)的流程图:延时1us开始结束1us延时函数:i
8、=i+1i<1140i=0开始结束i=i+1延时1usi9、=(1<<2);DDRE10、=(1<<2);PORTA=0xFE;DDRA=0xFF;上述程序语句是对端口A和端口E寄存器的初始化。片机与LED灯之间连接了一个74HC573八进制3态非反转透明锁存器,E口2脚接在74HC573锁存器的使能端。当锁存使能端为高电平1时,锁存对于数据是透明的(
9、=(1<<2);DDRE
10、=(1<<2);PORTA=0xFE;DDRA=0xFF;上述程序语句是对端口A和端口E寄存器的初始化。片机与LED灯之间连接了一个74HC573八进制3态非反转透明锁存器,E口2脚接在74HC573锁存器的使能端。当锁存使能端为高电平1时,锁存对于数据是透明的(
此文档下载收益归作者所有