熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-6-8 10:34
正文摘要:按一個(gè)按鍵,發(fā)送模擬量到pc機(jī) 仿真,我做了好久也沒做出來,程序有問題 求幫助 /* 名稱:?jiǎn)纹瑱C(jī)與PC通信 說明:?jiǎn)纹瑱C(jī)可接收PC發(fā)送的數(shù)字字符, 按下單片機(jī)的K1鍵后, ... |
| #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit ST=P2^0; sbit OE=P2^2; sbit ALE=P2^3; sbit EOC=P2^1; sbit CLK=P2^4; long int datas,bai,she,ge; uchar duan; uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code num_dot[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed}; uchar code wei[]={0x0d,0x0b,0x07}; void delay(uint z) { uchar i; while(z--) for(i=0;i<120;i++); } void display() { uchar i=0; bai=(datas*500/255)/100; she=(datas*500/255)/10 % 10; ge=(datas*500/255) % 10; for(i=0;i<3;i++) { P3=wei[i]; if(i==0){duan=num_dot[bai];} else if(i==1){duan=num[she];} else if(i==2){duan=num[ge];} P0=duan; delay(2); } } void main() { TMOD=0x02; TH0=0x216; TL0=0x216; EA=1; ET0=1; TR0=1; while(1) { ST=OE=0; ALE=1; ST=1; ALE=0; ST=0; while(!EOC); OE=1; datas=P1; display(); } } void inter_1() interrupt 1 { CLK=~CLK; } |
Powered by 單片機(jī)教程網(wǎng)