久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7684|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

LPC2138+LCD1602計(jì)數(shù)器proteus仿真與源碼 添加注釋的和改管腳

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:417873 發(fā)表于 2018-10-30 13:03 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
LPC2138仿真簡(jiǎn)單計(jì)算器的原理圖如下(proteus仿真工程文件可到本帖附件中下載)lcd1602液晶顯示


LPC2138源程序如下:
  1. #define IN_TARGET
  2. #include "config.h"
  3. #define LED1 1 << 18         // P0.18 控制LED1

  4. /*********************************************************************************************************
  5. ** 函數(shù)名稱(chēng): IRQ_Exception
  6. ** 功能描述: 中斷異常處理程序,用戶(hù)根據(jù)需要自己改變程序
  7. ********************************************************************************************************/
  8. void __irq IRQ_Exception(void)
  9.         {
  10.     while(1);                   // 這一句替換為自己的代碼
  11.         }

  12. /*********************************************************************************************************
  13. ** 函數(shù)名稱(chēng): FIQ_Exception
  14. ** 功能描述: 快速中斷異常處理程序,用戶(hù)根據(jù)需要自己改變程序
  15. ********************************************************************************************************/
  16. void FIQ_Exception(void)
  17. {         uint32 i;
  18.         i = IO0SET;                 // 讀取當(dāng)前LED1的控制值
  19.         if ((i & LED1) == 0) IO0SET = LED1;
  20.         else IO0CLR = LED1;
  21. /* 等待外部中斷信號(hào)恢復(fù)為高電平,若信號(hào)保持為低電平,中斷標(biāo)志會(huì)一直置位 */
  22.         while ((EXTINT & 0x01) != 0)
  23.         { EXTINT = 0x01;         // 清除EINT0 中斷標(biāo)志
  24.         }
  25. }
  26. /*********************************************************************************************************
  27. ** 函數(shù)名稱(chēng): TargetInit
  28. ** 功能描述: 目標(biāo)板初始化代碼,在需要的地方調(diào)用,根據(jù)需要改變
  29. ********************************************************************************************************/
  30. void TargetInit(void)
  31. {
  32.     /* 添加自己的代碼 */
  33. }

  34. /*********************************************************************************************************
  35. ** 函數(shù)名稱(chēng): TargetResetInit
  36. ** 功能描述: 調(diào)用main函數(shù)前目標(biāo)板初始化代碼,根據(jù)需要改變,不能刪除
  37. ********************************************************************************************************/
  38. void TargetResetInit(void)
  39. {
  40. /* 設(shè)置存儲(chǔ)器映射方式 */
  41. #ifdef DEBUG_RAM                                 // 如果在片內(nèi)RAM 調(diào)試
  42. MEMMAP = 0x02;                                         // 映射到片內(nèi)RAM
  43. #endif
  44. #ifdef DEBUG_FLASH                                 // 如果在片內(nèi)FLASH 調(diào)試
  45. MEMMAP = 0x01;                                         // 映射到片內(nèi)FLASH
  46. #endif
  47. #ifdef IN_CHIP                                         // 如果在片內(nèi)FLASH 發(fā)布
  48. MEMMAP = 0x01;                                         // 映射到片內(nèi)FLASH
  49. #endif

  50. /* 設(shè)置系統(tǒng)各部分時(shí)鐘 */
  51.     PLLCON = 1;                                        // 設(shè)置激活但未連接PLL
  52. #if ((Fcclk / 4) / Fpclk) == 1        // 此值由系統(tǒng)硬件決定
  53.     VPBDIV = 0;
  54. #endif
  55. #if ((Fcclk / 4) / Fpclk) == 2        // 此值由系統(tǒng)硬件決定
  56.     VPBDIV = 2;
  57. #endif
  58. #if ((Fcclk / 4) / Fpclk) == 4        // 此值由系統(tǒng)硬件決定
  59.     VPBDIV = 1;
  60. #endif

  61. /* 設(shè)定PLL 的乘因子M 和除因子P 的值 */
  62. #if (Fcco / Fcclk) == 2
  63.     PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
  64. #endif
  65. #if (Fcco / Fcclk) == 4
  66.     PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
  67. #endif
  68. #if (Fcco / Fcclk) == 8
  69.     PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
  70. #endif
  71. #if (Fcco / Fcclk) == 16
  72.     PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
  73. #endif
  74.     PLLFEED = 0xaa;                                                // 發(fā)送PLL饋送序列,執(zhí)行設(shè)定PLL的動(dòng)作
  75.     PLLFEED = 0x55;
  76.     while((PLLSTAT & (1 << 10)) == 0);         // 等待PLL鎖定
  77.     PLLCON = 3;                                                           // 設(shè)置激活并連接PLL
  78.     PLLFEED = 0xaa;                                                   // 發(fā)送PLL 饋送序列,執(zhí)行激活和連接動(dòng)作
  79.     PLLFEED = 0x55;
  80.    
  81. /* 設(shè)置存儲(chǔ)器加速模塊 */
  82.     MAMCR = 0;                                                        // 禁止MAM功能
  83. #if Fcclk < 20000000
  84.     MAMTIM = 1;                                                        // 系統(tǒng)時(shí)鐘低于20M,建議設(shè)置為1
  85. #else
  86. #if Fcclk < 40000000
  87.     MAMTIM = 2;                                                        // 系統(tǒng)時(shí)鐘在20M~40M之間,建議設(shè)置為2
  88. #else
  89.     MAMTIM = 3;                                                        // 系統(tǒng)時(shí)鐘高于40M,建議設(shè)置為3
  90. #endif
  91. #endif
  92.     MAMCR = 2;                                                        // 使能MAM功能
  93.       
  94. /* 初始化VIC */
  95.     VICIntEnClr = 0xffffffff;           // 清零所有中斷
  96.     VICVectAddr = 0;                                        // 默認(rèn)向量地址寄存器
  97.     VICIntSelect = 0;                                        // 0:對(duì)應(yīng)的中斷請(qǐng)求分配為IRQ,  1:對(duì)應(yīng)的中斷請(qǐng)求分配為FIQ。

  98.     /* 添加自己的代碼 */

  99. }

  100. /*******************************************************************************************
  101. ** 以下為一些與系統(tǒng)相關(guān)的庫(kù)函數(shù)的實(shí)現(xiàn),用戶(hù)可以根據(jù)自己的要求修改
  102. *******************************************************************************************/
  103. #include "rt_sys.h"

  104. // for printf and scanf fuctions
  105. int sendchar (int ch)  {                 /* Write character to Serial Port    */
  106.   while (!(U0LSR & 0x20));
  107.   return (U0THR = ch);
  108. }

  109. int getkey (void)  {                     // Read character from Serial Port
  110.   while (!(U0LSR & 0x01));
  111.   return (U0RBR);
  112. }

  113. int fputc(int ch,FILE *f)
  114. {
  115.   return (sendchar(ch));
  116. }

  117. int fgetc(FILE *f) {
  118.   return (sendchar(getkey()));
  119. ……………………

  120. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


(本文是轉(zhuǎn)載內(nèi)容,發(fā)現(xiàn)仿真工程打不開(kāi),求大家?guī)兔φ蚁略?:
添加注釋的和改管腳.rar (193.09 KB, 下載次數(shù): 97)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:672798 發(fā)表于 2020-6-23 11:09 來(lái)自手機(jī) | 只看該作者
仿真電路用不了,也不知道什么原因
回復(fù)

使用道具 舉報(bào)

板凳
ID:789272 發(fā)表于 2020-6-25 11:30 來(lái)自手機(jī) | 只看該作者
513514991 發(fā)表于 2020-6-23 11:09
仿真電路用不了,也不知道什么原因

壓縮包為什么不能下載
回復(fù)

使用道具 舉報(bào)

地板
ID:629982 發(fā)表于 2020-11-19 19:28 | 只看該作者
電路無(wú)法仿真
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品久久久久久久久久久久 | 国产精品国产精品国产专区不蜜 | 久久se精品一区精品二区 | 久久午夜视频 | 精品国产欧美一区二区 | 日韩久久久一区二区 | 欧美视频在线播放 | 久久久国产一区二区三区四区小说 | 婷婷久久精品一区二区 | 五月天天色 | 在线免费小视频 | 亚洲欧美一区二区三区国产精品 | 在线成人 | 欧美一级毛片久久99精品蜜桃 | 亚洲福利电影网 | 国产99精品 | 中文字幕一区二区三区四区五区 | 国产九九九 | 国产精品成人一区 | 国户精品久久久久久久久久久不卡 | 欧美一区二区久久 | 欧美在线观看一区 | 亚洲自拍一区在线观看 | 91最新在线视频 | 午夜av免费| 91国在线| 成人三级av | 97人澡人人添人人爽欧美 | www.日本三级 | 精品亚洲一区二区三区 | 久久不射电影网 | 国产一区2区 | 亚洲国产精品成人 | 色接久久 | 午夜性视频 | 日韩一区二区在线观看视频 | 拍拍无遮挡人做人爱视频免费观看 | 国产精品污www一区二区三区 | 亚洲精品一区二区三区四区高清 | 亚洲在线| 久久久久国色av免费观看性色 |