实验3 LED数码管静态显示设计
一、实验目的
1. 学习LED数码管静态显示的设计方法; 2. 学习延时子程序的设计方法。
二、实验说明
用P1口和P2口驱动2个LED数码管做静态显示。延时子程序用于控制LED显示数字的变换。作为单片机的指令的执行时间是很短的,数量达微秒级,因此,执行LED亮灭的时间使用延时子程序来实现。
C语言延时子程序如下:
void delay(unsigned int z) //约为1ms的延时程序,晶振12MHz { unsigned int x,y; for(x=0;x for(y=0;y<115;y++); } 三、实验内容 用P1口和P2口驱动2个LED数码管做静态显示0-9,每次显示两个数字,一直循环。 7 实验4 LED数码管动态显示设计 一、实验目的 1.了解“8”字形LED数码管的基础知识和工作原理 2.掌握单片机控制数码管动态显示的工作原理和软、硬件设计方法 二、实验说明 动态显示,也称扫描显示,是将所有数码管的8段即a~dp段都连接在一起,分时使各个数码管的位选端有效,也就是在某一个时刻只能有1个数码管在显示。由于人眼具有“视觉暂留”作用(通常在20ms左右),因此只要使多个数码管显示的时间间隔较短,人眼一般是感绝不到数码管熄灭的,因此可以形成多个数码管在“静态显示”的假象。动态显示优点是占用的I/O接口较少,但需要消耗一定的时间。 实验箱的动态数码显示器由6 个共阴极LED 数码管构成。单片机的一个I/O口输出显示段码,经由一片74LS245 驱动输出给LED管,由另一个I/O口输出位码,经由74LS06 输出给LED 管。 三、参考实例 以跑马灯的方式将“12345678”数字由右边依次走入6位数的数码管,即“------→“-----1”→“----12”→“---123”→“--1234”→“-12345”→“123456”→“234567”→“345678”→“45678-”→“5678--”→“678---”→“78----”→“8-----”,如此循环不停。 1.电路图 8 2.流程图及源程序 Scanner 声明变量 扫描初始值 开 始 读取数组数据 声明变量与函数 scanner函数 N Counts+6组? Y 从第1组开始 N 输出 延迟4ms 下一个扫描码 6次扫描? Y N 30次? Y 返回 主程序 #include #define SCANP P0 //定义位码由P0输出 #define SEG7P P1 //定义段码由P1输出 char code TAB[11]={0x3f,0x06,0x5b,0x4f,0x66, //数字0~4字形符 0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //数字5~9及符号(-)字形符 #define counts 8 //声明字组数量 char disp[counts+11]={10,10,10,10,10,10, 1,2,3,4,5,6,7,8,10,10,10,10,10}; //------12345678----- void delay1ms(int); void scanner(char); //扫描函数 main() { char i; while(1) for(i=0;i void delay1ms(int x) //延时函数,时间x×1ms { int i,j; for(i=0;i for(j=0;j<115;j++); } void scanner(char x) //扫描字组函数 { char i,j,BCD,scan; 9 for(i=0;i<30;i++) //扫描30次i循环 { scan=0xdf; //扫描信号初值11011111 for(j=0;j<6;j++) //扫描6个数字j循环 { SEG7P=0xff; //关闭八段显示器(防止闪动) SCANP=~scan; //输出扫描信号 BCD=disp[x+j]; //读取第x组第j个数字的BCD码 SEG7P=TAB[BCD]; //输出至八段显示器 delay1ms(4); //延迟4ms scan>>=1; //产生下个扫描信号 } } } 四、实验内容 以跑马灯的方式将“87654321”数字由右边依次走入6位数的数码管,即“------”→“-----8“→“----87”→“---876”→“—8765”→“-87654”→“876543”→“765432”→“654321”→“54321-”→“4321--”→“321---”→“21----”→“1-----”,如此循环不停。 10 实验5 LED点阵显示设计 一、实验目的 3. 学习LED点阵显示的设计方法; 4. 学习多个点阵模块的设计方法。 二、实验说明 点亮点阵LED中的一个发光二极管的条件是:对应的行输出高电平,对应的列输出低电平。 数据低位 数据高位 L0L7数据形式 11111111 10011001 11011011 11011011 11100111 11100111 11111111 11111111 三、实验内容 用4块LED点阵模块显示一个对称的菱形。 11 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机实验指导书(参考)(3)在线全文阅读。
相关推荐: