单片机c语言程序设计实训99例

单片机c语言程序设计实训99例

ID:18418570

大小:1.92 MB

页数:77页

时间:2018-09-17

单片机c语言程序设计实训99例_第1页
单片机c语言程序设计实训99例_第2页
单片机c语言程序设计实训99例_第3页
单片机c语言程序设计实训99例_第4页
单片机c语言程序设计实训99例_第5页
资源描述:

《单片机c语言程序设计实训99例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《单片机C语言程序设计实训99例》—青岛大学《单片机C语言程序设计实训99例》案例第01篇基础程序设计09555定时器实验/*名称:555定时器实验说明:调节外部电阻RV1可改变延时值,从而影响灯点亮延时和发声延时。*/#include#defineucharunsignedchar#defineuintunsignedintsbitSignal=P1^0;sbitBEEP=P3^7;//延时voidDelayMS(uintms){uchari;while(ms--)for(i=0;i<120;i++);}//主程序voidmain(){

2、while(1){if(Signal){BEEP=~BEEP;DelayMS(3);}}}10BCD译码数码管显示数字/*名称:BCD译码数码管显示数字说明:BCD码经4511译码后输出数码管段码,实现数码管显示(4511驱动数码管)。*/#include#defineucharunsignedchar#defineuintunsignedint//数码管位码ucharcodeDSY_Index[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};77《单片机C语言程序设计实训99例》—青岛大学//待显

3、示数字(10为不显示)ucharcodeBCD_CODE[]={2,0,1,0,10,3,10,5};//延时voidDelayMS(uintms){uchari;while(ms--)for(i=0;i<120;i++);}//主程序voidmain(){uchark;while(1){for(k=0;k<8;k++){P2=DSY_Index[k];P1=BCD_CODE[k];DelayMS(1);}}}11MAX7221控制数码管动态显示/*名称:MAX7221控制数码管动态显示说明:本例用MAX7221控制8只数码管动态显示,这样大大减少了单片机

4、引脚和机器时间的占用。*/#include#include#defineucharunsignedchar#defineuintunsignedintsbitDIN=P2^0;sbitCSB=P2^1;sbitCLK=P2^2;ucharDisp_Buffer[]={2,0,1,5,10,5,10,9};//显示缓冲,10为“-”//延时voidDelayMS(uintms){uchari;while(ms--)for(i=0;i<120;i++);}//写数据voidWrite(ucharAddr,ucharDat

5、)77《单片机C语言程序设计实训99例》—青岛大学{uchari;CSB=0;for(i=0;i<8;i++){CLK=0;Addr<<=1;DIN=CY;CLK=1;_nop_();_nop_();CLK=0;}for(i=0;i<8;i++){CLK=0;Dat<<=1;DIN=CY;CLK=1;_nop_();_nop_();CLK=0;}CSB=1;}//MAX7221初始化voidInitialise(){Write(0x09,0xff);//编码模式地址0x090x00~0xff,为1的则位选通Write(0x0a,0x07);//亮度地址0x

6、0a0x00~0x0f,0x0f最亮Write(0x0b,0x07);//扫描数码管个数地址0x0b,最多扫描8只数码管Write(0x0c,0x01);//工作模式地址0x0c0x00:关闭;0x01:正常}//主程序voidmain(){uchari;Initialise();//初始化DelayMS(1);for(i=0;i<8;i++)//显示8个数码管{Write(i+1,Disp_Buffer[i]);}while(1);}12LCD1602字符液晶滚动演示程序//main.c/*名称:LCD1602字符液晶滚动演示程序说明:K1~K3按钮分别

7、实现液晶垂直或水平滚动显示及暂停与继续控制。*/#include#include#defineucharunsignedchar77《单片机C语言程序设计实训99例》—青岛大学#defineuintunsignedintvoidInitialize_LCD();voidDelayMS(uintms);voidShowString(uchar,uchar,uchar*);sbitK1=P3^0;sbitK2=P3^1;sbitK3=P3^2;ucharcodePrompt[]="PressK1-K3ToStartDemo

8、Prog";//待滚动显示的信息段落,每行不超过80个字符,共6行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。