io模擬串口仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif (28.13 KB, 下載次數: 45)
下載附件
2022-12-8 18:25 上傳
1670478903737.jpg (42.75 KB, 下載次數: 37)
下載附件
2022-12-8 13:56 上傳
單片機源程序如下:
- #include <AT89X51.H>
- #define uchar unsigned char
- #define RXD P1_0
- #define TXD P1_1
- //計數器初始化
- void S2INI(void)
- {
- TMOD |=0x02; //計數器0,方式2
- TH0=0xA0; //預值為256-96=140,十六進制A0
- TL0=TH0;
- TR0=1; //開始計數
- TF0=0;
- }
- //查詢計數器溢出標志位
- void WaitTF0( void )
- {
- while(!TF0);
- TF0=0;
- }
- void WByte(uchar input)
- {
- //發送啟始位
- uchar i=8;
- TR0=1;
- TXD=(bit)0;
- WaitTF0();
- //發送8位數據位
- while(i--)
- {
- TXD=(bit)(input&0x01); //先傳低位
- WaitTF0();
- input=input>>1;
- }
- //發送校驗位(無)
- //發送結束位
- TXD=(bit)1;
- WaitTF0();
- TR0=0;
- }
- void delay()
- {
- uchar i,j,k;
- for(i=100;i>0;i--)
- for(j=20;j>0;j--)
- for(k=248;k>0;k--);
- }
- void main(void)
- {
- S2INI();
- while(1)
- {
- WByte(0x7f);
- delay();
- WByte(0xff);
- delay();
- }
- }
復制代碼
Keil代碼與Proteus7.5版本的仿真下載(注意:不能兼容其他版本 只能用7.5 ;7.8打開):
模擬串口.zip
(47.8 KB, 下載次數: 25)
2022-12-8 13:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|