完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include #include #define uchar unsigned char #define uint unsigned int // 各数字的数码管段管 // uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; ***it CLK=P1^0; ***it ST=P1^1; ***it EOC=P1^2; ***it OE=P1^7; ***it k4=P2^3; ***it k3=P2^2; ***it k2=P2^1; uchar xs; //延时// void DelayMS(uint x) { uint i,j; for (i=x;i>0;i--) for (j=110;j>0;j--); } //显示转换结果// void Display_Result(uchar d) { k4=1; //第四个数码管显示个位数 P0=-DSY_CODE[d%10]; DelayMS (31); k4=0; k3=1; //第三个数码管显示十位数 P0=-DSY_CODE[d%100/10]; DelayMS(31); k3=0; //第二个数码管显示百位数 k2=1; P0=-DSY_CODE[d%100]; DelayMS(31); k2=0; } //主程序// void main() { TMOD=0x02; //T1工作模式2 TH0=0x14; TL0=0x00; IE=0x82; TR0=1; k4=0; k2=0; k3=0; P1=0x3f; //选择ADC的通道3(0111) while (1) { ST=0; ST=1; ST=0; //启动AD转换 while (EOC==0) //等待转换完成 { Display_Result(xs); } OE=1; //Display_Result(p3); xs=P3; OE=0; } } // T0定时器会终端给ADC0808提供时钟信号// void timer0_INT()interrupt 1 { CLK=~CLK; } |
|
相关推荐
1个回答
|
|
请上传整个工程文件(编译文件,一个是仿真文件),这样我们好帮你实验。另外,中断是否影响到显示效果,请排除一下。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
3337 浏览 3 评论
4640 浏览 1 评论
4918 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
6628 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1186 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-2 09:22 , Processed in 0.616810 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号