找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14342|回復: 22
打印 上一主題 下一主題
收起左側

全球首發(fā),全世界第一個Proteus仿真stm32f103之實現(xiàn)IIC(IO模擬)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:230913 發(fā)表于 2019-1-27 09:23 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
全球首發(fā),全世界第一個Proteus仿真stm32f103之實現(xiàn)IIC(IO模擬)實驗現(xiàn)象:
        本實驗通過KEY02按鍵來控制24C02的寫入“hello”,通過另外一個按鍵KEY01來控制24C02的讀取"hello"。
        顯示相關信息。同時,我們可以通過USMART控制在24C02的任意地址寫入和讀取數(shù)據(jù)。

注意:1.軟件使用的是proteu8.8 修復了部分bug,包括之前的定時器bug
2."hello"的16進制為“68 65 6c 6c 6f”如圖中所示
3.菜單 Debug 可調出IIC調試器
4.使用的IO模擬實現(xiàn)IIC

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)




單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "key.h"
  6. #include "lcd.h"
  7. #include "usmart.h"
  8. #include "24cxx.h"


  9. //要寫入到24c02的字符串數(shù)組
  10. const u8 TEXT_Buffer[]={"hello"};
  11. #define SIZE sizeof(TEXT_Buffer)

  12. int main(void)
  13. {
  14.     u8 key;
  15.         u16 i=0;
  16.         u8 datatemp[SIZE];        
  17.         
  18.     HAL_Init();                                     //初始化HAL庫   
  19.     Stm32_Clock_Init(RCC_PLL_MUL9);           //設置時鐘,72M
  20.         delay_init(72);                               //初始化延時函數(shù)
  21.         //uart_init(115200);                                        //初始化串口
  22.         //usmart_dev.init(84);                                     //初始化USMART        
  23.         KEY_Init();                                                        //初始化按鍵
  24.          //LCD_Init();                                                        //初始化LCD
  25.         AT24CXX_Init();                                            //初始化IIC
  26.         LED_Init();

  27.         while(AT24CXX_Check())//檢測不到24c02
  28.         {
  29.                 delay_ms(500);
  30.                 //LED0=!LED0;//DS0閃爍
  31.         }

  32.         while(1)
  33.         {
  34.                 key=KEY_Scan(0);
  35.                 if(key==KEY1_PRES)//KEY1按下,寫入24C02
  36.                 {

  37.                         AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE);

  38.                 }
  39.                 if(key==KEY0_PRES)//KEY0按下,讀取字符串并顯示
  40.                 {

  41.                         AT24CXX_Read(0,datatemp,SIZE);

  42.                 }
  43.                 i++;
  44.                 delay_ms(10);
  45.                 if(i==20)
  46.                 {
  47.                         LED0=!LED0;//提示系統(tǒng)正在運行        
  48.                         i=0;
  49.                 }                  
  50.                 }
  51. }
復制代碼

所有資料51hei提供下載:
proteus STM32F103 實現(xiàn)IIC.7z (461.43 KB, 下載次數(shù): 463)

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏16 分享淘帖 頂3 踩
回復

使用道具 舉報

沙發(fā)
ID:253852 發(fā)表于 2019-7-30 13:06 | 只看該作者
樓主厲害,可以
回復

使用道具 舉報

板凳
ID:671136 發(fā)表于 2020-1-4 16:34 | 只看該作者
如何在LCD上顯示呢
回復

使用道具 舉報

地板
ID:233711 發(fā)表于 2020-1-5 15:56 | 只看該作者
要用proteus8以上
回復

使用道具 舉報

5#
ID:710460 發(fā)表于 2020-3-17 22:08 | 只看該作者
很好的帖子,謝謝樓主的無私奉獻
回復

使用道具 舉報

6#
ID:727193 發(fā)表于 2020-4-11 21:27 | 只看該作者
caivivi 發(fā)表于 2020-1-4 16:34
如何在LCD上顯示呢

這個就是仿真里面顯示的,特意把LCD部分屏蔽了。LCD屏上顯示就得加LCD程序了
回復

使用道具 舉報

7#
ID:706699 發(fā)表于 2020-4-15 18:08 | 只看該作者
nb,感謝分享
回復

使用道具 舉報

8#
ID:729925 發(fā)表于 2020-4-19 14:00 | 只看該作者
厲害,參考一下
回復

使用道具 舉報

9#
ID:719186 發(fā)表于 2020-5-14 12:51 | 只看該作者
請問IIC總線的仿真模塊則么調用啊
回復

使用道具 舉報

10#
ID:230913 發(fā)表于 2020-5-14 20:23 | 只看該作者
465132156 發(fā)表于 2020-5-14 12:51
請問IIC總線的仿真模塊則么調用啊

菜單 Debug 可調出IIC調試器
回復

使用道具 舉報

11#
ID:752109 發(fā)表于 2020-5-14 21:27 | 只看該作者
樓主太強了~
回復

使用道具 舉報

12#
ID:693990 發(fā)表于 2020-5-24 18:09 | 只看該作者
happy87 發(fā)表于 2020-5-14 20:23
菜單 Debug 可調出IIC調試器

我是8.9SP2的咋沒找到IIC調試器,請問是哪一個?
回復

使用道具 舉報

13#
ID:761660 發(fā)表于 2020-6-6 09:30 | 只看該作者
學習一下
回復

使用道具 舉報

14#
ID:761660 發(fā)表于 2020-6-13 12:17 | 只看該作者
下載后運行正常,感謝分享。
回復

使用道具 舉報

15#
ID:141072 發(fā)表于 2022-4-30 18:42 | 只看該作者
必須贊一個,巨大貢獻
回復

使用道具 舉報

16#
ID:387687 發(fā)表于 2022-5-4 15:57 | 只看該作者

很好的帖子,謝謝樓主的無私奉獻
回復

使用道具 舉報

17#
ID:1023809 發(fā)表于 2022-5-4 17:51 | 只看該作者
謝謝樓主的無私奉獻
回復

使用道具 舉報

18#
ID:679189 發(fā)表于 2022-5-5 18:03 | 只看該作者
干的漂亮!
回復

使用道具 舉報

19#
ID:871292 發(fā)表于 2022-5-6 00:04 | 只看該作者
謝謝樓主的無私奉獻!
回復

使用道具 舉報

20#
ID:768534 發(fā)表于 2022-5-6 00:25 | 只看該作者
樓主的程序讓我學到了很多
回復

使用道具 舉報

21#
ID:64178 發(fā)表于 2023-5-21 23:41 | 只看該作者
謝謝樓主分享的代碼,正好用上
回復

使用道具 舉報

22#
ID:1042484 發(fā)表于 2023-5-25 21:28 來自手機 | 只看該作者
別人沒有模擬成功的?
回復

使用道具 舉報

23#
ID:825270 發(fā)表于 2023-6-3 18:48 | 只看該作者
試了一下,沒任何反應,不知為何!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表