《手把手教你学单片机00.ppt》由会员分享,可在线阅读,更多相关《手把手教你学单片机00.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、手把手教你学单片机00 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望n第四课:第四课:n n 流水灯流水灯常用延时办法常用延时办法n非精确延时非精确延时 1、for(i=0;i 100;i+);2、i=100;while(i-);精确延时办法精确延时办法 1、利用库函数、利用库函数_nop_();(需要需要include)2、利用定时器进行定时、利用定时器进行定时 (后边的课程进行介绍后边的课程进行介绍)变量类型变量类型关键字关键字所占字节所占字节取值范围取值范
2、围unsigned char10255“00000000”到到”11111111”unsigned int2065535“00000000 00000000”到到“11111111 11111111”依照国际惯例,我们可以用依照国际惯例,我们可以用uint8 uint16 等缩写来等缩写来替代,只需要用替代,只需要用typedef语句可以完成:语句可以完成:typedef unsigned char uint8;typedef unsigned int uint16;流水灯实验流水灯实验n8个个LED发光二极管,分别对应单片机发光二极管,分别对应单片机IO口的口的P0.0到到P0.7口,口,8
3、个单片机个单片机IO口组成一个字节,口组成一个字节,在程序编写过程中,可以直接用在程序编写过程中,可以直接用P0来进行操作。来进行操作。nC语言的语言的8位二进制数代表了位二进制数代表了8个个IO口口nP0=0 xfe;nP0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0n1 1 1 1 1 1 1 0C语言运算符语言运算符n左移左移 n X2n左移,最低位填左移,最低位填0补充;右移,最高位填补充;右移,最高位填0补充补充n0 xf0 11100000 01111000n按位取反符号按位取反符号 取反后取反后1变成变成0,0变成变成10 x0F取反后成为取反后成为
4、 0 xF0,即即00001111-11110000数码管数码管数码管真值表数码管真值表 根据单片机连接电路,可以计算出根据单片机连接电路,可以计算出数码管的真值表数码管的真值表:nP0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0ndp g f e d c b an1 1 1 1 1 0 0 1nP0=0 xF9;数码管真值表数码管真值表根据单片机连接电路,计算出数码管的真值表根据单片机连接电路,计算出数码管的真值表 0 1 2 3 4 5 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 6 7 8 9 A b0 x82 0 xf8 0 x80 0 x90 0 x88 0 x83 C d E F0 xa7 0 xa1 0 x86 0 x8e作业作业n1、记住、记住C语言语言2个变量类型及其范围,个变量类型及其范围,掌握掌握C语言的位操作和字节操作。语言的位操作和字节操作。n2、用、用3个个LED小灯做一个交通灯的程序。小灯做一个交通灯的程序。n3、根据原理图和流水灯程序,独立完成、根据原理图和流水灯程序,独立完成流水灯反方向流动以及小灯一个个点亮流水灯反方向流动以及小灯一个个点亮直到全亮的功能。直到全亮的功能。n4、明白数码管的原理,写出数码管真值、明白数码管的原理,写出数码管真值表。表。