完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前言
最近在学习C51单片机,我的开发板是TX-1C,看的视频是郭天祥。写这个原因一则是温故而知新,二则自己写程序的时候老是忘记比如中断初始化要控制那些位,以后方便自己查询^-^。 LED 其中74HC573功能表: 从两图中可以知道:OE置L,LE置H,输入和输出一样(89C52芯片周围的引脚默认为高电平)只要将P1口中对应的引脚置为0,LED灯就会亮 #include 说明:通过对P0控制wela,选择要显示哪几个数码管,将wela = 0,锁存住前面的信息,然后打开dula,因为是共阴极所以只要使得相应的那一位为1就显示。 比如上图abcdef = 1 其余为0,就显示出0 //控制前三位从0x0到0xf循环 #include #define uint unsigned int #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; uchar num; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; //code的作用是告诉单片机,定义的数据要放在ROM(程序存储区)里面 void delay(uint z); void main() { wela=1;//选择要打开哪几个数码管显示 P0=0xf8;//0xf8 == 11111000B 就是第1,2,3位打开 wela=0;//根据74HC573可知,这样输出的数据都是之前的,即锁存住了前面的值 while(1){ dula=1; P0=table[(num ++) % 16]; dula=0; delay(1000); //延时函数 } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 总结 没啥好总结的:-),入坑51单片机最简单的两个案例。 |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1083浏览 2评论
700浏览 1评论
452浏览 0评论
193浏览 0评论
329浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 08:48 , Processed in 7.506403 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号